/* Booking funnel components (Nov 2026) */
.fx-eyebrow{margin:0;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:3px;color:#986052}
.fx-script{margin:0;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:60px;line-height:1;color:#33201B}
.fx-lead{margin:0;font-size:16px;line-height:1.7;font-weight:300;color:#6B625D;max-width:640px}
.fx-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.fx-btn{display:inline-block;background:#986052;color:#fff;text-decoration:none;font-family:'Jost',sans-serif;font-size:13px;letter-spacing:2px;padding:17px 30px;border-radius:999px;text-align:center}
.fx-btn:hover{background:#86523F;color:#fff}
.fx-btn.ghost{background:transparent;color:#33201B;border:1px solid #33201B;padding:16px 28px}
.fx-btn.ghost:hover{background:#33201B;color:#FCF8EB}
.fx-btn.sm{padding:12px 20px;font-size:11px}
.fx-tlink{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:2px;color:#986052}

/* two-path chooser */
.fx-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fx-path{background:#FFFDF8;border:1px solid #E4D9C8;padding:34px 32px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:#33201B;transition:border-color .2s}
.fx-path:hover{border-color:#986052;color:#33201B}
.fx-path b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:32px;line-height:1.1}
.fx-path span{font-size:15px;line-height:1.6;font-weight:300}
.fx-path i{font-style:normal;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:2px;color:#986052;margin-top:auto;padding-top:6px}

/* goal picker */
.fx-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fx-goal{background:#FFFDF8;border:1px solid #E4D9C8;padding:26px 26px 24px;display:flex;flex-direction:column;gap:10px}
.fx-goal h3{margin:0;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:30px;line-height:1.1;color:#986052}
.fx-goal p{margin:0;font-size:14.5px;line-height:1.6;font-weight:300}
.fx-goal .fx-pick{margin-top:auto;padding-top:12px;border-top:1px solid #E4D9C8;display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.fx-goal .fx-pick b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:21px}
.fx-goal .fx-pick a{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:2px;color:#986052;white-space:nowrap}

/* price by stylist */
.fx-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.fx-tab{font:500 12px/1 'Jost',sans-serif;letter-spacing:1.5px;border:1px solid #D9CCB8;background:#FFFDF8;color:#33201B;border-radius:999px;padding:12px 18px;cursor:pointer}
.fx-tab small{font-weight:400;color:#6B625D;letter-spacing:1px;margin-left:6px}
.fx-tab[aria-selected="true"]{background:#33201B;border-color:#33201B;color:#FCF8EB}
.fx-tab[aria-selected="true"] small{color:#E9DCC9}
.fx-panel{background:#FFFDF8;border:1px solid #E4D9C8;padding:34px 36px;margin-top:20px}
.fx-panel[hidden]{display:none}
.fx-ptop{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid #E4D9C8}
.fx-ptop h3{margin:0;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:34px}
.fx-ptop p{margin:4px 0 0;font-size:14px;font-weight:300;color:#6B625D}
.fx-pcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.fx-pg{padding-top:18px}
.fx-pg h4{margin:0 0 4px;font-family:'Jost',sans-serif;font-weight:500;font-size:11px;letter-spacing:3px;color:#986052;text-transform:uppercase}
.fx-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px dashed #E4D9C8;font-size:15px;font-weight:300}
.fx-row span:last-child{white-space:nowrap;font-weight:400}
.fx-row em{font-style:normal;color:#6B625D;font-size:13px;margin-left:8px}
.fx-note{margin:14px 0 0;font-size:13px;line-height:1.6;color:#6B625D}

/* stylist cards on book page */
.fx-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fx-card{background:#FFFDF8;border:1px solid #E4D9C8;padding:24px;display:flex;flex-direction:column;gap:10px}
.fx-card .fx-who{display:flex;gap:16px;align-items:center}
.fx-card img{width:68px;height:68px;border-radius:50%;object-fit:cover;object-position:50% 20%;background:#EADFD0;flex:none}
.fx-card h3{margin:0;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:28px;line-height:1}
.fx-card .fx-lvl{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:2px;color:#986052;margin-top:6px;display:block}
.fx-card p{margin:0;font-size:14px;line-height:1.55;font-weight:300}
.fx-card .fx-from{font-size:13px;color:#6B625D;line-height:1.6}
.fx-card .fx-btn{margin-top:auto;align-self:flex-start}

/* quick facts on team profiles */
.fx-facts{margin:2px 0 0;padding:0;list-style:none;border-top:1px solid #E4D9C8}
.fx-facts li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #E4D9C8;font-size:13.5px;line-height:1.5;font-weight:300}
.fx-facts li b{font-family:'Jost',sans-serif;font-weight:500;font-size:10.5px;letter-spacing:2px;color:#986052;padding-top:2px}

/* steps */
.fx-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.fx-step{border-top:2px solid #986052;padding-top:16px;display:flex;flex-direction:column;gap:8px}
.fx-step b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;line-height:1.15}
.fx-step span{font-size:14.5px;line-height:1.6;font-weight:300}
.fx-dark .fx-step{border-color:#E2B9A6}.fx-dark .fx-step span{color:#EFE6D8}

.fx-callout{background:#FFFDF8;border:1px solid #E4D9C8;border-left:3px solid #986052;padding:26px 30px;display:flex;flex-direction:column;gap:10px}
.fx-callout h3{margin:0;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:26px}
.fx-callout p{margin:0;font-size:15px;line-height:1.65;font-weight:300}

@media (max-width:900px){
.fx-script{font-size:46px}
.fx-paths,.fx-goals,.fx-cards,.fx-pcols{grid-template-columns:minmax(0,1fr)}
.fx-steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.fx-panel{padding:24px 20px}
.fx-path{padding:26px 22px}
.fx-path b{font-size:28px}
.fx-tabs{justify-content:flex-start}
.fx-tab{padding:11px 14px}
.fx-ptop .fx-btn{width:100%;box-sizing:border-box}
}
@media (max-width:480px){.fx-steps{grid-template-columns:minmax(0,1fr)}}