:root{font-family:Inter,Arial,sans-serif;font-size:16px;color-scheme:light}*{box-sizing:border-box}.s5-public{--s5-bg:#fff;--s5-ink:#182333;--s5-accent:#195567;margin:0;background:var(--s5-bg);color:var(--s5-ink);line-height:1.65}.s5-public a{color:inherit;text-underline-offset:5px}.s5-public button,.s5-public input{font:inherit}.s5-public img{max-width:100%;display:block;object-fit:cover}.s5-public h1,.s5-public h2,.s5-public h3{line-height:1.08;letter-spacing:-.035em;text-wrap:balance;margin:0 0 1.2rem;overflow-wrap:anywhere}.s5-public h1{font-size:clamp(2.5rem,6vw,6.5rem)}.s5-public h2{font-size:clamp(2rem,3.6vw,3.8rem)}.s5-public h3{font-size:1.6rem}.s5-public p{overflow-wrap:anywhere}.s5-font-serif h1,.s5-font-serif h2,.s5-font-serif h3{font-family:Georgia,serif;font-weight:400}.s5-header{max-width:1600px;margin:auto;display:flex;gap:2rem;align-items:center;justify-content:space-between;padding:1.5rem 4vw;border-bottom:1px solid color-mix(in srgb,var(--s5-ink) 20%,transparent)}.s5-brand{font-weight:800;display:flex;align-items:center;gap:.8rem;text-decoration:none;max-width:24rem;line-height:1.15}.s5-brand img{width:54px;height:54px;object-fit:contain}.s5-header nav{display:flex;gap:1.1rem;flex-wrap:wrap}.s5-header nav a{text-decoration:none;font-size:.9rem}.s5-header nav a[aria-current]{text-decoration:underline}.s5-button{background:var(--s5-accent);color:#111!important;border:0;padding:.95rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;text-decoration:none;font-weight:700;line-height:1.4;min-height:48px}.s5-beauty .s5-button,.s5-trainer .s5-button,.s5-professional .s5-button{color:white!important}.s5-button:hover{filter:brightness(.92)}.s5-languages{max-width:1480px;margin:auto;padding:.5rem 4vw;display:flex;justify-content:flex-end;gap:1rem;font-size:.8rem}.s5-section{max-width:1480px;margin:auto;padding:5rem 4vw}.s5-section-heading{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid color-mix(in srgb,var(--s5-ink) 20%,transparent);padding-top:2rem}.s5-eyebrow{text-transform:uppercase;font-size:.85rem;letter-spacing:.14em}.s5-intro{font-size:1.15rem;max-width:42rem;margin:1.5rem 0 2.5rem}.s5-hero{max-width:1600px;margin:auto;padding:3rem 4vw 5rem}.s5-hero-image{margin:0}.s5-hero-image img{width:100%;height:100%;min-height:300px}.s5-services{display:grid;gap:1.5rem}.s5-service{border-top:1px solid color-mix(in srgb,var(--s5-ink) 24%,transparent);padding:2rem 0;display:grid;grid-template-columns:3rem 1fr auto;gap:1.5rem}.s5-service p{max-width:44rem}.s5-service-action{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:1rem}.s5-service-action strong{font-size:1.5rem}.s5-service-index{opacity:.6}.s5-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.s5-gallery figure{margin:0}.s5-gallery img{aspect-ratio:4/3;width:100%}.s5-gallery figcaption{font-size:.85rem;padding:.7rem 0}.s5-team{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.s5-team article{padding:2rem;border-top:2px solid var(--s5-accent)}.s5-team-number{font-size:3rem;opacity:.45;display:block;margin-bottom:2rem}.s5-about,.s5-faq,.s5-contact,.s5-hours{display:grid;grid-template-columns:1fr 2fr;gap:4rem}.s5-about p{font-size:1.35rem}.s5-faq details{border-bottom:1px solid color-mix(in srgb,var(--s5-ink) 25%,transparent);padding:1.5rem 0}.s5-faq summary{font-size:1.2rem;cursor:pointer}.s5-contact a{display:block;width:fit-content;margin:1rem 0}.s5-hours dl{margin:0}.s5-hours dl>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid color-mix(in srgb,var(--s5-ink) 20%,transparent);padding:1rem 0}.s5-legal{max-width:960px}.s5-legal h2{font-size:1.6rem;margin-top:3rem}.s5-page-heading{padding-bottom:0}.s5-footer{border-top:1px solid color-mix(in srgb,var(--s5-ink) 25%,transparent);padding:3rem 4vw;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.s5-footer div{display:flex;gap:1rem;flex-wrap:wrap}.s5-footer button{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer}.s5-whatsapp{position:fixed;right:1.2rem;bottom:1.2rem;background:#125f3c;color:#fff!important;padding:.8rem 1.3rem;border-radius:40px;z-index:20;text-decoration:none}.s5-announcement{text-align:center;background:var(--s5-accent);color:#111;padding:.6rem 1rem}.s5-cookie{position:fixed;bottom:1rem;left:1rem;max-width:570px;width:calc(100% - 2rem);padding:1.5rem;background:#fff;color:#17222e;z-index:1000;border:1px solid #b6bdc7;box-shadow:0 12px 50px #0003;border-radius:12px}.s5-cookie h2{font:700 1.4rem/1.2 Arial,sans-serif}.s5-cookie button{border:1px solid #495466;background:#fff;color:#182333;padding:.7rem 1rem;border-radius:5px;cursor:pointer}.s5-cookie-buttons{display:flex;gap:.6rem;flex-wrap:wrap}.s5-cookie label{display:block;padding:.4rem 0}.s5-cookie[hidden],#s5-cookie-options[hidden]{display:none}.s5-mobile-toggle{display:none}.s5-skip{position:absolute;left:-9999px}.s5-skip:focus{left:1rem;top:1rem;z-index:9999;background:#fff;color:#000;padding:1rem}.s5-preview-notice{background:#ffdc7e;color:#1a1a1a;text-align:center;padding:.8rem}.s5-public :focus-visible{outline:3px solid currentColor;outline-offset:5px}
/* Six compositions, not six colour presets. */
.s5-detailing .s5-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}.s5-detailing .s5-hero-image{height:650px}.s5-detailing .s5-hero h1{text-transform:uppercase;font-weight:900;letter-spacing:-.065em}.s5-spec-line{display:flex;justify-content:space-between;border-top:1px solid #ffffff40;margin-top:3rem;padding-top:1rem}.s5-detailing .s5-services{grid-template-columns:repeat(3,1fr)}.s5-detailing .s5-service{display:flex;flex-direction:column;background:#ffffff08;padding:2rem}.s5-detailing .s5-service-action{align-items:flex-start;margin-top:auto}.s5-detailing .s5-gallery figure:first-child{grid-column:span 2;grid-row:span 2}.s5-detailing .s5-gallery figure:first-child img{height:calc(100% - 2.5rem)}
.s5-barber .s5-header{border-top:6px solid var(--s5-accent)}.s5-club-masthead{text-align:center;max-width:960px;margin:0 auto 4rem}.s5-club-masthead .s5-intro{margin:1.5rem auto 2.5rem}.s5-club-spread{display:grid;grid-template-columns:2fr 1fr;border:1px solid #ffffff35}.s5-club-spread .s5-hero-image{height:470px}.s5-club-spread aside{padding:3rem}.s5-club-spread aside p{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff25;gap:1rem}.s5-barber .s5-service h3{font-size:2rem}.s5-barber .s5-team-number{font-family:Georgia,serif;color:var(--s5-accent);opacity:1}.s5-barber .s5-gallery{grid-template-columns:repeat(2,1fr)}
.s5-beauty .s5-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;align-items:center}.s5-beauty .s5-hero-image{height:700px;border-radius:48% 48% 4px 4px;overflow:hidden}.s5-atelier-signature{font:italic 2rem Georgia,serif;border-top:1px solid #281b2a30;padding-top:2rem;margin-top:3rem}.s5-beauty .s5-services{grid-template-columns:repeat(2,1fr);gap:3rem}.s5-beauty .s5-service{grid-template-columns:1fr;position:relative;padding:2rem}.s5-beauty .s5-service-index{position:absolute;right:0;top:1rem}.s5-beauty .s5-service-action{align-items:flex-start}.s5-beauty .s5-button{border-radius:50px}.s5-beauty .s5-gallery figure:nth-child(2){margin-top:5rem}.s5-beauty .s5-about{padding-top:8rem;padding-bottom:8rem}
.s5-tattoo .s5-hero{position:relative;padding-top:1rem}.s5-ink-title h1{font-size:clamp(3.5rem,10vw,10rem);text-transform:uppercase;font-weight:900;max-width:1300px}.s5-ink-title .s5-hero-copy{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem}.s5-ink-title h1,.s5-ink-title .s5-eyebrow{grid-column:1/-1}.s5-tattoo .s5-hero-image{height:550px;margin-top:3rem}.s5-portfolio-label{display:block;text-transform:uppercase;letter-spacing:.1em;padding:1rem 0;border-bottom:2px solid var(--s5-accent)}.s5-tattoo .s5-gallery{grid-template-columns:repeat(2,1fr);gap:3rem}.s5-tattoo .s5-gallery figure:nth-child(even){margin-top:6rem}.s5-tattoo .s5-gallery img{aspect-ratio:3/4}.s5-tattoo .s5-team{grid-template-columns:1fr}.s5-tattoo .s5-team article{display:grid;grid-template-columns:80px 1fr 2fr;gap:1rem;align-items:baseline}
.s5-trainer .s5-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}.s5-trainer .s5-hero h1{font-weight:900;text-transform:uppercase;letter-spacing:-.06em}.s5-move-media{position:relative;padding-bottom:3rem}.s5-move-media .s5-hero-image{height:580px}.s5-move-card{position:absolute;bottom:0;left:-2rem;right:2rem;background:var(--s5-accent);color:#fff!important;padding:2rem;font-size:1.5rem;font-weight:800;text-decoration:none}.s5-trainer .s5-services{grid-template-columns:repeat(3,1fr)}.s5-trainer .s5-service{display:flex;flex-direction:column;border:2px solid var(--s5-accent);padding:2rem}.s5-trainer .s5-service-index{font-size:4rem;font-weight:900;color:var(--s5-accent);opacity:1;line-height:1}.s5-trainer .s5-service-action{margin-top:auto;align-items:flex-start}
.s5-professional .s5-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:4rem;align-items:center}.s5-practice-intro>a{display:block;margin-top:1.5rem}.s5-professional .s5-hero-image{height:560px}.s5-practice-contact{grid-column:1/-1;background:var(--s5-accent);color:white;padding:1.5rem 2rem;display:flex;justify-content:space-between;gap:1rem}.s5-professional .s5-services{grid-template-columns:repeat(2,1fr)}.s5-professional .s5-service{grid-template-columns:1fr;padding:2rem;border:1px solid #17313930}.s5-professional .s5-service-index{display:none}.s5-professional .s5-service-action{flex-direction:row;align-items:center}.s5-professional .s5-team{background:#17313906;padding:2rem}
/* Booking surface, shared with existing booking engine. */
.booking-page .booking-shell{max-width:1280px;gap:2rem;margin:2rem auto}.booking-page .booking-content{border-radius:18px;padding:clamp(1.25rem,4vw,3.5rem);box-shadow:0 12px 70px #17213c12}.booking-page .booking-brand{border-radius:18px;padding:2rem;background:#172235;color:#fff}.booking-page .booking-brand p,.booking-page .booking-details{color:#f2f5fa}.booking-page input,.booking-page select,.booking-page textarea{font-size:1rem;min-height:46px}.booking-page .slot-option label{min-height:64px;font-size:1rem}.s5-payment-note{padding:1.3rem;background:#f0f5ff;color:#172333;border:1px solid #c4d4f7;border-radius:10px;margin:1.2rem 0}.s5-payment-note p{margin:.6rem 0}.s5-payment-note a{color:#234d98}.s5-payment-note label{display:flex;gap:.8rem;align-items:flex-start}.s5-payment-note input{min-height:0;margin-top:.5rem}.s5-payment-card{max-width:780px;margin:3rem auto;padding:clamp(1.5rem,5vw,3rem);background:#fff;color:#172333;border-radius:16px;border:1px solid #d7dfea}.s5-payment-card h1{font:700 2rem/1.2 system-ui}.s5-payment-card dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #d7dfea}.s5-payment-card fieldset{border:1px solid #b5c4d8;border-radius:8px;padding:1rem;margin:1rem 0}.s5-payment-card input,.s5-payment-card textarea{display:block;width:100%;padding:.8rem;border:1px solid #8c9bb0;border-radius:5px;font:inherit}.s5-payment-card input[type=radio]{display:inline;width:auto}.s5-payment-card .s5-button{color:#fff!important;background:#234d98}.s5-status{display:inline-block;border-radius:5px;background:#e6eefc;padding:.35rem .7rem;font-weight:700}.s5-footer-links{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem;justify-content:center}
@media(max-width:1000px){.s5-header{gap:1rem;flex-wrap:wrap}.s5-header nav{order:4;width:100%;display:none}.s5-header nav.is-open{display:flex}.s5-mobile-toggle{display:block;background:none;border:1px solid currentColor;padding:.5rem;color:inherit}.s5-hero{gap:2rem!important}.s5-public .s5-services{grid-template-columns:repeat(2,1fr)}.s5-team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.s5-header{padding:1rem}.s5-brand{max-width:65%}.s5-header>.s5-button{width:100%}.s5-header nav{flex-direction:column}.s5-header nav a{padding:.6rem}.s5-section{padding:3rem 1.2rem}.s5-public .s5-hero{display:block;padding:2rem 1.2rem}.s5-public .s5-hero-image{height:360px;margin:2rem 0}.s5-public h1{font-size:clamp(2.6rem,12vw,4.5rem)}.s5-club-spread{display:block}.s5-club-spread aside{padding:1.5rem}.s5-public .s5-services,.s5-team,.s5-gallery,.s5-about,.s5-faq,.s5-contact,.s5-hours{grid-template-columns:1fr!important;gap:1.5rem}.s5-public .s5-service{grid-template-columns:1fr}.s5-service-action{align-items:flex-start}.s5-detailing .s5-gallery figure:first-child{grid-column:auto;grid-row:auto}.s5-public .s5-gallery figure{margin-top:0!important}.s5-ink-title .s5-hero-copy{display:block}.s5-move-card{left:0;right:0}.s5-tattoo .s5-team article{display:block}.s5-practice-contact{flex-wrap:wrap}.s5-footer{padding:2rem 1.2rem}.s5-footer div{flex-direction:column}.booking-page .booking-shell{display:block;margin:1rem}.booking-page .booking-brand{margin-bottom:1rem}.s5-cookie{max-height:85vh;overflow:auto}.s5-payment-card{margin:1rem}.s5-public .s5-service-action{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.s5-public .s5-button{color:var(--s5-on-accent,#fff)!important}.s5-footer a{margin-right:12px}.s5-payment-note{padding:20px;margin:20px 0;border:1px solid #ccd4e0;border-radius:12px;background:#f5f8fc;color:#182235}.s5-payment-note label{display:flex;gap:10px;align-items:start}.s5-payment-note input[type=checkbox]{width:auto}.s5-payment-note summary{cursor:pointer}

.s5-booking-frame{width:100%;height:1000px;border:0;background:white;border-radius:18px;margin-top:25px}
