:root{--wine:#531f32;--wine-dark:#28111c;--gold:#e8c77c;--ink:#28212a;--muted:#6b636c;--line:#e7e3e5;--soft:#f6f5f6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:DM Sans,Arial,sans-serif;font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit}img{max-width:100%;display:block}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:4px;outline:3px solid #b18734}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.pro-header{border-bottom:1px solid var(--line);background:var(--wine-dark);color:#fff;justify-content:space-between;align-items:center;gap:28px;min-height:94px;padding:18px max(24px,50% - 600px);display:flex}.pro-brand{letter-spacing:.03em;flex-shrink:0;align-items:center;gap:12px;font-weight:800;line-height:1.1;text-decoration:none;display:flex}.pro-brand img{object-fit:contain}.pro-brand small{letter-spacing:.28em;color:var(--gold);margin-top:6px;font-size:.75rem;font-weight:500;display:block}.pro-header nav{align-items:center;gap:26px;font-size:.94rem;display:flex}.pro-header nav a{text-decoration:none}.pro-header-cta{color:var(--gold);border:1px solid #ad8a61;border-radius:5px;padding:11px 18px}.pro-main{max-width:1200px;margin:auto;padding:54px 26px 70px}.eyebrow{letter-spacing:.12em;color:var(--wine);text-transform:uppercase;font-size:.8rem;font-weight:700;display:block}.page-intro{max-width:780px;margin-bottom:34px}.page-intro h1,.join-hero h1{letter-spacing:-.045em;margin:17px 0 22px;font-size:clamp(2.5rem,4.8vw,4rem);font-weight:700;line-height:1.12}.page-intro p{max-width:680px;color:var(--muted);font-size:1.1rem}.button{border:1px solid var(--wine);background:var(--wine);color:#fff;border-radius:5px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:13px 23px;font-size:.94rem;font-weight:700;line-height:1.4;text-decoration:none;transition:background .18s;display:inline-flex}.button:hover{background:#361323}.button.secondary{color:var(--wine);background:#fff;border-color:#d2c2c9}.button.gold{background:var(--gold);color:var(--wine-dark);border-color:var(--gold)}.button.gold:hover{background:#f2dba5}.button.full{width:100%}.text-link{color:var(--wine);text-underline-offset:4px;font-weight:600}.text-button{color:var(--wine);text-underline-offset:4px;background:0 0;border:0;padding:4px 0;font-size:.9rem;text-decoration:underline}.directory-controls{background:var(--soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:1.4fr 1fr;gap:18px;padding:25px;display:grid}label{flex-direction:column;gap:7px;font-size:.95rem;font-weight:600;display:flex}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfc7cc;border-radius:5px;min-height:48px;padding:12px 13px;font-size:1rem}input::placeholder{color:#81757c}textarea{resize:vertical}label small,.muted{color:var(--muted);font-size:.88rem;font-weight:400}.results-line{min-height:66px;color:var(--muted);justify-content:space-between;align-items:center;font-size:.94rem;display:flex}.professional-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.professional-card{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;padding:29px;display:flex}.professional-card-head{align-items:center;gap:18px;display:flex}.professional-card h2{margin:7px 0 5px;font-size:1.4rem;line-height:1.3}.professional-card h2 a{text-decoration:none}.profile-avatar{object-fit:cover;background:#efe8ec;border-radius:50%;flex-shrink:0;width:88px;height:88px}.profile-avatar.initials{color:var(--wine);justify-content:center;align-items:center;font-size:1.7rem;font-weight:700;display:flex}.profile-avatar.large{width:180px;height:180px;font-size:3.8rem}.registration{color:var(--muted);margin:0;font-size:.9rem}.professional-card .eyebrow{font-size:.75rem}.specialty{color:var(--wine);margin:20px 0 0;font-weight:600}.card-bio{color:var(--muted);margin:14px 0 12px}.location{color:var(--muted);font-size:.92rem}.service-price{border-top:1px solid var(--line);justify-content:space-between;gap:22px;margin-top:auto;padding-top:19px;font-size:.96rem;display:flex}.service-price small{color:var(--muted);font-size:.88rem;display:block}.service-price strong{white-space:nowrap;font-weight:500}.card-actions{align-items:center;gap:24px;margin-top:22px;display:flex}.empty-directory{text-align:center;background:#fcfbfc;border:1px dashed #c9bbc1;border-radius:8px;padding:65px 32px}.empty-directory h2{max-width:580px;margin:17px auto;font-size:1.9rem;line-height:1.3}.empty-directory p{max-width:620px;color:var(--muted);margin:0 auto 25px}.directory-note{color:var(--muted);max-width:880px;margin-top:30px;font-size:.91rem}.pro-footer{border-top:1px solid var(--line);color:var(--ink);background:#f6f4f5;padding:45px max(26px,50% - 574px)}.pro-footer .pro-brand small{color:var(--wine)}.pro-footer p{color:var(--muted)}.pro-footer nav{flex-wrap:wrap;gap:24px;margin:22px 0;display:flex}.pro-footer nav a{font-size:.93rem;text-decoration:none}.pro-footer>small{color:var(--muted);max-width:860px;font-size:.88rem;line-height:1.7;display:block}.profile-layout{grid-template-columns:1fr 350px;align-items:start;gap:65px;margin-top:35px;display:grid}.profile-intro{align-items:center;gap:28px;display:flex}.profile-name{letter-spacing:-.03em;margin:13px 0;font-size:2.25rem;line-height:1.2}.profile-credentials{color:var(--wine);font-size:1rem}.profile-section{border-bottom:1px solid var(--line);padding:24px 0}.profile-section h2{font-size:1.5rem}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.booking-card{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:28px;position:sticky;top:26px}.booking-card h2{font-size:1.5rem;line-height:1.3}.booking-price{margin:25px 0;font-size:1.9rem;font-weight:500}.booking-price small{color:var(--muted);font-size:.85rem;font-weight:400;display:block}.booking-card>.text-link{font-size:.86rem}.join-hero{background:var(--wine-dark);color:#fff}.join-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:75px;padding-top:66px;padding-bottom:65px;display:grid}.join-hero .eyebrow{color:var(--gold)}.join-hero p{color:#dfd4d9;max-width:580px;font-size:1.08rem}.join-hero .button{margin-top:20px}.join-login-note{color:#cbbbca!important;font-size:.87rem!important}.join-panel{background:#3a1c29;border:1px solid #79515f;border-radius:8px;padding:32px 36px}.join-panel h2{margin:18px 0;font-size:1.8rem;line-height:1.3}.join-panel ul{color:#eadfe4;padding-left:20px}.join-panel li{padding:9px 0}.join-details{grid-template-columns:1.5fr 1fr;gap:50px;display:grid}.join-details h2{font-size:2rem;line-height:1.2}.participation-steps article{padding:7px 0 22px 57px;position:relative}.participation-steps article>span{color:#b59250;font-size:1.4rem;position:absolute;top:21px;left:0}.participation-steps h3{margin:15px 0 6px;font-size:1.15rem}.participation-steps p{color:var(--muted);max-width:480px;margin:0}.fee-card{background:var(--soft);border:1px solid var(--line);border-radius:8px;align-self:start;margin-top:20px;padding:30px}.fee-card p{color:var(--muted)}.account-page-heading{justify-content:space-between;align-items:center;gap:25px;margin-bottom:40px;display:flex}.account-page-heading h1{letter-spacing:-.04em;margin:14px 0;font-size:2.5rem;line-height:1.2}.account-page-heading p{color:var(--muted)}.account-status{background:#f6f2f4;border:1px solid #dfd2d9;border-radius:8px;grid-template-columns:1.1fr 1fr;gap:45px;margin:25px 0 40px;padding:30px;display:grid}.account-status h2{margin:12px 0;font-size:1.8rem}.account-status h3{margin-top:0;font-size:1.15rem}.account-status .profile-avatar{margin-top:18px}.profile-form{max-width:900px}.form-heading h2{letter-spacing:-.03em;font-size:2rem;line-height:1.2}.form-heading p{color:var(--muted)}fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:25px 0 32px}legend{padding-right:15px;font-size:1.2rem;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-grid .wide{grid-column:1/-1}fieldset>label{margin-bottom:22px}.check{flex-direction:row;align-items:flex-start;gap:10px;margin:18px 0;font-size:.94rem;font-weight:400;display:flex}.check input{width:18px;height:18px;min-height:18px;accent-color:var(--wine);flex-shrink:0;margin:5px 0 0;padding:0}.check a{text-underline-offset:3px}.consent{max-width:780px}.contact-choice{flex-wrap:wrap;gap:30px;display:flex}.notice{background:var(--soft);border:1px solid var(--line);border-radius:5px;margin:20px 0;padding:18px 22px}.notice.error{color:#812a23;background:#fff4f2;border-color:#edc6be}.notice.success{color:#285e35;background:#f0f6f0;border-color:#c7ddcb}.notice .text-button{margin-top:10px;display:block}.admin-plan{background:var(--soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1.25fr;gap:50px;margin-bottom:45px;padding:32px;display:grid}.admin-plan h2{font-size:1.8rem;line-height:1.25}.admin-plan p{color:var(--muted)}.section-heading{justify-content:space-between;align-items:center;gap:25px;margin-bottom:23px;display:flex}.section-heading h2{margin:12px 0;font-size:2rem}.section-heading select{min-width:220px}.admin-profile-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.admin-profile{border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;border-radius:8px;padding:25px}.admin-profile h3{margin:12px 0;font-size:1.4rem}.admin-profile p{color:var(--muted);font-size:.93rem}.admin-profile-top{justify-content:space-between;align-items:center;gap:18px;display:flex}.status-label{color:#72521f;background:#f1e7db;border-radius:4px;padding:6px 10px;font-size:.85rem}.status-label.active{color:#356b43;background:#e9f4ec}.admin-profile details{border-top:1px solid var(--line);margin:20px 0;padding-top:16px}summary{cursor:pointer;font-size:.94rem;font-weight:600}.admin-secondary-action label{margin-top:15px}.button-row{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.review-actions{margin-top:20px}.confirm-payment{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.confirm-payment h4{margin:0;font-size:1.06rem}.confirm-payment .form-grid{grid-template-columns:1fr}.payments-section{margin-top:45px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}th,td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 12px}th{background:var(--soft);font-weight:700}.policy-page{max-width:900px}.policy-page h1{letter-spacing:-.04em;font-size:2.8rem;line-height:1.2}.policy-page h2{margin-top:35px;font-size:1.4rem}.policy-page p{color:var(--muted)}.policy-page .button{margin-top:25px}@media (max-width:1000px){.pro-header nav{gap:16px;font-size:.88rem}.profile-layout{grid-template-columns:1fr 310px;gap:30px}.profile-intro{flex-direction:column;align-items:flex-start}.join-grid,.join-details{gap:35px}.admin-plan{gap:30px}}@media (max-width:760px){.pro-header{flex-wrap:wrap;gap:17px;min-height:0;padding:15px 20px}.pro-header nav{justify-content:space-between;gap:12px;width:100%}.pro-header nav>a:nth-child(2){display:none}.pro-header-cta{padding:8px 12px}.pro-main{padding:36px 20px 50px}.page-intro h1,.join-hero h1{font-size:2.8rem}.page-intro h1 br{display:none}.directory-controls{grid-template-columns:1fr;padding:20px}.professional-grid{grid-template-columns:1fr}.professional-card{padding:23px}.empty-directory{padding:40px 23px}.empty-directory h2{font-size:1.6rem}.profile-layout{grid-template-columns:1fr;gap:35px}.profile-intro{flex-direction:row;gap:20px}.profile-avatar.large{width:105px;height:105px;font-size:2.5rem}.profile-name{overflow-wrap:anywhere;font-size:1.7rem}.profile-credentials{font-size:.93rem}.booking-card{position:static}.join-grid{grid-template-columns:1fr;gap:30px;padding-top:40px}.join-panel{padding:26px}.join-details{grid-template-columns:1fr;gap:15px}.fee-card{margin-top:0}.account-page-heading{flex-direction:column;align-items:flex-start;gap:10px}.account-page-heading h1{font-size:2rem}.account-status{grid-template-columns:1fr;gap:25px;padding:23px}.form-grid{grid-template-columns:1fr}.contact-choice{gap:5px;display:block}.admin-plan{grid-template-columns:1fr;gap:15px;padding:23px}.admin-profile-list{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start;gap:15px}.section-heading label{width:100%}.pro-footer{padding:35px 20px}.pro-footer nav{gap:14px 22px}.policy-page h1{font-size:2.25rem}}@media (max-width:400px){.pro-header nav{font-size:.8rem}.professional-card-head{gap:14px}.profile-avatar{width:70px;height:70px}.professional-card h2{font-size:1.2rem}.profile-intro{flex-direction:column}.card-actions{flex-wrap:wrap;gap:17px}.page-intro h1,.join-hero h1{font-size:2.4rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}.professional-card .medical-identification,.profile-name.medical-identification{letter-spacing:0;font-size:1.2rem;font-weight:500;line-height:1.55}
