*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--bg-2: #111111;--bg-3: #161616;--text: #e8e8e8;--text-muted: #777777;--accent: #ffffff;--accent-hover: #e0e0e0;--border: #222222;--font-heading: "Inter", sans-serif;--font-body: "Inter", sans-serif}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}#root{display:flex;flex-direction:column;min-height:100vh}.eyebrow{font-family:var(--font-body);font-size:.65rem;font-weight:300;letter-spacing:.3em;color:var(--text-muted);text-transform:uppercase;margin-bottom:12px;display:block}.section-heading{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fff;line-height:1}.btn-outline{display:inline-block;padding:14px 32px;border:1px solid rgba(255,255,255,.5);color:#fff;font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,color .2s,background .2s}.btn-outline:hover{border-color:#fff;color:#fff}.btn-outline--white{border-color:#ffffff80;color:#fff}.btn-outline--white:hover{border-color:#fff;background:#ffffff0d}.btn-filled{display:inline-block;padding:14px 32px;background:#fff;color:#0a0a0a;font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}.btn-filled:hover{background:#e0e0e0;color:#0a0a0a}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:transparent;transition:background-color .3s ease,border-color .3s ease;border-bottom:1px solid transparent}.navbar--scrolled{background-color:#080808f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:#1c1c1c}.navbar__inner{max-width:1200px;margin:0 auto;padding:0 40px;height:64px;display:flex;align-items:center;gap:0}.navbar__logo{display:flex;flex-direction:row;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;margin-right:48px}.navbar__logo-icon{height:24px;width:auto;display:block}.navbar__logo-text{display:flex;flex-direction:column}.navbar__logo-top{font-family:Inter,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.12em;color:#fff;text-transform:uppercase;line-height:1.1}.navbar__logo-bottom{font-family:Inter,sans-serif;font-size:.6rem;font-weight:300;letter-spacing:.4em;color:#777;text-transform:uppercase;line-height:1.1}.navbar__links{display:flex;list-style:none;gap:2rem;align-items:center;flex:1;justify-content:flex-end;margin:0;padding:0;margin-right:2rem}.navbar__link{font-family:Inter,sans-serif;color:#999;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:color .2s}.navbar__link:hover,.navbar__link--active{color:#fff}.navbar__book{flex-shrink:0;position:relative;display:inline-block;padding:9px 22px;border:1px solid rgba(255,255,255,.5);color:#fff;font-family:Inter,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:background .2s,border-color .2s}.navbar__book:hover{background:#ffffff12;border-color:#fff;color:#fff}.navbar__book-corner{position:absolute;width:8px;height:8px}.navbar__book-corner--tl{top:-3px;left:-3px;border-top:2px solid #ffffff;border-left:2px solid #ffffff}.navbar__book-corner--br{bottom:-3px;right:-3px;border-bottom:2px solid #ffffff;border-right:2px solid #ffffff}.navbar__hamburger{display:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:none;border:none;padding:4px;margin-left:20px;cursor:pointer;-webkit-tap-highlight-color:transparent}.navbar__hamburger span{display:block;height:2px;width:100%;background-color:#fff;border-radius:1px;transition:transform .2s,opacity .2s}.navbar__hamburger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar__hamburger--open span:nth-child(2){opacity:0}.navbar__hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:900px){.navbar{background-color:#080808f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.navbar__inner{padding:0 24px}.navbar__hamburger{display:flex}.navbar__book{display:none}.navbar__logo{margin-right:auto}.navbar__links{display:none;position:absolute;top:64px;left:0;right:0;background-color:#080808fa;flex-direction:column;gap:0;border-bottom:1px solid #1c1c1c}.navbar__links--open{display:flex}.navbar__links li{width:100%}.navbar__link{display:block;padding:1rem 24px;border-top:1px solid #1c1c1c}}.footer{background-color:#080808;border-top:1px solid #141414;margin-top:auto}.footer__inner{max-width:1200px;margin:0 auto;padding:72px 40px 56px;display:grid;grid-template-columns:1.8fr 1fr 1fr 1.4fr;gap:48px;align-items:start}.footer__brand{display:flex;flex-direction:column;gap:16px}.footer__logo-link{display:inline-flex;align-items:center;text-decoration:none;margin-bottom:4px}.footer__logo-img{height:40px;width:auto;display:block}.footer__tagline{font-family:Inter,sans-serif;font-size:.82rem;color:#444;line-height:1.75;max-width:260px}.footer__col{display:flex;flex-direction:column;gap:4px}.footer__heading{font-family:Inter,sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#555;margin-bottom:14px}.footer__link{display:block;font-family:Inter,sans-serif;color:#666;font-size:.875rem;text-decoration:none;transition:color .2s;line-height:2}.footer__link:hover{color:#fff}.footer__social-link{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;color:#666;font-size:.875rem;text-decoration:none;transition:color .2s;line-height:2}.footer__social-link:hover{color:#fff}.footer__address{font-family:Inter,sans-serif;font-size:.875rem;color:#555;line-height:1.7;margin-top:8px;margin-bottom:20px}.footer__book-btn{display:inline-block;padding:10px 24px;border:1px solid rgba(255,255,255,.35);color:#fff;font-family:Inter,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,background .2s;align-self:flex-start;text-align:center;width:100%}.footer__book-btn:hover{border-color:#fff;background:#ffffff0a;color:#fff}.footer__bottom{border-top:1px solid #141414;padding:20px 40px;display:flex;align-items:flex-end;justify-content:space-between;max-width:100%}.footer__bottom-left{display:flex;flex-direction:column;gap:4px}.footer__bottom-left p,.footer__bottom-right{font-family:Inter,sans-serif;font-size:.6rem;color:#333;letter-spacing:.08em;text-transform:uppercase}.footer__bottom-link{color:#555;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.footer__bottom-link:hover{color:#888}@media(max-width:1024px){.footer__inner{grid-template-columns:1fr 1fr;gap:40px;padding:60px 24px 40px}}@media(max-width:540px){.footer__inner{grid-template-columns:1fr}.footer__bottom{padding:20px 24px;flex-direction:column;align-items:flex-start;gap:8px}}.admin-sidebar{position:fixed;top:0;left:0;width:220px;height:100vh;background:#0d0d0d;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100}.admin-sidebar__logo{padding:1.5rem 1.25rem;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border)}.admin-sidebar__nav{display:flex;flex-direction:column;padding:1rem 0}.admin-sidebar__link{padding:.75rem 1.25rem;color:var(--text-muted);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:color .2s,background .2s}.admin-sidebar__link:hover{color:var(--text);background:#ffffff0a}.admin-sidebar__link--active{color:var(--accent);background:#c9a84c14}@media(max-width:768px){.admin-sidebar{position:relative;width:100%;height:100%}}.admin-header{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.875rem 2rem;background:#0d0d0d;border-bottom:1px solid var(--border)}.admin-header__username{font-size:.875rem;color:var(--text-muted)}.admin-header__logout{padding:.4rem 1rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:2px;transition:border-color .2s,color .2s}.admin-header__logout:hover{border-color:var(--accent);color:var(--accent)}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);color:var(--text-muted);gap:1rem}.admin-loading__spinner{display:block;width:36px;height:36px;border:3px solid var(--border);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-shell{display:flex;min-height:100vh;background:var(--bg)}.admin-main{flex:1;display:flex;flex-direction:column;margin-left:220px}.admin-content{flex:1;padding:2rem}.admin-hamburger{display:none;position:fixed;top:16px;left:16px;z-index:1100;width:36px;height:36px;background:#111;border:1px solid #333333;border-radius:4px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;cursor:pointer}.admin-hamburger span{display:block;width:100%;height:2px;background:#fff;border-radius:1px}.admin-sidebar-wrap{position:fixed;top:0;left:0;bottom:0;width:220px;z-index:1050}.admin-sidebar-overlay{display:none}@media(max-width:768px){.admin-hamburger{display:flex}.admin-main{margin-left:0;padding-top:56px}.admin-sidebar-wrap{transform:translate(-100%);transition:transform .25s ease}.admin-sidebar-wrap--open{transform:translate(0)}.admin-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1040}.admin-content{padding:1rem}}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding-top:64px}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(https://images.unsplash.com/photo-1556103255-4443dbae8e5a?w=1920&q=90);background-size:cover;background-position:center top;z-index:0}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#050505c7;z-index:1}.hero__corner{position:absolute;z-index:2;width:28px;height:28px}.hero__corner--tl{top:80px;left:24px;border-top:1.5px solid rgba(255,255,255,.35);border-left:1.5px solid rgba(255,255,255,.35)}.hero__corner--tr{top:80px;right:24px;border-top:1.5px solid rgba(255,255,255,.35);border-right:1.5px solid rgba(255,255,255,.35)}.hero__corner--bl{bottom:60px;left:24px;border-bottom:1.5px solid rgba(255,255,255,.35);border-left:1.5px solid rgba(255,255,255,.35)}.hero__corner--br{bottom:60px;right:24px;border-bottom:1.5px solid rgba(255,255,255,.35);border-right:1.5px solid rgba(255,255,255,.35)}.hero__content{position:relative;z-index:2;text-align:center;padding:0 40px;max-width:900px;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.hero__eyebrow{font-family:Inter,sans-serif;font-size:.7rem;font-weight:300;letter-spacing:.3em;color:#ffffff8c;text-transform:uppercase;margin-bottom:28px}.hero__headline{font-family:Inter,sans-serif;font-size:clamp(2.8rem,7vw,7rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fff;line-height:1.05;margin-bottom:32px}.hero__subheadline{font-family:Inter,sans-serif;font-size:clamp(.85rem,1.6vw,1.05rem);font-weight:300;color:#ffffffa6;line-height:1.7;margin-bottom:40px;max-width:520px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:56px}.hero__btn{display:inline-block;padding:14px 36px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:all .2s}.hero__btn--filled{background:#fff;color:#0a0a0a;border:1px solid #ffffff}.hero__btn--filled:hover{background:transparent;color:#fff}.hero__btn--outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.hero__btn--outline:hover{border-color:#fff}.hero__reel{display:flex;flex-direction:column;align-items:center;gap:10px}.hero__reel-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:transparent;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.hero__reel-btn:hover{border-color:#fff;background:#ffffff14}.hero__reel-label{font-family:Inter,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.25em;color:#ffffff73;text-transform:uppercase}.hero__scroll{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px}.hero__scroll-arrow{font-size:.8rem;color:#ffffff59;animation:bounce 2s infinite}.hero__scroll-label{font-family:Inter,sans-serif;font-size:.55rem;font-weight:600;letter-spacing:.3em;color:#ffffff4d;text-transform:uppercase}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media(max-width:600px){.hero__headline{font-size:2.2rem}.hero__content{padding:0 20px}.hero__corner--tl,.hero__corner--tr{top:72px}.hero__actions{flex-direction:column;width:100%;padding:0 20px}.hero__btn{width:100%;text-align:center}}.content-shift{background:#0a0a0a;padding:120px 40px;border-top:1px solid #1a1a1a}.content-shift__inner{max-width:1100px;margin:0 auto}.content-shift__top{margin-bottom:80px}.content-shift__left{max-width:680px}.content-shift__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:300;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:20px}.content-shift__heading{font-family:Inter,sans-serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;text-transform:uppercase;color:#fff;line-height:1;margin-bottom:28px}.content-shift__heading--muted{color:#444}.content-shift__body{font-family:Inter,sans-serif;font-size:1rem;font-weight:300;color:#888;line-height:1.8;max-width:580px}.content-shift__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#1a1a1a;margin-bottom:80px}.content-shift__stat{background:#0a0a0a;padding:40px 32px;display:flex;flex-direction:column;gap:10px}.content-shift__stat-value{font-family:Inter,sans-serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:600;color:#fff;line-height:1}.content-shift__stat-desc{font-family:Inter,sans-serif;font-size:.85rem;font-weight:300;color:#888;line-height:1.5;flex:1}.content-shift__stat-source{font-family:Inter,sans-serif;font-size:.6rem;font-weight:300;letter-spacing:.2em;color:#444;text-transform:uppercase}.content-shift__pillars{display:grid;grid-template-columns:1fr 1fr;gap:60px}.content-shift__pillar-title{font-family:Inter,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:16px}.content-shift__pillar-body{font-family:Inter,sans-serif;font-size:.9rem;font-weight:300;color:#666;line-height:1.8}@media(max-width:900px){.content-shift__stats{grid-template-columns:repeat(2,1fr)}.content-shift__pillars{grid-template-columns:1fr;gap:40px}}@media(max-width:540px){.content-shift{padding:80px 24px}.content-shift__stats{grid-template-columns:1fr 1fr}}.services{background:#0d0d0d;padding:100px 40px}.services__inner{max-width:1200px;margin:0 auto}.services__header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px;flex-wrap:wrap;gap:16px}.services__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:300;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:8px}.services__heading{font-family:Inter,sans-serif;font-size:clamp(3rem,7vw,5rem);font-weight:600;color:#fff;text-transform:uppercase;line-height:1}.services__view-all{font-family:Inter,sans-serif;font-size:.8rem;color:#888;text-decoration:none;letter-spacing:.05em;transition:color .2s;white-space:nowrap;padding-bottom:4px}.services__view-all:hover{color:#fff}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#1a1a1a}.services__card{background:#0d0d0d;display:flex;flex-direction:column;text-decoration:none;overflow:hidden;transition:background .25s}.services__card:hover{background:#111}.services__card-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}.services__card-img{width:100%;height:100%;object-fit:cover;filter:brightness(.6) grayscale(.3);transition:transform .5s ease,filter .3s}.services__card:hover .services__card-img{transform:scale(1.04);filter:brightness(.7) grayscale(.1)}.services__card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.6) 100%)}.services__card-num{position:absolute;top:16px;right:16px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;color:#ffffff80}.services__card-body{padding:28px 28px 32px;display:flex;flex-direction:column;gap:8px;flex:1}.services__card-tag{font-family:Inter,sans-serif;font-size:.6rem;font-weight:300;letter-spacing:.2em;color:#666;text-transform:uppercase}.services__card-title{font-family:Inter,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.03em}.services__card-desc{font-family:Inter,sans-serif;font-size:.85rem;font-weight:300;color:#777;line-height:1.7;flex:1}.services__card-link{font-family:Inter,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.18em;color:#888;text-transform:uppercase;margin-top:8px;transition:color .2s}.services__card:hover .services__card-link{color:#fff}@media(max-width:900px){.services__grid{grid-template-columns:1fr}.services{padding:60px 24px}}.work-gallery{background:#0d0d0d;padding:100px 40px;border-top:1px solid #1a1a1a}.work-gallery__inner{max-width:1200px;margin:0 auto}.work-gallery__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:300;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:12px}.work-gallery__heading{font-family:Inter,sans-serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;color:#fff;text-transform:uppercase;margin-bottom:56px;line-height:1}.work-gallery__group{margin-bottom:48px}.work-gallery__group-label{display:flex;align-items:center;gap:16px;margin-bottom:20px}.work-gallery__group-line{display:block;width:24px;height:1px;background:#444}.work-gallery__group-name{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.25em;color:#555;text-transform:uppercase}.work-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.video-card__thumb-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#1a1a1a;cursor:pointer}.video-card__thumb{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.video-card__thumb-wrap:hover .video-card__thumb{transform:scale(1.04)}.video-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 50%,transparent 100%)}.video-card__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.video-card__thumb-wrap:hover .video-card__play{opacity:1}.video-card__meta{position:absolute;bottom:0;left:0;right:0;padding:16px}.video-card__tag{font-family:Inter,sans-serif;font-size:.55rem;font-weight:600;letter-spacing:.18em;color:#ffffff8c;text-transform:uppercase;display:block;margin-bottom:4px}.video-card__title{font-family:Inter,sans-serif;font-size:.95rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.video-card__client{font-family:Inter,sans-serif;font-size:.7rem;color:#ffffff80}@media(max-width:768px){.work-gallery__grid{grid-template-columns:1fr}.work-gallery{padding:60px 24px}}.testimonials{background:#0a0a0a;padding:100px 40px;border-top:1px solid #1a1a1a}.testimonials__inner{max-width:1200px;margin:0 auto}.testimonials__top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:48px;flex-wrap:wrap;gap:20px}.testimonials__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:10px}.testimonials__heading{font-family:Inter,sans-serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:600;color:#fff;text-transform:uppercase;line-height:1}.testimonials__google-btn{display:inline-flex;align-items:center;padding:10px 18px;border:1px solid #2a2a2a;color:#aaa;font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,color .2s;white-space:nowrap;margin-top:8px}.testimonials__google-btn:hover{border-color:#555;color:#fff}.testimonials__rating{display:flex;align-items:center;gap:20px;margin-bottom:56px;padding-bottom:40px;border-bottom:1px solid #1a1a1a}.testimonials__rating-score{font-family:Inter,sans-serif;font-size:5rem;font-weight:600;color:#fff;line-height:1}.testimonials__stars{color:#fff;font-size:1rem;letter-spacing:2px;margin-bottom:4px}.testimonials__stars--sm{font-size:.75rem;letter-spacing:1px;margin-bottom:12px}.testimonials__rating-label{font-family:Inter,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.2em;color:#555;text-transform:uppercase}.testimonials__grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#1a1a1a}.testimonials__card{background:#0a0a0a;padding:36px 32px;display:flex;flex-direction:column;gap:0;border-bottom:1px solid #1a1a1a}.testimonials__quote{font-family:Inter,sans-serif;font-size:.9rem;color:#ccc;line-height:1.75;flex:1;margin-bottom:24px}.testimonials__author{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid #1c1c1c}.testimonials__avatar{width:36px;height:36px;background:#222;color:#888;font-family:Inter,sans-serif;font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.testimonials__author-info{display:flex;flex-direction:column;gap:3px}.testimonials__name{font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:#fff}.testimonials__role{font-family:Inter,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.12em;color:#555;text-transform:uppercase}@media(max-width:768px){.testimonials__grid{grid-template-columns:1fr}.testimonials{padding:60px 24px}.testimonials__rating-score{font-size:3.5rem}}.philosophy{background:#0a0a0a;padding:120px 40px;border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a}.philosophy__inner{max-width:800px;margin:0 auto}.philosophy__label{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:32px}.philosophy__quote{font-family:Inter,sans-serif;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:300;color:#fff;line-height:1.4;letter-spacing:.01em;font-style:italic;margin-bottom:32px;border:none;padding:0}.philosophy__attribution{display:flex;flex-direction:column;gap:4px;margin-bottom:40px}.philosophy__name{font-family:Inter,sans-serif;font-size:.7rem;font-weight:700;color:#888;letter-spacing:.15em;text-transform:uppercase}.philosophy__company{font-family:Inter,sans-serif;font-size:.65rem;color:#444;letter-spacing:.2em;text-transform:uppercase}.philosophy__body{font-family:Inter,sans-serif;font-size:1rem;color:#666;line-height:1.8;margin-bottom:40px}.philosophy__cta{display:inline-block;padding:14px 36px;background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;font-family:Inter,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,background .2s}.philosophy__cta:hover{border-color:#fff;background:#ffffff0d}@media(max-width:540px){.philosophy{padding:80px 24px}}.studio-preview{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:#0d0d0d}.studio-preview__image-col{overflow:hidden}.studio-preview__img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.85);transition:transform .6s ease}.studio-preview__image-col:hover .studio-preview__img{transform:scale(1.03)}.studio-preview__content-col{padding:80px 60px;display:flex;flex-direction:column;justify-content:center}.studio-preview__eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:16px}.studio-preview__heading{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:#fff;text-transform:uppercase;line-height:1.05;margin-bottom:24px}.studio-preview__desc{font-size:1rem;color:#888;line-height:1.8;margin-bottom:40px;max-width:440px}.studio-preview__features{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}.studio-preview__feature{display:flex;align-items:center;gap:16px}.studio-preview__feature-value{font-size:1rem;font-weight:700;color:#fff;min-width:100px}.studio-preview__feature-label{font-size:.85rem;color:#666}.studio-preview__cta{display:inline-block;padding:14px 36px;background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;align-self:flex-start;transition:background .25s,border-color .25s}.studio-preview__cta:hover{background:#ffffff14;border-color:#fff}@media(max-width:900px){.studio-preview{grid-template-columns:1fr}.studio-preview__image-col{height:300px}.studio-preview__content-col{padding:60px 24px}}.blog-teaser{background:#0a0a0a;padding:100px 40px}.blog-teaser__inner{max-width:1200px;margin:0 auto}.blog-teaser__eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:12px}.blog-teaser__header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:48px}.blog-teaser__heading{font-size:clamp(1.8rem,4vw,3rem);font-weight:900;color:#fff;text-transform:uppercase}.blog-teaser__badge{font-size:.65rem;font-weight:700;letter-spacing:.2em;color:#555;text-transform:uppercase;border:1px solid #333333;padding:6px 12px}.blog-teaser__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#1a1a1a}.blog-teaser__card{background:#0a0a0a;padding:40px 32px;display:flex;flex-direction:column;gap:12px}.blog-teaser__tag{font-size:.6rem;font-weight:700;letter-spacing:.2em;color:#555;text-transform:uppercase}.blog-teaser__title{font-size:1rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.02em;line-height:1.3}.blog-teaser__desc{font-size:.875rem;color:#666;line-height:1.7;flex:1}.blog-teaser__coming{font-size:.65rem;font-weight:700;letter-spacing:.2em;color:#444;text-transform:uppercase;margin-top:8px}@media(max-width:900px){.blog-teaser__grid{grid-template-columns:1fr}}@media(max-width:540px){.blog-teaser{padding:60px 24px}}.services-hero{background:#0a0a0a;padding:120px 40px 80px;border-bottom:1px solid #1a1a1a}.services-hero__inner{max-width:1200px;margin:0 auto}.services-hero__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:16px;display:block}.services-hero__heading{font-family:Inter,sans-serif;font-size:clamp(4rem,12vw,8rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fff;line-height:.95;margin-bottom:32px}.services-hero__subtitle{font-family:Inter,sans-serif;font-size:1rem;color:#888;line-height:1.8;max-width:600px}@media(max-width:600px){.services-hero{padding:100px 24px 60px}}.services-list{background:#0a0a0a}.service-block{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border-bottom:1px solid #1a1a1a}.service-block--reverse{direction:rtl}.service-block--reverse>*{direction:ltr}.service-block__image-col{overflow:hidden;background:#111}.service-block__image-wrap{position:relative;width:100%;height:100%}.service-block__image{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.75);transition:transform .6s ease}.service-block:hover .service-block__image{transform:scale(1.03)}.service-block__num{position:absolute;top:24px;left:24px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;color:#ffffff80}.service-block--reverse .service-block__num{left:auto;right:24px}.service-block__content-col{padding:64px 60px;display:flex;flex-direction:column;justify-content:center;background:#0a0a0a}.service-block__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:16px}.service-block__title{font-family:Inter,sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.03em;line-height:1.05;margin-bottom:20px}.service-block__desc{font-family:Inter,sans-serif;font-size:.9rem;color:#888;line-height:1.8;margin-bottom:28px}.service-block__bullets{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-bottom:36px}.service-block__bullet{font-family:Inter,sans-serif;font-size:.8rem;color:#777;display:flex;align-items:flex-start;gap:8px;line-height:1.5}.service-block__bullet-dot{color:#444;flex-shrink:0}.service-block__cta{display:inline-block;padding:14px 32px;border:1px solid rgba(255,255,255,.4);color:#fff;font-family:Inter,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;align-self:flex-start;transition:border-color .2s,background .2s}.service-block__cta:hover{border-color:#fff;background:#ffffff0d}@media(max-width:900px){.service-block{grid-template-columns:1fr;direction:ltr}.service-block--reverse{direction:ltr}.service-block__image-col{height:300px}.service-block__content-col{padding:48px 24px}.service-block__bullets{grid-template-columns:1fr}.service-block--reverse .service-block__num{left:24px;right:auto}}.services-cta{background:#111;padding:100px 40px;text-align:center;border-top:1px solid #1a1a1a}.services-cta__inner{max-width:800px;margin:0 auto}.services-cta__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:20px;display:block}.services-cta__heading{font-family:Inter,sans-serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fff;line-height:1;margin-bottom:48px}.services-cta__btn{display:inline-block;padding:16px 40px;border:1px solid rgba(255,255,255,.5);color:#fff;font-family:Inter,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,background .2s}.services-cta__btn:hover{border-color:#fff;background:#ffffff0d}@media(max-width:600px){.services-cta{padding:60px 24px}}.studio-hero{position:relative;min-height:60vh;display:flex;align-items:center;overflow:hidden}.studio-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(https://images.unsplash.com/photo-1471341971476-ae15ff5dd4ea?w=1920&q=80);background-size:cover;background-position:center;z-index:0}.studio-hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#050505d1;z-index:1}.studio-hero__inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:120px 40px 80px;width:100%}.studio-hero__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:16px;display:block}.studio-hero__heading{font-family:Inter,sans-serif;font-size:clamp(4rem,12vw,8rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fff;line-height:.95;margin-bottom:28px}.studio-hero__subtitle{font-family:Inter,sans-serif;font-size:1rem;color:#888;line-height:1.8;max-width:560px;margin-bottom:20px}.studio-hero__pricing{font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;color:#fff;letter-spacing:.1em}.studio-body{background:#0a0a0a;padding:80px 40px;border-top:1px solid #1a1a1a}.studio-body__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.studio-body__gallery{display:flex;flex-direction:column;gap:8px}.studio-body__main-photo{overflow:hidden;width:100%;position:relative;cursor:pointer;background:none;border:none;padding:0;display:block}.studio-body__main-photo img{width:100%;height:360px;object-fit:cover;object-position:center;display:block;transition:transform .4s ease}.studio-body__main-photo:hover img{transform:scale(1.03)}.studio-body__photo-hint{position:absolute;bottom:12px;right:12px;background:#0009;color:#fff;font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;display:flex;align-items:center;gap:6px;opacity:0;transition:opacity .2s}.studio-body__main-photo:hover .studio-body__photo-hint{opacity:1}.studio-body__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.studio-body__thumb{overflow:hidden;cursor:pointer;background:none;border:none;padding:0;position:relative}.studio-body__thumb img{width:100%;aspect-ratio:1;object-fit:cover;display:block;filter:brightness(.8);transition:filter .2s,transform .3s}.studio-body__thumb:hover img{filter:brightness(1);transform:scale(1.05)}.studio-body__right{display:flex;flex-direction:column;gap:48px}.studio-body__section-label{font-family:Inter,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:20px;display:block}.studio-body__features-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#1a1a1a}.studio-body__feature{background:#0a0a0a;padding:20px;display:flex;flex-direction:column;gap:4px}.studio-body__feature-title{font-family:Inter,sans-serif;font-size:1rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em}.studio-body__feature-sub{font-family:Inter,sans-serif;font-size:.75rem;color:#666}.studio-body__pricing-list{display:flex;flex-direction:column;gap:0;border-top:1px solid #1a1a1a}.studio-body__pricing-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #1a1a1a;gap:16px}.studio-body__pricing-info{display:flex;flex-direction:column;gap:2px}.studio-body__pricing-label{font-family:Inter,sans-serif;font-size:.85rem;color:#aaa}.studio-body__pricing-note{font-family:Inter,sans-serif;font-size:.7rem;color:#555}.studio-body__pricing-amount{font-family:Inter,sans-serif;font-size:1rem;font-weight:700;color:#fff;white-space:nowrap}.studio-booking{background:#111;padding:100px 40px;border-top:1px solid #1a1a1a;text-align:center}.studio-booking__inner{max-width:800px;margin:0 auto}.studio-booking__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:16px;display:block}.studio-booking__heading{font-family:Inter,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:20px}.studio-booking__subtitle{font-family:Inter,sans-serif;font-size:.95rem;color:#888;line-height:1.8;margin-bottom:56px}.studio-booking__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#1a1a1a;margin-bottom:48px;text-align:left}.studio-booking__step{background:#111;padding:28px 24px;display:flex;flex-direction:column;gap:12px}.studio-booking__step-num{font-family:Inter,sans-serif;font-size:1.5rem;font-weight:600;color:#333}.studio-booking__step-text{font-family:Inter,sans-serif;font-size:.8rem;color:#888;line-height:1.6}.studio-booking__btn{display:inline-block;padding:18px 48px;background:#fff;color:#0a0a0a;font-family:Inter,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}.studio-booking__btn:hover{background:#e0e0e0}@media(max-width:900px){.studio-body__inner{grid-template-columns:1fr;gap:40px}.studio-body,.studio-booking{padding:60px 24px}.studio-booking__steps{grid-template-columns:1fr 1fr}.studio-hero__inner{padding:100px 24px 60px}}@media(max-width:540px){.studio-booking__steps{grid-template-columns:1fr}.studio-body__thumbs{grid-template-columns:repeat(2,1fr)}}.studio-calendar-section{background:#0a0a0a;padding:80px 40px 100px;border-top:1px solid #1a1a1a}.studio-calendar-section__inner{max-width:1200px;margin:0 auto}@media(max-width:540px){.studio-calendar-section{padding:60px 24px 80px}}.studio-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000f2;display:flex;align-items:center;justify-content:center;padding:24px}.studio-lightbox__img-wrap{max-width:1000px;width:100%;display:flex;flex-direction:column;align-items:center;gap:16px}.studio-lightbox__img{max-width:100%;max-height:80vh;object-fit:contain;display:block}.studio-lightbox__caption{font-family:Inter,sans-serif;font-size:.75rem;color:#666;letter-spacing:.05em;text-align:center}.studio-lightbox__close{position:absolute;top:24px;right:24px;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s;z-index:2001}.studio-lightbox__close:hover{border-color:#fff}.studio-lightbox__prev,.studio-lightbox__next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;z-index:2001;line-height:1}.studio-lightbox__prev{left:24px}.studio-lightbox__next{right:24px}.studio-lightbox__prev:hover,.studio-lightbox__next:hover{border-color:#fff;background:#ffffff14}@media(max-width:600px){.studio-lightbox__prev{left:8px}.studio-lightbox__next{right:8px}}.booking-calendar{background:#111;border:1px solid #222;padding:24px;border-radius:4px}.booking-calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.booking-calendar__month-label{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e0e0e0}.booking-calendar__nav{background:transparent;border:1px solid #333;color:#fff;font-size:1.4rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:background .2s,border-color .2s}.booking-calendar__nav:hover{background:#1a1a1a;border-color:#fff}.booking-calendar__loading,.booking-calendar__error{text-align:center;font-size:.85rem;padding:8px 0;color:#888}.booking-calendar__error{color:#e05555}.booking-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.booking-calendar__day-label{text-align:center;font-size:.75rem;font-weight:600;letter-spacing:.08em;color:#666;text-transform:uppercase;padding:4px 0 8px}.booking-calendar__cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.9rem;border-radius:2px;border:1px solid transparent;background:transparent;color:#e0e0e0;transition:background .15s,border-color .15s,color .15s}.booking-calendar__cell--empty{background:transparent;border:none}.booking-calendar__cell--disabled{color:#333;cursor:not-allowed}.booking-calendar__cell--available{color:#e0e0e0;border-color:#2a2a2a}.booking-calendar__cell--available:hover{background:#1e1e1e;border-color:#fff;color:#fff}.booking-calendar__cell--selected{background:#fff!important;border-color:#fff!important;color:#0a0a0a!important;font-weight:700}.slot-picker{background:#111;border:1px solid #222;padding:24px;border-radius:4px}.slot-picker__heading{font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:20px}.slot-picker__empty{color:#666;font-size:.9rem}.slot-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.slot-picker__slot{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;border:1px solid #2a2a2a;border-radius:2px;background:transparent;color:#e0e0e0;font-size:.85rem;transition:background .15s,border-color .15s,color .15s;gap:4px}.slot-picker__slot--available:hover{background:#1e1e1e;border-color:#fff;color:#fff}.slot-picker__slot--selected{background:#fff;border-color:#fff;color:#0a0a0a;font-weight:700}.slot-picker__slot--booked{color:#444;border-color:#1a1a1a;cursor:not-allowed}.slot-picker__time{font-weight:600}.slot-picker__booked-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#555}.slot-picker__hint{font-family:Inter,sans-serif;font-size:.78rem;color:#666;margin-bottom:16px;line-height:1.5}.slot-picker__buffer-note,.slot-picker__min-note{font-family:Inter,sans-serif;font-size:.7rem;color:#555;margin-top:12px;line-height:1.5}.booking-summary{background:#111;border:1px solid #222;padding:24px;border-radius:4px;display:flex;flex-direction:column;gap:16px}.booking-summary__heading{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:4px}.booking-summary__row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid #1a1a1a}.booking-summary__row--total{border-bottom:none;padding-bottom:0}.booking-summary__label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#666}.booking-summary__value{font-size:.9rem;color:#e0e0e0;text-align:right}.booking-summary__total{font-size:1.3rem;font-weight:700;color:#fff}.booking-summary__error{font-size:.82rem;color:#e05555;letter-spacing:.02em}.booking-summary__cta{width:100%;padding:14px;background:#fff;border:none;color:#0a0a0a;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;transition:background .2s;margin-top:4px}.booking-summary__cta:hover:not(:disabled){background:#e0e0e0}.booking-summary__cta:disabled{background:#2a2a2a;color:#555;cursor:not-allowed}.booking-summary__divider{border:none;border-top:1px solid #222222;margin:12px 0}.booking-summary__row--note{margin-top:-4px}.booking-summary__note{font-family:Inter,sans-serif;font-size:.72rem;color:#888;font-style:italic}.booking-summary__buffer-note{font-family:Inter,sans-serif;font-size:.72rem;color:#666;margin-top:8px;line-height:1.5}.booking-summary__cancellation{font-family:Inter,sans-serif;font-size:.72rem;color:#666;line-height:1.6;margin-top:16px;padding-top:16px;border-top:1px solid #1a1a1a}.booking-summary__cancellation strong{color:#aaa}.booking-form{display:flex;flex-direction:column;gap:32px;max-width:640px;margin:0 auto}.booking-form__summary{background:#111;border:1px solid #222;padding:24px;border-radius:4px;display:flex;flex-direction:column;gap:14px}.booking-form__summary-heading{font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:4px}.booking-form__summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid #1a1a1a}.booking-form__summary-row--total{border-bottom:none;padding-bottom:0}.booking-form__summary-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#666}.booking-form__summary-value{font-size:.9rem;color:#e0e0e0;text-align:right}.booking-form__summary-total{font-size:1.3rem;font-weight:700;color:#fff}.booking-form__fields{background:#111;border:1px solid #222;padding:32px;border-radius:4px;display:flex;flex-direction:column;gap:20px}.booking-form__fields-heading{font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:4px}.booking-form__field{display:flex;flex-direction:column;gap:6px}.booking-form__label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#666}.booking-form__input{background:#0a0a0a;border:1px solid #2a2a2a;color:#e0e0e0;font-family:inherit;font-size:.95rem;padding:12px 16px;outline:none;transition:border-color .2s;border-radius:2px}.booking-form__input:focus{border-color:#fff}.booking-form__input--error{border-color:#e05555}.booking-form__error{font-size:.8rem;color:#e05555}.booking-form__api-error{font-size:.9rem;color:#e05555;text-align:center;padding:12px;background:#e0555514;border:1px solid rgba(224,85,85,.2);border-radius:2px}.booking-form__submit{margin-top:4px;padding:16px 32px;background:#fff;border:none;color:#0a0a0a;font-family:inherit;font-size:.85rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:background .2s,opacity .2s}.booking-form__submit:hover:not(:disabled){background:#e0e0e0}.booking-form__submit:disabled{opacity:.6;cursor:not-allowed}.booking-form__summary-divider{border:none;border-top:1px solid #222222;margin:8px 0}.booking-form__buffer-note{font-family:Inter,sans-serif;font-size:.7rem;color:#555;margin-top:12px;line-height:1.5}.booking-form__policy{background:#111;border:1px solid #222222;padding:16px;margin-top:8px}.booking-form__policy-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-family:Inter,sans-serif;font-size:.82rem;color:#888;line-height:1.6}.booking-form__policy-checkbox{flex-shrink:0;margin-top:3px;width:16px;height:16px;accent-color:#ffffff;cursor:pointer}.booking-form__policy-label strong{color:#ccc}.booking-system{padding:80px 24px;max-width:1100px;margin:0 auto}.booking-system .section-heading{margin-bottom:40px}.booking-system__back{background:transparent;border:none;color:#fff;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:24px;padding:0;display:inline-flex;align-items:center;gap:6px;transition:color .2s}.booking-system__back:hover{color:#e0e0e0}.booking-system__calendar-wrap{max-width:480px;margin:0 auto}.booking-system__slots-wrap{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}@media(max-width:768px){.booking-system__slots-wrap{grid-template-columns:1fr}}.booking-system__loading{text-align:center;padding:60px 24px;color:#888;font-size:.9rem;letter-spacing:.06em}.booking-system__header{margin-bottom:32px}.booking-system__title{font-family:Inter,sans-serif;font-size:1.8rem;font-weight:600;color:#fff;text-transform:uppercase;margin-bottom:20px}.booking-system__type-selector{display:flex;gap:8px;flex-wrap:wrap}.booking-system__type-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 20px;background:#111;border:1px solid #2a2a2a;color:#888;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s,background .2s;text-align:left}.booking-system__type-btn:hover{border-color:#555;color:#ccc}.booking-system__type-btn--active{border-color:#fff;color:#fff;background:#1a1a1a}.booking-system__type-price{font-size:.7rem;font-weight:400;color:#666;letter-spacing:.05em}.booking-system__type-btn--active .booking-system__type-price{color:#aaa}.instagram-feed{background:#080808;padding:80px 40px;border-top:1px solid #141414}.instagram-feed__inner{max-width:1200px;margin:0 auto}.instagram-feed__header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px}.instagram-feed__eyebrow{font-family:Inter,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:8px}.instagram-feed__heading{font-family:Inter,sans-serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.04em;line-height:1}.instagram-feed__follow-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border:1px solid rgba(255,255,255,.3);color:#fff;font-family:Inter,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,background .2s}.instagram-feed__follow-btn:hover{border-color:#fff;background:#ffffff0d;color:#fff}.instagram-feed__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.instagram-feed__post{position:relative;aspect-ratio:4/5;overflow:hidden;background:#111;display:block}.instagram-feed__img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .4s ease}.instagram-feed__post:hover .instagram-feed__img{transform:scale(1.05)}.instagram-feed__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:background .3s,opacity .3s}.instagram-feed__post:hover .instagram-feed__overlay{background:#00000073;opacity:1}@media(max-width:768px){.instagram-feed{padding:60px 24px}.instagram-feed__grid{grid-template-columns:repeat(2,1fr)}}.faq{background:#0a0a0a;padding:100px 40px;border-top:1px solid #1a1a1a}.faq__inner{max-width:800px;margin:0 auto}.faq__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:300;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:12px}.faq__heading{font-family:Inter,sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:48px}.faq__list{display:flex;flex-direction:column;gap:0;border-top:1px solid #1a1a1a}.faq__item{border-bottom:1px solid #1a1a1a}.faq__question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;background:none;border:none;cursor:pointer;text-align:left}.faq__question-text{font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;color:#fff;line-height:1.5}.faq__icon{font-family:Inter,sans-serif;font-size:1.4rem;font-weight:300;color:#555;flex-shrink:0;width:24px;text-align:center;transition:color .2s}.faq__item--open .faq__icon{color:#fff}.faq__answer{padding:0 0 24px}.faq__answer p{font-family:Inter,sans-serif;font-size:.9rem;font-weight:300;color:#888;line-height:1.8}@media(max-width:600px){.faq{padding:60px 24px}.faq__question-text{font-size:.85rem}}.work-hero{background:#0a0a0a;padding:120px 40px 80px;border-bottom:1px solid #1a1a1a}.work-hero__inner{max-width:1200px;margin:0 auto}.work-hero__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:16px;display:block}.work-hero__heading{font-family:Inter,sans-serif;font-size:clamp(4rem,12vw,8rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fff;line-height:.95;margin-bottom:32px}.work-hero__subtitle{font-family:Inter,sans-serif;font-size:1rem;color:#888;line-height:1.8;max-width:500px}@media(max-width:600px){.work-hero{padding:100px 24px 60px}}.portfolio-grid{background:#0a0a0a;padding:60px 40px 100px}.portfolio-grid__inner{max-width:1200px;margin:0 auto}.portfolio-grid__filters{display:flex;gap:8px;margin-bottom:56px}.portfolio-grid__filter{background:transparent;border:1px solid #333333;color:#666;font-family:Inter,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:8px 20px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.portfolio-grid__filter:hover{border-color:#666;color:#aaa}.portfolio-grid__filter--active{background:#fff;border-color:#fff;color:#0a0a0a}.portfolio-grid__group{margin-bottom:56px}.portfolio-grid__group-label{display:flex;align-items:center;gap:16px;margin-bottom:20px}.portfolio-grid__group-line{display:block;width:24px;height:1px;background:#444}.portfolio-grid__group-name{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.25em;color:#555;text-transform:uppercase}.portfolio-grid__row{display:grid;gap:4px}.portfolio-grid__row--3{grid-template-columns:repeat(3,1fr)}.portfolio-grid__row--4{grid-template-columns:repeat(4,1fr)}.pg-video-card__thumb-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#1a1a1a;cursor:pointer}.pg-video-card__thumb{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.pg-video-card__thumb-wrap:hover .pg-video-card__thumb{transform:scale(1.04)}.pg-video-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 50%,transparent 100%)}.pg-video-card__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.pg-video-card__thumb-wrap:hover .pg-video-card__play{opacity:1}.pg-video-card__meta{position:absolute;bottom:0;left:0;right:0;padding:12px}.pg-video-card__tag{font-family:Inter,sans-serif;font-size:.5rem;font-weight:600;letter-spacing:.18em;color:#ffffff80;text-transform:uppercase;display:block;margin-bottom:3px}.pg-video-card__title{font-family:Inter,sans-serif;font-size:.85rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.pg-video-card__client{font-family:Inter,sans-serif;font-size:.65rem;color:#ffffff73}.portfolio-grid__empty{padding:80px 0;text-align:center;color:#555;font-family:Inter,sans-serif;font-size:.9rem;letter-spacing:.1em}.photo-grid{margin-bottom:56px}.photo-grid__row--3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.photo-grid__item{overflow:hidden;background:#111;aspect-ratio:3/4}.photo-grid__img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .4s ease}.photo-grid__item:hover .photo-grid__img{transform:scale(1.03)}@media(max-width:768px){.photo-grid__row--3{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.photo-grid__row--3{grid-template-columns:1fr}}.portfolio-grid__cta{margin-top:80px;padding-top:80px;border-top:1px solid #1a1a1a;text-align:center}.portfolio-grid__cta-eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:20px}.portfolio-grid__cta-heading{font-family:Inter,sans-serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;color:#fff;text-transform:uppercase;line-height:1;margin-bottom:40px}.portfolio-grid__cta-btn{display:inline-block;padding:16px 40px;border:1px solid rgba(255,255,255,.5);color:#fff;font-family:Inter,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,background .2s}.portfolio-grid__cta-btn:hover{border-color:#fff;background:#ffffff0d}@media(max-width:900px){.portfolio-grid{padding:40px 24px 60px}.portfolio-grid__row--3,.portfolio-grid__row--4{grid-template-columns:1fr 1fr}}@media(max-width:540px){.portfolio-grid__row--3,.portfolio-grid__row--4{grid-template-columns:1fr}}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000f2;display:flex;align-items:center;justify-content:center;padding:24px}.photo-lightbox__img{max-width:90%;max-height:85vh;object-fit:contain;display:block}.photo-lightbox__close{position:absolute;top:24px;right:24px;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2001}.photo-lightbox__close:hover{border-color:#fff}.photo-lightbox__prev,.photo-lightbox__next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2001;line-height:1}.photo-lightbox__prev{left:24px}.photo-lightbox__next{right:24px}.photo-lightbox__prev:hover,.photo-lightbox__next:hover{border-color:#fff;background:#ffffff14}.photo-lightbox__counter{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-family:Inter,sans-serif;font-size:.75rem;color:#666;letter-spacing:.1em}.contact-hero{background:#0a0a0a;padding:120px 40px 80px;border-bottom:1px solid #1a1a1a}.contact-hero__inner{max-width:1200px;margin:0 auto}.contact-hero__eyebrow{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:16px;display:block}.contact-hero__heading{font-family:Inter,sans-serif;font-size:clamp(4rem,12vw,8rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fff;line-height:.95;margin-bottom:28px}.contact-hero__subtitle{font-family:Inter,sans-serif;font-size:1rem;color:#888;line-height:1.8;max-width:560px}.contact-body{background:#0a0a0a;padding:80px 40px 100px}.contact-body__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-info-section{margin-bottom:56px}.contact-info-section__label{font-family:Inter,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:24px;display:block}.contact-info-section__items{display:flex;flex-direction:column;gap:0;border-top:1px solid #1a1a1a}.contact-info-item{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid #1a1a1a}.contact-info-item__icon{font-size:1rem;color:#444;flex-shrink:0;margin-top:2px}.contact-info-item__label{display:block;font-family:Inter,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.2em;color:#555;text-transform:uppercase;margin-bottom:4px}.contact-info-item__value{font-family:Inter,sans-serif;font-size:.9rem;color:#aaa;text-decoration:none;transition:color .2s}a.contact-info-item__value:hover{color:#fff}.contact-timeline__label{font-family:Inter,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:24px;display:block}.contact-timeline__items{display:flex;flex-direction:column;gap:0;border-top:1px solid #1a1a1a}.contact-timeline__item{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #1a1a1a}.contact-timeline__time{font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;color:#fff;min-width:48px}.contact-timeline__text{font-family:Inter,sans-serif;font-size:.85rem;color:#777}.contact-body__right{display:flex;flex-direction:column}.contact-right__label{font-family:Inter,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.3em;color:#555;text-transform:uppercase;margin-bottom:20px;display:block}.contact-right__heading{font-family:Inter,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.02em;line-height:1;margin-bottom:20px}.contact-right__text{font-family:Inter,sans-serif;font-size:.95rem;color:#888;line-height:1.8;margin-bottom:40px}.contact-right__email-btn{display:inline-block;padding:18px 40px;background:#fff;color:#0a0a0a;font-family:Inter,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;align-self:flex-start;transition:background .2s;margin-bottom:12px}.contact-right__email-btn:hover{background:#e0e0e0}.contact-right__email-sub{font-family:Inter,sans-serif;font-size:.75rem;color:#555;margin-bottom:48px}.contact-right__response{border-top:1px solid #1a1a1a;padding-top:28px}.contact-right__response-label{font-family:Inter,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.25em;color:#555;text-transform:uppercase;margin-bottom:8px}.contact-right__response-text{font-family:Inter,sans-serif;font-size:.9rem;color:#888}@media(max-width:900px){.contact-body__inner{grid-template-columns:1fr;gap:48px}.contact-body{padding:60px 24px 80px}.contact-hero{padding:100px 24px 60px}}.contact-form{display:flex;flex-direction:column;gap:20px;margin-top:32px}.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form__field{display:flex;flex-direction:column;gap:6px}.contact-form__label{font-family:Inter,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.2em;color:#555;text-transform:uppercase}.contact-form__input,.contact-form__select,.contact-form__textarea{background:#111;border:1px solid #222222;color:#e0e0e0;font-family:Inter,sans-serif;font-size:.9rem;padding:12px 16px;outline:none;transition:border-color .2s;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus{border-color:#555}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:#444}.contact-form__input--error{border-color:#c44!important}.contact-form__select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.contact-form__select option{background:#111;color:#e0e0e0}.contact-form__textarea{resize:vertical;min-height:120px;line-height:1.6}.contact-form__error{font-family:Inter,sans-serif;font-size:.72rem;color:#c44}.contact-form__api-error{font-family:Inter,sans-serif;font-size:.85rem;color:#c44;line-height:1.5}.contact-form__submit{background:#fff;color:#0a0a0a;border:none;padding:16px 40px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;align-self:flex-start;transition:background .2s;margin-top:8px}.contact-form__submit:hover:not(:disabled){background:#e0e0e0}.contact-form__submit:disabled{opacity:.6;cursor:not-allowed}.contact-form__success{padding:60px 0}.contact-form__success-heading{font-family:Inter,sans-serif;font-size:2.5rem;font-weight:600;color:#fff;text-transform:uppercase;margin-bottom:20px}.contact-form__success-text{font-family:Inter,sans-serif;font-size:1rem;color:#888;line-height:1.8;max-width:440px}@media(max-width:600px){.contact-form__row{grid-template-columns:1fr}.contact-form__submit{width:100%;text-align:center}}.booking-success{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:60px 24px;background:#0a0a0a}.booking-success__card{max-width:520px;width:100%;background:#111;border:1px solid #222;padding:48px 40px;border-radius:4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.booking-success__icon{width:64px;height:64px;border-radius:50%;background:#ffffff14;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;line-height:1}.booking-success__heading{font-size:2rem;font-weight:700;letter-spacing:.04em;color:#fff;margin:0}.booking-success__reference{font-size:.9rem;color:#888;letter-spacing:.04em;margin:0}.booking-success__ref-value{color:#e0e0e0;font-weight:600;letter-spacing:.08em}.booking-success__message{font-size:1rem;color:#aaa;line-height:1.6;margin:0}.booking-success__actions{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:8px}.booking-success__link{display:block;padding:14px 24px;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s,color .2s}.booking-success__link--primary{background:#fff;color:#0a0a0a}.booking-success__link--primary:hover{background:#e0e0e0}.booking-success__link--secondary{background:transparent;color:#888;border:1px solid #2a2a2a}.booking-success__link--secondary:hover{color:#e0e0e0;border-color:#444}.booking-cancel{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:60px 24px;background:#0a0a0a}.booking-cancel__card{max-width:480px;width:100%;background:#111;border:1px solid #222;padding:48px 40px;border-radius:4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.booking-cancel__icon{width:64px;height:64px;border-radius:50%;background:#e0555514;border:2px solid #e05555;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#e05555;line-height:1}.booking-cancel__heading{font-size:1.8rem;font-weight:700;letter-spacing:.04em;color:#e0e0e0;margin:0}.booking-cancel__message{font-size:1rem;color:#888;line-height:1.6;margin:0}.booking-cancel__actions{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:8px}.booking-cancel__link{display:block;padding:14px 24px;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s,color .2s}.booking-cancel__link--primary{background:#fff;color:#0a0a0a}.booking-cancel__link--primary:hover{background:#e0e0e0}.booking-cancel__link--secondary{background:transparent;color:#888;border:1px solid #2a2a2a}.booking-cancel__link--secondary:hover{color:#e0e0e0;border-color:#444}.cancel-booking{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:60px 24px;background:#0a0a0a}.cancel-booking__card{max-width:520px;width:100%;background:#111;border:1px solid #222;padding:48px 40px;border-radius:4px}.cancel-booking__heading{font-size:1.6rem;font-weight:700;letter-spacing:.04em;color:#e0e0e0;margin:0 0 12px}.cancel-booking__intro{font-size:.95rem;color:#888;line-height:1.6;margin:0 0 32px}.cancel-booking__form{display:flex;flex-direction:column;gap:20px}.cancel-booking__field{display:flex;flex-direction:column;gap:6px}.cancel-booking__label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#666}.cancel-booking__input{background:#0a0a0a;border:1px solid #2a2a2a;color:#e0e0e0;font-family:inherit;font-size:.95rem;padding:12px 16px;outline:none;transition:border-color .2s;border-radius:2px}.cancel-booking__input:focus{border-color:#fff}.cancel-booking__input--error{border-color:#e05555}.cancel-booking__error{font-size:.8rem;color:#e05555}.cancel-booking__api-error{font-size:.9rem;color:#e05555;text-align:center;padding:12px;background:#e0555514;border:1px solid rgba(224,85,85,.2);border-radius:2px;margin:0}.cancel-booking__submit{padding:14px 32px;background:#e05555;border:none;color:#fff;font-family:inherit;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:background .2s,opacity .2s;margin-top:4px}.cancel-booking__submit:hover:not(:disabled){background:#f06666}.cancel-booking__submit:disabled{opacity:.6;cursor:not-allowed}.cancel-booking__success{font-size:1rem;color:#fff;line-height:1.6;padding:20px;background:#c9a84c14;border:1px solid rgba(201,168,76,.2);border-radius:2px;text-align:center}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);padding:2rem}.admin-login__card{width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border);padding:2.5rem 2rem}.admin-login__title{font-size:1rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);text-align:center;margin-bottom:.5rem}.admin-login__subtitle{font-size:.8rem;color:var(--text-muted);text-align:center;letter-spacing:.05em;margin-bottom:2rem}.admin-login__form{display:flex;flex-direction:column;gap:1.25rem}.admin-login__field{display:flex;flex-direction:column;gap:.4rem}.admin-login__label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.admin-login__input{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.65rem .875rem;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}.admin-login__input:focus{border-color:var(--accent)}.admin-login__input:disabled{opacity:.5}.admin-login__error{font-size:.85rem;color:#e05555;text-align:center}.admin-login__submit{margin-top:.5rem;padding:.75rem;background:var(--accent);color:#000;border:none;font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,opacity .2s}.admin-login__submit:hover:not(:disabled){background:var(--accent-hover)}.admin-login__submit:disabled{opacity:.5;cursor:not-allowed}.admin-dashboard__title{font-size:1.5rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem}.admin-dashboard__loading,.admin-dashboard__error{color:var(--text-muted);font-size:.9rem}.admin-dashboard__error{color:#e05555}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2.5rem}.admin-stats__card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.admin-stats__label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.admin-stats__value{font-size:2rem;font-weight:600;color:var(--text)}.admin-stats__value--confirmed{color:#4caf7d}.admin-stats__value--cancelled{color:#e05555}.admin-stats__value--revenue{color:var(--accent)}.admin-upcoming__heading{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem}.admin-upcoming__empty{color:var(--text-muted);font-size:.9rem}.admin-page-title{font-size:1.5rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}.admin-bookings__filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px}.admin-filter-label{display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.admin-filter-select,.admin-filter-input{background:#0a0a0a;border:1px solid var(--border);color:var(--text);padding:.4rem .75rem;border-radius:2px;font-size:.875rem;font-family:inherit;min-width:140px}.admin-filter-select:focus,.admin-filter-input:focus{outline:none;border-color:var(--accent)}.admin-filter-reset{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.4rem 1rem;border-radius:2px;font-size:.8rem;font-family:inherit;transition:border-color .2s,color .2s;align-self:flex-end}.admin-filter-reset:hover{border-color:var(--accent);color:var(--accent)}.admin-bookings__loading,.admin-bookings__empty{color:var(--text-muted);font-size:.9rem;padding:1rem 0}.admin-bookings__error{color:#e05555;font-size:.9rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;padding:.6rem 1rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.admin-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-table__th--sortable:hover{color:var(--accent)}.admin-table td{padding:.75rem 1rem;border-bottom:1px solid #1a1a1a;color:var(--text);white-space:nowrap}.admin-table tbody tr:hover td{background:#111}.admin-table__ref{color:var(--accent);font-weight:600;font-family:monospace;font-size:.8rem}.admin-table__action-btn{background:transparent;border:1px solid var(--border);color:var(--accent);padding:.3rem .75rem;border-radius:2px;font-size:.8rem;font-family:inherit;transition:background .2s,border-color .2s}.admin-table__action-btn:hover{background:#1a1a1a;border-color:var(--accent)}.sort-icon{font-size:.7rem;color:var(--accent);margin-left:2px}.sort-icon--inactive{color:#444}.booking-status{display:inline-block;padding:.2rem .6rem;border-radius:2px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.booking-status--confirmed{background:#4caf7d26;color:#4caf7d}.booking-status--cancelled{background:#e0555526;color:#e05555}.booking-status--pending{background:#c9a84c26;color:var(--accent)}.booking-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.booking-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;width:100%;max-width:520px;display:flex;flex-direction:column}.booking-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.booking-modal__title{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.booking-modal__close{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;line-height:1;padding:.25rem;transition:color .2s}.booking-modal__close:hover{color:var(--text)}.booking-modal__body{padding:1.5rem}.booking-modal__dl{display:grid;grid-template-columns:120px 1fr;gap:.5rem 1rem}.booking-modal__dl dt{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-self:center}.booking-modal__dl dd{font-size:.9rem;color:var(--text)}.booking-modal__ref{color:var(--accent);font-family:monospace;font-weight:600}.booking-modal__error{color:#e05555;font-size:.85rem;margin-top:1rem}.booking-modal__footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--border)}.booking-modal__cancel-btn{background:#e055551a;border:1px solid #e05555;color:#e05555;padding:.5rem 1.25rem;border-radius:2px;font-size:.85rem;font-family:inherit;font-weight:600;transition:background .2s}.booking-modal__cancel-btn:hover:not(:disabled){background:#e0555533}.booking-modal__cancel-btn:disabled{opacity:.5;cursor:not-allowed}.booking-modal__close-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.5rem 1.25rem;border-radius:2px;font-size:.85rem;font-family:inherit;transition:border-color .2s,color .2s}.booking-modal__close-btn:hover{border-color:var(--accent);color:var(--accent)}.admin-availability__layout{display:grid;grid-template-columns:340px 1fr;gap:2rem;align-items:start}@media(max-width:900px){.admin-availability__layout{grid-template-columns:1fr}}.admin-availability__calendar{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:1.25rem}.avail-cal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.avail-cal__month-label{font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.avail-cal__nav{background:transparent;border:1px solid var(--border);color:var(--accent);font-size:1.3rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:background .2s,border-color .2s}.avail-cal__nav:hover{background:#1a1a1a;border-color:var(--accent)}.avail-cal__loading,.avail-cal__error{font-size:.8rem;color:var(--text-muted);text-align:center;padding:4px 0}.avail-cal__error{color:#e05555}.avail-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.avail-cal__day-label{text-align:center;font-size:.65rem;font-weight:600;letter-spacing:.08em;color:#555;text-transform:uppercase;padding:4px 0 6px}.avail-cal__cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;border-radius:2px;border:1px solid transparent;background:transparent;color:var(--text);transition:background .15s,border-color .15s}.avail-cal__cell--empty{background:transparent;border:none}.avail-cal__cell--no-slots{color:#333;cursor:default}.avail-cal__cell--has-slots{border-color:#2a2a2a;cursor:pointer}.avail-cal__cell--has-slots:hover{background:#1e1e1e;border-color:var(--accent);color:var(--accent)}.avail-cal__cell--has-blocked{border-color:#e0555566!important}.avail-cal__cell--selected{background:var(--accent)!important;border-color:var(--accent)!important;color:#0a0a0a!important;font-weight:700}.avail-cal__legend{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.legend-item{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:2px;border:1px solid}.legend-item--has-slots{border-color:#2a2a2a;color:var(--text-muted)}.legend-item--has-blocked{border-color:#e0555566;color:#e05555}.legend-item--selected{background:var(--accent);border-color:var(--accent);color:#0a0a0a}.admin-availability__slots{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:1.25rem;min-height:200px}.admin-availability__hint{color:var(--text-muted);font-size:.9rem}.admin-availability__date-heading{font-size:1rem;font-weight:700;letter-spacing:.08em;color:var(--accent);margin-bottom:1rem}.admin-availability__error{color:#e05555;font-size:.85rem;margin-bottom:.75rem}.slot-blocker{display:flex;flex-direction:column;gap:.5rem}.slot-blocker__empty{color:var(--text-muted);font-size:.9rem}.slot-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:2px;border:1px solid var(--border);background:#0d0d0d}.slot-item--booked{border-color:#4caf7d4d}.slot-item--blocked{border-color:#e055554d;background:#e055550d}.slot-item__time{font-family:monospace;font-size:.9rem;color:var(--text);min-width:50px}.slot-item__status{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;flex:1}.slot-item--available .slot-item__status{color:var(--text-muted)}.slot-item--booked .slot-item__status{color:#4caf7d}.slot-item--blocked .slot-item__status{color:#e05555}.slot-item__toggle{background:transparent;border:1px solid;padding:.25rem .75rem;border-radius:2px;font-size:.75rem;font-family:inherit;font-weight:600;transition:background .2s}.slot-item__toggle--block{border-color:#e05555;color:#e05555}.slot-item__toggle--block:hover:not(:disabled){background:#e055551a}.slot-item__toggle--unblock{border-color:#4caf7d;color:#4caf7d}.slot-item__toggle--unblock:hover:not(:disabled){background:#4caf7d1a}.slot-item__toggle:disabled{opacity:.5;cursor:not-allowed}.avail-cal__cell--past{opacity:.3;cursor:not-allowed;pointer-events:none}.slot--past{opacity:.4}.avail-cal__cell--past{opacity:.3;cursor:not-allowed}.admin-users__loading,.admin-users__empty{color:var(--text-muted);font-size:.9rem;padding:.5rem 0}.admin-users__error{color:#e05555;font-size:.9rem}.admin-users__denied{color:#e05555;font-size:.95rem;padding:1rem 0}.admin-users__inline-error{color:#e05555;font-size:.75rem;margin-left:.5rem}.admin-users__divider{border:none;border-top:1px solid var(--border);margin:2rem 0}.admin-table__action-btn--danger{border-color:#e05555;color:#e05555}.admin-table__action-btn--danger:hover:not(:disabled){background:#e055551a}.admin-table__action-btn--danger:disabled{opacity:.5;cursor:not-allowed}.user-badge{display:inline-block;padding:.2rem .6rem;border-radius:2px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.user-badge--primary{background:#c9a84c26;color:var(--accent)}.user-badge--admin{background:#8888881a;color:var(--text-muted)}.create-user-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:1.5rem;max-width:480px}.create-user-form__heading{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.create-user-form__fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.create-user-form__label{display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.create-user-form__input{background:#0a0a0a;border:1px solid var(--border);color:var(--text);padding:.5rem .75rem;border-radius:2px;font-size:.9rem;font-family:inherit;transition:border-color .2s}.create-user-form__input:focus{outline:none;border-color:var(--accent)}.create-user-form__error{color:#e05555;font-size:.85rem;margin-bottom:.75rem}.create-user-form__success{color:#4caf7d;font-size:.85rem;margin-bottom:.75rem}.create-user-form__submit{background:var(--accent);border:none;color:#0a0a0a;padding:.6rem 1.5rem;border-radius:2px;font-size:.85rem;font-family:inherit;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .2s}.create-user-form__submit:hover:not(:disabled){background:var(--accent-hover)}.create-user-form__submit:disabled{opacity:.5;cursor:not-allowed}
