/* FADE roster. The parent experience supplies the shared matte background. */
.barbers-content{display:flex;flex-direction:column}
.barbers-header{flex:0 0 auto}
.barbers-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:28px}
.barbers-title{font-size:clamp(48px,6.45vw,108px)}
.barbers-script.scene-script{font-size:clamp(26px,2.6vw,43px);margin:4px 19px 0 0;white-space:nowrap}
.barbers-script>svg,.barbers-empty-script>svg{position:absolute;display:block;left:0;bottom:-14px;width:98%;height:18px;pointer-events:none}
.barbers-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:7%;flex:1;min-height:390px;margin-top:27px}
.barbers-featured{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;position:relative;min-width:0;min-height:0}
.barbers-portrait-frame{position:relative;min-height:265px;grid-column:1/-1;overflow:hidden;background:#191816;isolation:isolate;border-bottom:1px solid #6a615344}
.barbers-photo-word{position:absolute;left:3%;top:8%;right:3%;font-family:'Archivo Black',Arial Black,Arial,sans-serif;font-size:clamp(34px,4.5vw,76px);font-weight:900;line-height:.88;letter-spacing:-.075em;color:#39362f;overflow-wrap:anywhere;z-index:-1}
.barbers-portrait-layer{display:block;position:absolute;inset:0;overflow:hidden}
.barbers-portrait{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.64) brightness(.88)}
.barbers-portrait-layer.is-contain .barbers-portrait{object-fit:contain;object-position:center bottom;filter:brightness(.9)}
.barbers-portrait-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black',Arial Black,Arial,sans-serif;font-size:clamp(120px,18vw,280px);line-height:1;color:#e9e1d22b}
.barbers-portrait-index{position:absolute;left:17px;right:17px;bottom:13px;display:flex;justify-content:space-between;align-items:center;font-family:'Barlow Condensed',Arial,sans-serif;font-size:11px;letter-spacing:2px;color:var(--paper,#e9e1d2);text-shadow:0 2px 8px #000}
.barbers-portrait-index>span:last-child{font-size:35px;line-height:1;color:var(--red,#b80d1b);text-shadow:none}
.barbers-index-stack{display:grid;min-width:18px;isolation:isolate}
.barbers-index-number{display:block;grid-area:1/1}
.barbers-feature-caption{display:grid;grid-column:1/-1;padding:15px 0 0}
.barbers-caption-content{grid-area:1/1;min-width:0}
.barbers-switch-next{opacity:0;visibility:hidden}
.barbers-role{font-family:'Barlow Condensed',Arial,sans-serif;font-size:10px;letter-spacing:2.1px;color:#be4a4e;line-height:1.4}
.barbers-feature-caption h3{font-family:'Archivo Black',Arial Black,Arial,sans-serif;font-size:clamp(27px,3vw,50px);line-height:1.04;letter-spacing:-.055em;font-weight:900;margin:6px 0 0;overflow-wrap:anywhere}
.barbers-caption-content>p{font-family:'Barlow Condensed',Arial,sans-serif;font-size:12px;line-height:1.4;letter-spacing:.6px;color:#a59b8b;margin:8px 0 0}
.barbers-roster{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:5px 0 12px}
.barbers-roster-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}
.barbers-roster-intro>p{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(22px,2.15vw,34px);font-weight:500;line-height:1.16;letter-spacing:-.25px;margin:0}
.barbers-roster-count{font-family:'Barlow Condensed',Arial,sans-serif;font-size:10px;letter-spacing:1.5px;white-space:nowrap;color:#8d8373;padding-bottom:3px}
.barbers-list{border-top:1px solid #625b515c}
.barbers-choice{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;align-items:center;gap:17px;width:100%;min-height:69px;text-align:left;padding:15px 0;border:0;border-bottom:1px solid #625b515c;background:none;color:#aca292;cursor:pointer;transition:color .2s}
.barbers-choice-index{align-self:start;font-family:'Barlow Condensed',Arial,sans-serif;font-size:10px;line-height:1.5;letter-spacing:1px;padding-top:5px;color:#8c7b69}
.barbers-choice-name{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(22px,2vw,31px);font-weight:500;line-height:1.1;letter-spacing:-.25px;overflow-wrap:anywhere}
.barbers-choice-name>small{display:block;font-family:'Barlow Condensed',Arial,sans-serif;font-size:9px;line-height:1.5;letter-spacing:1.5px;font-weight:400;margin-top:6px;color:#9b8d7a;text-transform:uppercase}
.barbers-choice-arrow{font-family:Arial,sans-serif;font-size:28px;line-height:1;justify-self:end;transform:translate(-4px,4px);opacity:.4;transition:transform .25s,opacity .25s,color .25s}
.barbers-choice.is-selected,.barbers-choice:hover{color:var(--paper,#e9e1d2)}
.barbers-choice.is-selected .barbers-choice-index{color:#cf3c42}
.barbers-choice.is-selected .barbers-choice-arrow,.barbers-choice:hover .barbers-choice-arrow{opacity:1;transform:translate(0,0);color:#c92c35}
.barbers-choice:focus-visible,.barbers-booking-link:focus-visible{outline:2px solid #df5d59;outline-offset:5px}
.barbers-booking{margin-top:27px}
.barbers-booking-link{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:49px;padding:12px 0;border-bottom:1px solid #afa18c87;font-family:'Barlow Condensed',Arial,sans-serif;font-size:12px;font-weight:600;line-height:1.45;letter-spacing:1.5px;color:var(--paper,#e9e1d2);transition:color .2s}
.barbers-booking-link>svg{width:25px;height:25px;flex:0 0 auto;transition:transform .25s}
.barbers-booking-copy{display:grid;min-width:0;flex:1}
.barbers-booking-label{display:block;grid-area:1/1;overflow-wrap:anywhere}
.barbers-booking-link[aria-disabled=true]{cursor:progress}
.barbers-booking-link:hover{color:#df5d59}.barbers-booking-link:hover>svg{transform:translateX(4px)}
.barbers-booking>p{font-size:10px;line-height:1.6;color:#948b7d;margin:13px 0 0;max-width:330px}
.barbers-switch-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.barbers-switch-error{display:block;font-size:10px;line-height:1.5;color:#df7772;margin-top:10px}
.barbers-photo-note{display:block;font-size:8px;line-height:1.5;color:#787065;margin-top:10px}
.barbers-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #625b514d;padding-top:14px;margin-top:24px;font-family:'Barlow Condensed',Arial,sans-serif;font-size:9px;line-height:1.5;letter-spacing:1.7px;color:#8b8172;text-transform:uppercase;flex:0 0 auto}
.barbers-empty{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;min-height:360px;flex:1;padding:45px 0}
.barbers-empty-script.scene-script{font-size:clamp(40px,5vw,80px);margin-left:8px}
.barbers-empty>div>p{font-family:'Barlow Condensed',Arial,sans-serif;font-size:25px;line-height:1.3;color:#c6bcac;max-width:370px;margin:0 0 23px}
@media(min-width:1500px){.barbers-layout{gap:9%;max-width:1400px;width:100%;margin-left:auto;margin-right:auto}.barbers-roster-intro{margin-bottom:33px}.barbers-choice{min-height:82px;padding-top:19px;padding-bottom:19px}.barbers-booking{margin-top:33px}}
@media(min-width:901px) and (max-height:800px){.barbers-title{font-size:clamp(46px,5.8vw,82px)}.barbers-script.scene-script{font-size:31px}.barbers-layout{min-height:335px;margin-top:21px;gap:6%}.barbers-portrait-frame{min-height:240px}.barbers-feature-caption{padding-top:11px}.barbers-feature-caption h3{font-size:34px}.barbers-roster-intro{margin-bottom:19px}.barbers-roster-intro>p{font-size:25px}.barbers-choice{min-height:60px;padding-top:11px;padding-bottom:11px}.barbers-choice-name{font-size:25px}.barbers-booking{margin-top:19px}.barbers-foot{margin-top:18px;padding-top:10px}}
@media(prefers-reduced-motion:reduce){.barbers-choice,.barbers-choice-arrow,.barbers-booking-link,.barbers-booking-link>svg{transition:none}}
/* Keep the portrait, booking row and footer in the same desktop scene bounds. */
@media(min-width:1001px){.barbers-layout{grid-template-rows:minmax(0,1fr)}.barbers-roster{min-height:0}}
@media(min-width:1001px) and (max-height:950px){.barbers-roster-intro{margin-bottom:16px}.barbers-roster-intro>p{font-size:26px;line-height:1.1}.barbers-choice{min-height:52px;padding:10px 0}.barbers-choice-name{font-size:26px}.barbers-booking{margin-top:18px}.barbers-booking>p{margin-top:9px;line-height:1.5}}
@media(min-width:1001px) and (max-height:800px){.barbers-roster-intro{margin-bottom:12px}.barbers-roster-intro>p{font-size:23px}.barbers-choice{min-height:46px;padding:8px 0}.barbers-choice-name{font-size:23px}.barbers-booking{margin-top:12px}}
