/* Original shared composition system. All styles render the same authoritative data. */
body{--display:Georgia,'Times New Roman',serif;--on-accent:#fff;--surface:#eeebe2;--radius:0px;background:var(--paper);color:var(--ink)}
.site-header{background:var(--paper);backdrop-filter:none}.site-name{font:400 23px/1.15 var(--display)}
main{max-width:1440px;padding:24px 32px 0}.hero{border-radius:var(--radius);min-height:570px;background:var(--surface)}
.hero-copy{padding:clamp(28px,4.5vw,68px)}.hero-photo{min-height:460px;background:var(--surface)}.hero-photo:empty{display:block;overflow:hidden;background:radial-gradient(ellipse at 25% 20%,color-mix(in srgb,var(--accent) 24%,var(--paper)),transparent 65%),var(--surface)}.hero:has(.hero-photo:empty){grid-template-columns:1.1fr 1fr}
.hero-photo:empty:before,.hero-photo:empty:after{content:'';position:absolute;width:58%;height:80%;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);border-radius:50% 50% 0 0;left:21%;top:22%;transform:rotate(-18deg)}.hero-photo:empty:after{left:45%;top:5%;transform:rotate(24deg);background:linear-gradient(30deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent)}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(42px,5.1vw,78px);overflow-wrap:anywhere}h2{font-size:clamp(32px,3.4vw,52px)}h3{font-weight:550}.eyebrow{font-size:10px;letter-spacing:.2em}#welcome-copy{font-size:15px;max-width:39em}.button{border-radius:var(--radius);background:var(--accent);color:var(--on-accent);transition:transform .18s}.button:hover{transform:translateY(-2px)}.button.secondary{color:var(--ink)}.section,.branches{padding:72px 24px}.section-heading{margin-bottom:36px}.section-heading>p{font-size:13px;max-width:310px}
.services{column-gap:54px;counter-reset:service}.service{padding:24px 0;counter-increment:service}.service h3{font-size:20px}.service p{font-size:13px}.service-category{font-size:9px;letter-spacing:.12em}.service-photo{width:80px;height:104px;object-fit:cover}.service-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.service-categories button{min-height:44px;padding:8px 18px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:99px;font-size:13px}.service-categories button[aria-pressed=true]{background:var(--ink);color:var(--paper)}#service-more{margin-top:24px}.package-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}.package{padding:26px;background:var(--surface)}.package .quiet{display:block;margin:10px 0}
.team{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.person{padding:0;border:0;background:transparent;text-align:center;min-width:0}.portrait{width:min(100%,208px);aspect-ratio:1;margin:0 auto 22px;display:block;border-radius:50%;object-fit:cover;background:var(--surface)}.person h3{font:400 25px/1.3 var(--display)}.person p{font-size:12px;color:var(--muted)}.person .button{font-size:12px;padding:10px 14px}.person-role{font-weight:600;color:var(--ink)!important}
.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block}.gallery-grid button{border:0;background:var(--surface);padding:0;overflow:hidden;min-height:220px}.gallery-grid button:first-child{grid-row:span 2;min-height:480px}.gallery-grid button:only-child{grid-column:1/-1;max-height:640px}.gallery-grid button:nth-child(4){grid-column:1/-1;max-height:320px}.gallery-video{margin-top:20px}.gallery-video video{width:100%;max-height:460px}#gallery-dialog{width:min(1000px,94vw);border:0;padding:50px 16px 16px;background:var(--paper)}#gallery-dialog img{display:block;max-height:80vh;max-width:100%;margin:auto}dialog::backdrop{background:#131512bb}#gallery-dialog>button{position:absolute;right:8px;top:4px;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:28px}
.reviews{gap:30px}.review{padding:28px 0;border:0;border-top:2px solid var(--accent);background:transparent}.review strong{font-size:11px;letter-spacing:.08em}.review p{font:400 24px/1.5 var(--display);margin:18px 0}.site-footer{padding:44px 24px}.site-footer strong{font:400 26px var(--display)}.demonstration-note{padding:16px 22px;border-left:3px solid var(--accent);background:var(--surface);font-size:13px;margin:20px 0}
body[data-style=editorial-burgundy]{--accent:#632536;--paper:#f6efe5;--surface:#e7d9cb;--ink:#39262b;--muted:#72615d}body[data-style=editorial-burgundy] .site-header{background:var(--accent);color:#fff6ea}body[data-style=editorial-burgundy] .site-header .button{border-color:#dec8bd;color:#fff6ea}body[data-style=editorial-burgundy] .hero{grid-template-columns:1fr;min-height:660px}body[data-style=editorial-burgundy] .hero-photo{position:absolute;inset:0}body[data-style=editorial-burgundy] .hero-copy{align-self:end;max-width:620px;margin-top:170px;background:#632536;color:#fff6ea;position:relative}body[data-style=editorial-burgundy] .hero .eyebrow{color:#ecd4bf}body[data-style=editorial-burgundy] .hero .button{background:#f6efe5;color:#632536}body[data-style=editorial-burgundy] .person:nth-child(even){padding-top:36px}body[data-style=editorial-burgundy] .reviews{grid-template-columns:1.5fr 1fr}body[data-style=editorial-burgundy] .review:first-child p{font-size:32px}
body[data-style=ivory-minimal]{--accent:#39392e;--paper:#fcfaf5;--surface:#efede5;--ink:#292b25;--muted:#64645b}body[data-style=ivory-minimal] main{max-width:1240px}body[data-style=ivory-minimal] .hero{background:transparent;grid-template-columns:5fr 6fr;gap:60px}body[data-style=ivory-minimal] .hero-photo{order:2}body[data-style=ivory-minimal] .hero-copy{padding:28px 0}body[data-style=ivory-minimal] h1{font-size:clamp(40px,4vw,62px)}body[data-style=ivory-minimal] .services{grid-template-columns:1fr}body[data-style=ivory-minimal] .service>div{display:grid;grid-template-columns:1.5fr 2fr;gap:0 30px}body[data-style=ivory-minimal] .service-category{grid-column:1/-1}body[data-style=ivory-minimal] .service .price{grid-column:2}body[data-style=ivory-minimal] .gallery-grid button:first-child{grid-row:auto;min-height:360px}
body[data-style=spa-serenity]{--accent:#425c4c;--paper:#eef0e7;--surface:#d9dfcf;--ink:#2b4135;--muted:#536657;--radius:99px}body[data-style=spa-serenity] .hero{background:transparent;gap:40px;padding:32px 40px}body[data-style=spa-serenity] .hero-photo{border-radius:50% 50% 10px 10px;order:2}body[data-style=spa-serenity] .hero-copy{text-align:center;padding:30px 0}body[data-style=spa-serenity] h1{font-style:italic}body[data-style=spa-serenity] .section-heading{display:block;text-align:center}body[data-style=spa-serenity] .section-heading>p{margin:auto}body[data-style=spa-serenity] .services{gap:18px}body[data-style=spa-serenity] .service{padding:25px;background:var(--surface);border:0;border-radius:24px}body[data-style=spa-serenity] .gallery-grid button{border-radius:100px 100px 8px 8px}body[data-style=spa-serenity] .reviews{text-align:center}
body[data-style=modern-barber]{--accent:#dec293;--on-accent:#1c201d;--paper:#191b1b;--surface:#2b2e2c;--ink:#f4eee2;--muted:#bbb9af;--display:'Arial Narrow',Impact,system-ui,sans-serif}body[data-style=modern-barber] main{max-width:none;padding:0}body[data-style=modern-barber] .hero{grid-template-columns:1fr;min-height:650px}body[data-style=modern-barber] .hero-photo{position:absolute;inset:0}body[data-style=modern-barber] .hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#121715f5,#121715aa 55%,#12171555);width:auto;height:auto;border:0;border-radius:0;transform:none}body[data-style=modern-barber] .hero-copy{position:relative;max-width:850px;padding:60px 6vw}body[data-style=modern-barber] h1{text-transform:uppercase;font-size:clamp(44px,6.5vw,94px);line-height:.98}body[data-style=modern-barber] h2{text-transform:uppercase;letter-spacing:0}body[data-style=modern-barber] .section{max-width:1290px;margin:auto}body[data-style=modern-barber] .portrait{border-radius:4px 4px 50% 50%;filter:grayscale(1)}body[data-style=modern-barber] .review p{font-family:Georgia,serif}
body[data-style=split-studio]{--accent:#a13e2b;--paper:#f6f0e7;--surface:#ddd0bd;--ink:#352f2a;--muted:#726354}body[data-style=split-studio] main{max-width:none;padding:0}body[data-style=split-studio] .hero{grid-template-columns:58% 42%;min-height:640px}body[data-style=split-studio] .hero-photo{order:2}body[data-style=split-studio] .hero-copy{background:var(--accent);height:100%;display:flex;flex-direction:column;justify-content:center;color:#fff7e9;padding:60px 6vw}body[data-style=split-studio] .hero .eyebrow{color:#f4dcc4}body[data-style=split-studio] .hero .button{align-self:start;background:var(--paper);color:var(--accent)}body[data-style=split-studio] h1{font-size:clamp(44px,6vw,86px)}body[data-style=split-studio] .section{max-width:1260px;margin:auto}body[data-style=split-studio] .service:before{content:counter(service,decimal-leading-zero);font-size:12px;align-self:start;color:var(--accent)}body[data-style=split-studio] .portrait{border-radius:48% 48% 3px 3px}body[data-style=split-studio] .contact{background:var(--surface)}
body[data-style=monochrome-atelier]{--accent:#242424;--paper:#f5f5f2;--surface:#deded9;--ink:#202020;--muted:#66665e;--display:system-ui,sans-serif}body[data-style=monochrome-atelier] .hero{display:flex;flex-direction:column;background:transparent}body[data-style=monochrome-atelier] .hero-copy{order:-1;width:100%;padding:24px 0 38px;display:grid;grid-template-columns:2fr 1fr;gap:12px 60px}body[data-style=monochrome-atelier] .hero .eyebrow{grid-column:1/-1;margin:0}body[data-style=monochrome-atelier] h1{font-size:clamp(42px,6vw,88px);font-weight:650;grid-row:span 3;margin:0}body[data-style=monochrome-atelier] .hero .button{justify-self:start}body[data-style=monochrome-atelier] .hero-photo{min-height:410px;width:100%}body[data-style=monochrome-atelier] img{filter:grayscale(1)}body[data-style=monochrome-atelier] h2{font-weight:600}body[data-style=monochrome-atelier] .team{grid-template-columns:repeat(3,1fr)}body[data-style=monochrome-atelier] .portrait{border-radius:0;width:100%;aspect-ratio:4/5}body[data-style=monochrome-atelier] .person{text-align:left}body[data-style=monochrome-atelier] .gallery-grid{gap:8px}
body[data-style=botanical-wellness]{--accent:#314c3b;--paper:#f0eddf;--surface:#d9dcc9;--ink:#263d2f;--muted:#5d6959;--radius:40px}body[data-style=botanical-wellness] .hero{background:transparent;grid-template-columns:55% 45%;padding:28px 0}body[data-style=botanical-wellness] .hero-photo{border-radius:4px 180px 4px 180px;min-height:580px}body[data-style=botanical-wellness] .hero-copy{position:relative;margin-left:-60px;background:var(--paper);padding:50px 20px 50px 50px;border-radius:120px 0 0 0}body[data-style=botanical-wellness] #team{background:var(--surface);border-radius:4px 100px 4px 100px}body[data-style=botanical-wellness] .portrait{border-radius:45% 45% 48% 48%}body[data-style=botanical-wellness] .gallery-grid button:nth-child(2){border-radius:0 80px 0 0}
body[data-style=luxury-champagne]{--accent:#73542d;--paper:#fbf3e5;--surface:#ebe0cd;--ink:#463a29;--muted:#786b57}body[data-style=luxury-champagne] .site-header{flex-wrap:wrap;justify-content:center;gap:6px 36px}body[data-style=luxury-champagne] .site-name{width:100%;max-width:none;text-align:center;margin:0;font-size:28px}body[data-style=luxury-champagne] .hero{display:flex;flex-direction:column;min-height:0;background:transparent;padding:20px}body[data-style=luxury-champagne] .hero:before{content:'';position:absolute;inset:5px;border:1px solid var(--accent);pointer-events:none;z-index:3}body[data-style=luxury-champagne] .hero-copy{order:-1;text-align:center;padding:30px 40px;width:min(900px,100%)}body[data-style=luxury-champagne] #welcome-copy{margin-inline:auto}body[data-style=luxury-champagne] .hero-photo{width:100%;min-height:330px}body[data-style=luxury-champagne] h1{font-size:clamp(40px,4.5vw,66px)}body[data-style=luxury-champagne] .service h3{font:400 25px var(--display)}body[data-style=luxury-champagne] .portrait{padding:6px;border:1px solid var(--accent)}body[data-style=luxury-champagne] .section-heading{text-align:center;display:block}body[data-style=luxury-champagne] .section-heading>p{margin:auto}
body[data-style=contemporary-pop]{--accent:#423162;--paper:#eee7fa;--surface:#d2bdea;--ink:#352345;--muted:#685575;--radius:99px;--display:system-ui,sans-serif}body[data-style=contemporary-pop] .hero{gap:28px;background:transparent;grid-template-columns:1.1fr 1fr}body[data-style=contemporary-pop] .hero-photo{order:2;border-radius:180px 24px 24px 24px;transform:rotate(2deg);margin:16px}body[data-style=contemporary-pop] .hero-copy{padding:30px 18px}body[data-style=contemporary-pop] h1{font-weight:750;letter-spacing:-.07em}body[data-style=contemporary-pop] h2{font-weight:650;letter-spacing:-.05em}body[data-style=contemporary-pop] .services{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}body[data-style=contemporary-pop] .service{flex-wrap:wrap;align-items:start;border:0;background:#f9f5ff;padding:28px;border-radius:24px}body[data-style=contemporary-pop] .portrait{border-radius:38% 62% 54% 46%;border:8px solid var(--surface)}body[data-style=contemporary-pop] .contact{border-radius:28px;background:var(--surface)}body[data-style=contemporary-pop] .gallery-grid button{border-radius:28px}
body[data-style=urban-grooming]{--accent:#d6eb8d;--on-accent:#20251d;--paper:#232724;--surface:#343d35;--ink:#f0f1e7;--muted:#bdc5b7;--display:system-ui,sans-serif}body[data-style=urban-grooming] .hero{grid-template-columns:1.2fr 1fr;background:transparent;padding-top:44px}body[data-style=urban-grooming] .hero-copy{order:-1;padding:40px 35px 80px 0}body[data-style=urban-grooming] .hero-photo{border-left:16px solid var(--accent);margin-top:58px;min-height:500px}body[data-style=urban-grooming] h1,body[data-style=urban-grooming] h2{font-weight:800;text-transform:uppercase;letter-spacing:-.055em}body[data-style=urban-grooming] .services{gap:0;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}body[data-style=urban-grooming] .service{padding:26px;border-right:1px solid var(--line);flex-wrap:wrap}body[data-style=urban-grooming] .service:before{content:counter(service,decimal-leading-zero);width:100%;color:var(--accent);font-size:12px}body[data-style=urban-grooming] .portrait{border-radius:0 64px 0 0;filter:saturate(.5)}body[data-style=urban-grooming] .section-heading{border-left:4px solid var(--accent);padding-left:24px}body[data-style=urban-grooming] .site-footer{border-top:5px solid var(--accent)}
body[data-style] .section{border-color:color-mix(in srgb,var(--ink) 18%,transparent)}body[data-style] .button.secondary{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 25%,transparent)}
@media(max-width:1000px){.team{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.section,.branches{padding:56px 12px}.services{column-gap:26px}body[data-style=contemporary-pop] .services,body[data-style=urban-grooming] .services{grid-template-columns:1fr 1fr}.hero-copy{padding:32px}body[data-style=ivory-minimal] .hero{gap:30px}}
@media(max-width:700px){.site-header{min-height:74px;padding:12px 16px;gap:12px}.site-name,.site-header .site-name{font-size:18px;max-width:55%;line-height:1.15}.site-header .button{font-size:11px;min-height:44px;padding:10px 12px;max-width:45%}main{padding:16px 16px 0}.hero,body[data-style] .hero{display:flex;flex-direction:column;gap:0;padding:0;min-height:0}.hero-copy,body[data-style] .hero .hero-copy{width:100%;max-width:none;box-sizing:border-box;padding:26px 22px;margin:0;order:0;border-radius:0}.hero-photo,body[data-style] .hero .hero-photo{width:100%;position:relative;inset:auto;min-height:240px;height:240px;order:1;border:0;border-radius:0;margin:0;transform:none}.hero-copy h1,body[data-style] .hero h1{font-size:40px;line-height:1.02;margin-bottom:18px}.hero .eyebrow{font-size:9px;margin-bottom:12px}#welcome-copy{font-size:13px;margin-bottom:20px}.hero-copy>.button{min-height:46px;font-size:12px}.section,.branches,body[data-style] .section{padding:44px 0}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin:8px 0 0;font-size:12px}h2{font-size:34px}.services,body[data-style] .services{grid-template-columns:1fr;column-gap:0}.service{gap:16px;padding:20px 0}.service h3{font-size:18px}.service p{font-size:12px}.service .price{font-size:13px}.service .button{font-size:12px;padding:10px 14px}.service-photo{width:64px;height:80px}.team,body[data-style] .team{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.person,body[data-style] .person:nth-child(even){padding-top:0}.portrait{margin-bottom:16px}.person h3{font-size:21px}.person .button{font-size:11px;padding:10px 8px;width:100%}.person p{font-size:11px}.reviews,body[data-style] .reviews{grid-template-columns:1fr;gap:14px}.review p,body[data-style] .review:first-child p{font-size:24px}.gallery-grid,body[data-style] .gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-grid button:first-child,body[data-style] .gallery-grid button:first-child{grid-column:1/-1;min-height:280px;grid-row:auto}.gallery-grid button{min-height:160px}.site-footer{padding:32px 16px}.package-list{grid-template-columns:1fr}body[data-style=ivory-minimal] .service>div{display:block}body[data-style=spa-serenity] .hero-photo{border-radius:130px 130px 0 0;width:82%;align-self:center}body[data-style=spa-serenity] .service{padding:20px}body[data-style=modern-barber] .hero{min-height:500px;justify-content:end}body[data-style=modern-barber] .hero-photo{position:absolute;inset:0;height:100%}body[data-style=modern-barber] .hero .hero-copy{padding:36px 24px}body[data-style=modern-barber] .section,body[data-style=split-studio] .section{margin-inline:20px}body[data-style=monochrome-atelier] .hero .hero-copy{display:block;padding:12px 0 24px}body[data-style=botanical-wellness] .hero-photo{border-radius:0 100px 0 100px}body[data-style=botanical-wellness] #team{padding:36px 16px;border-radius:0 60px 0 60px}body[data-style=luxury-champagne] .site-name{max-width:55%;width:auto;text-align:left;flex:1;margin-right:auto;font-size:18px}body[data-style=luxury-champagne] .site-header{flex-wrap:nowrap;gap:12px}body[data-style=luxury-champagne] .hero{padding:12px}body[data-style=luxury-champagne] .hero .hero-copy{padding:24px 10px}body[data-style=contemporary-pop] .hero-photo{border-radius:100px 20px 20px 20px;height:260px}body[data-style=contemporary-pop] .hero .hero-copy,body[data-style=urban-grooming] .hero .hero-copy{padding:20px 0 26px}body[data-style=contemporary-pop] .contact{padding:30px 20px}body[data-style=urban-grooming] .hero .hero-photo{border-left:10px solid var(--accent);width:90%;align-self:end}body[data-style=urban-grooming] .service{padding:22px}.service-categories{gap:6px}.service-categories button{font-size:12px;padding:8px 13px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Curated layouts own the cover composition; legacy overlay rules remain scoped to legacy designs. */
.hero-copy{position:relative;z-index:1}body[data-style=editorial-burgundy] .hero-copy p,body[data-style=split-studio] .hero-copy p{color:inherit}.service:has(.service-photo){grid-template-columns:auto minmax(0,1fr) auto}.offer-condition{display:block;color:var(--muted);font-size:12px;margin-top:8px}body[data-style=contemporary-pop] .service{grid-template-columns:1fr}body[data-style=contemporary-pop] .service .button{justify-self:start}body[data-style=urban-grooming] .service{grid-template-columns:1fr}body[data-style=urban-grooming] .service .button{justify-self:start}
@media(max-width:700px){body[data-style=modern-barber] .hero .hero-photo{position:absolute;inset:0;height:100%;min-height:100%;z-index:0}body[data-style=modern-barber] .hero-copy{color:var(--ink)}}

/* Keep the footer below the loading viewport while authoritative salon data arrives. */
main{min-height:100vh;min-height:100svh}
