@font-face { font-family:"Directory Serif"; src:url("fonts/dm-serif-italic.woff2") format("woff2"); font-style:italic; font-weight:400; font-display:swap; }
body.directory-premium-page { --directory-plum:#35163c; --directory-wine:#742466; --directory-gold:#bc9654; --directory-line:#e5d8c4; background:#faf7f1; }
.directory-premium-page main { overflow-x:clip; }
.directory-premium-page .directory-hero { position:relative; isolation:isolate; padding:36px 0 70px; background:radial-gradient(ellipse at 78% 15%,#78436c35,transparent 55%),linear-gradient(120deg,#28122f,#472049); color:#fff9ed; border-bottom:1px solid #b38d52; }
.directory-premium-page .directory-hero::after { content:""; position:absolute; inset:15px 18px; border:1px solid #d6bc8020; pointer-events:none; z-index:-1; }
.directory-premium-page .directory-hero-crest { position:absolute; z-index:-1; width:400px; height:400px; bottom:-145px; left:40%; opacity:.065; pointer-events:none; }
.directory-premium-page .directory-hero-crest svg { width:100%; stroke:#e7ca8e; stroke-width:.5; }
.directory-premium-page .directory-hero .breadcrumb,.directory-premium-page .directory-hero .breadcrumb a { color:#e2d1dd; }
.directory-premium-page .directory-hero .eyebrow { color:#e4c787; }
.directory-premium-page .directory-hero .eyebrow::before { background:#e4c787; }
.directory-premium-page .directory-hero h1 { color:#fff9ed; font-size:clamp(62px,6.5vw,94px); font-weight:400; line-height:1.02; letter-spacing:-.045em; margin:24px 0 0; }
.directory-premium-page .directory-hero h1 em { color:#e7cda4; font-family:"Directory Serif",var(--serif); }
.directory-premium-page .directory-hero-grid { grid-template-columns:1.05fr .95fr; gap:70px; }
.directory-premium-page .directory-introduction p { color:#e0d2dc; font-size:14px; line-height:1.9; max-width:460px; }
.directory-premium-page .directory-hero .button-primary { color:#35163c; background:linear-gradient(110deg,#f3e7cf,#dcc08e); border-color:#e3c99a; box-shadow:0 5px 25px #10061430; }
.directory-premium-page .directory-hero .directory-text-link { color:#f5e6d3; border-color:#a17e72; }
.directory-premium-page .directory-authority-context { border-color:#ceae71; margin-top:27px; }
.directory-premium-page .directory-authority-context p { color:#c9b9c7; font-size:11px; }
.directory-premium-page .directory-profile-total { display:flex; align-items:center; gap:15px; margin-top:24px; padding-top:20px; border-top:1px solid #ad8a9d45; max-width:350px; color:#ecdbc1; }
.directory-premium-page .directory-profile-total strong { font-family:var(--serif); font-weight:400; font-size:36px; line-height:1; }
.directory-premium-page .directory-profile-total span { font-size:9px; letter-spacing:.18em; text-transform:uppercase; max-width:95px; line-height:1.8; }
.directory-premium-page .directory-authority { position:relative; grid-template-columns:.86fr 1fr; background:#ffffff05; border:1px solid #c7a67580; border-radius:130px 12px 12px 12px; padding:14px; box-shadow:0 22px 45px #0f071329; }
.directory-premium-page .directory-authority-image { overflow:hidden; border-radius:115px 5px 5px 5px; }
.directory-premium-page .directory-authority-image img { min-height:380px; height:100%; object-position:center 25%; }
.directory-premium-page .directory-authority-copy { padding:25px 20px; }
.directory-premium-page .directory-authority h2 { color:#fff8ed; font-size:30px; }
.directory-premium-page .directory-coach-name { color:#e5c88d; }
.directory-premium-page .directory-founder-role { color:#e4d3dc; }
.directory-premium-page .directory-founder-contacts { color:#d3c0ce; font-size:10px; gap:8px; border-top:1px solid #d6bc8035; padding-top:17px; }
.directory-premium-page .directory-source-note { color:#cdbdca; }
.directory-premium-page .directory-hero-navigation { background:#ffffff05; border:1px solid #c7a67580; border-radius:90px 12px 12px 12px; padding:52px 34px 28px; }
.directory-premium-page .directory-hero-navigation a { color:#f9eee2; border-color:#d5b98635; padding:23px 0; }
.directory-premium-page .directory-hero-navigation small { color:#d0b496; }
.directory-premium-page .directory-hero-navigation strong { color:#f9eee2; font-family:var(--serif); font-size:25px; font-weight:400; }
.directory-premium-page .directory-directory { padding:62px 0 78px; background:radial-gradient(ellipse at 0 30%,#e9dfd166,transparent 60%),#faf7f1; border-top:0; }
.directory-premium-page .directory-section-heading { padding-bottom:24px; border-bottom:1px solid var(--directory-line); }
.directory-premium-page .directory-section-heading h2 { color:var(--directory-plum); font-size:clamp(36px,3.6vw,50px); margin-top:14px; }
.directory-premium-page .directory-graduate-navigation { display:flex; flex-wrap:wrap; gap:5px; width:fit-content; padding:6px; margin:25px 0; border:1px solid var(--directory-line); border-radius:999px; background:#f1ebe2; }
.directory-premium-page .directory-graduate-navigation a { padding:10px 22px; border:0; border-radius:999px; color:#6c5a6e; font-size:11px; font-weight:600; text-decoration:none; }
.directory-premium-page .directory-graduate-navigation a[aria-current="page"] { background:var(--directory-plum); color:#fff9ed; box-shadow:0 4px 12px #35163c20; }
.directory-premium-page .directory-filters { margin-top:22px; padding:24px 28px; border:1px solid var(--directory-line); border-radius:12px; background:#fffcf6; box-shadow:0 8px 28px -20px #35163c30; gap:23px; }
.directory-premium-page .directory-filters label { color:#8a6840; font-size:10px; letter-spacing:.08em; font-weight:650; }
.directory-premium-page .directory-filters input,.directory-premium-page .directory-filters select { min-height:52px; padding:13px 16px; border:1px solid #ddd0bf; background:#faf7f1; border-radius:6px; font-size:13px; }
.directory-premium-page .directory-filters input { padding-left:43px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24' fill='none' stroke='%23742466' stroke-width='1.4'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='m15 15 5 5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:15px center; }
.directory-premium-page .directory-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:25px 0; }
.directory-premium-page .directory-results { margin:0; color:#766778; font-size:11px; }
.directory-premium-page .directory-view-controls { display:flex; padding:4px; gap:4px; border:1px solid var(--directory-line); border-radius:999px; background:#f1ebe2; }
.directory-premium-page .directory-view-controls button { display:flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:10px 15px; border:0; border-radius:999px; background:transparent; color:#766778; font-size:10px; }
.directory-premium-page .directory-view-controls button[aria-pressed="true"] { color:var(--directory-plum); background:#fffcf6; box-shadow:0 2px 8px #35163c13; }
.directory-premium-page .directory-view-controls svg { width:17px; height:17px; }
.directory-premium-page .directory-grid { gap:30px; align-items:stretch; }
.directory-premium-page .directory-profile-source { display:flex; flex-direction:column; }
.directory-premium-page .directory-card { display:flex; flex-direction:column; height:100%; padding:17px 17px 0; background:linear-gradient(145deg,#fffcf7,#f5efe5); border:1px solid #decfb6; border-radius:130px 130px 14px 14px; box-shadow:0 14px 35px -25px #35163c55; transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease; }
.directory-premium-page .directory-portrait-button { width:100%; flex:none; border:1px solid #d9c8af; border-radius:115px 115px 7px 7px; background:#e7ded4; }
.directory-premium-page .directory-portrait-button img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 16%; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.directory-premium-page .directory-portrait-button > span:not(.directory-profile-number) { padding:35px 18px 16px; background:linear-gradient(transparent,#24102ee0); font-size:10px; color:#fff6e8; }
.directory-premium-page .directory-portrait-button > .directory-profile-number { position:absolute; top:80px; bottom:auto; left:auto; right:16px; display:grid; place-items:center; width:35px; height:35px; padding:0; border:1px solid #efe1c280; border-radius:50%; color:#fff7e5; background:#35163c99; backdrop-filter:blur(6px); font-family:var(--serif); font-size:16px; }
.directory-premium-page .directory-card-copy { display:flex; flex-direction:column; flex:1; padding:24px 11px 22px; }
.directory-premium-page .directory-card-role { color:#8b6427; font-size:9px; letter-spacing:.15em; line-height:1.7; }
.directory-premium-page .directory-card h3 { color:var(--directory-plum); font-size:30px; line-height:1.15; letter-spacing:-.025em; margin-top:12px; min-height:35px; }
.directory-premium-page .directory-location { width:fit-content; border:1px solid #ded0bb; border-radius:999px; padding:5px 10px; background:#eee5d7; color:#756370; font-size:10px; margin:13px 0 19px; }
.directory-premium-page .directory-card-bottom { gap:13px; padding-top:18px; margin:0; border-top:1px solid #ddceb4; }
.directory-premium-page .directory-bio-button { display:inline-flex; align-items:center; justify-content:space-between; width:100%; min-height:45px; padding:11px 14px; border:1px solid #d6c4a6; background:#fffaf0; color:var(--directory-wine); border-radius:6px; font-size:11px; }
.directory-premium-page .directory-contact-actions { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
.directory-premium-page .directory-contact-actions a { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:10px 13px; border:1px solid #dacbb6; border-radius:999px; background:#f4ede2; color:#684565; font-size:10px; }
.directory-premium-page .directory-contact-actions svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; }
.directory-premium-page .directory-card-contact { margin-top:17px; padding-top:14px; border-top:1px solid #e6dac7; font-size:10px; }
.directory-premium-page .directory-card-contact summary { width:fit-content; min-height:30px; display:flex; align-items:center; gap:9px; }
.directory-premium-page .directory-card-contact summary::before { content:"+"; color:#947442; font-size:17px; }
.directory-premium-page .directory-card-contact[open] summary::before { content:"−"; }
.directory-premium-page .directory-card-contact summary::-webkit-details-marker { display:none; }
.directory-premium-page .directory-original-contact { color:#756975; font-size:11px; }
.directory-premium-page .directory-empty { padding:60px 25px; background:#fffcf6; border:1px solid var(--directory-line); border-radius:12px; }
.directory-premium-page .directory-grid[data-view="list"] { grid-template-columns:minmax(0,1fr); gap:20px; }
.directory-premium-page .directory-grid[data-view="list"] .directory-card { display:grid; grid-template-columns:170px minmax(0,1fr); gap:30px; padding:18px; border-radius:12px; }
.directory-premium-page .directory-grid[data-view="list"] .directory-portrait-button { border-radius:85px 85px 6px 6px; align-self:start; }
.directory-premium-page .directory-grid[data-view="list"] .directory-card-copy { padding:12px 14px 12px 0; }
.directory-premium-page .directory-grid[data-view="list"] .directory-card-bottom { display:grid; grid-template-columns:minmax(200px,.8fr) minmax(0,1fr); align-items:center; }
.directory-premium-page .directory-bio { width:min(1020px,calc(100vw - 48px)); border:1px solid #cbb081; border-radius:18px; background:#fffcf6; box-shadow:0 30px 100px #10061560; }
.directory-premium-page .directory-bio::backdrop { background:#211025ce; backdrop-filter:blur(9px); }
.directory-premium-page .directory-bio-layout { grid-template-columns:310px minmax(0,1fr); }
.directory-premium-page .directory-bio-photo { padding:24px; background:linear-gradient(150deg,#321738,#4d254c); border-right:1px solid #cbb081; align-self:stretch; }
.directory-premium-page .directory-bio-photo img { height:auto; aspect-ratio:3/4; width:100%; float:none; margin:0; border:1px solid #dfc39380; border-radius:125px 125px 7px 7px; object-fit:contain; background:#26112c; }
.directory-premium-page .directory-bio-copy { padding:48px 45px; }
.directory-premium-page .directory-bio h2 { font-size:43px; color:var(--directory-plum); }
.directory-premium-page .directory-biography { font-size:14px; line-height:1.95; color:#706371; }
.directory-premium-page .directory-bio-contacts { padding:22px; background:#f4ecdf; border:1px solid #e0cfb2; border-radius:8px; }
.directory-premium-page .directory-bio .modal-close { min-width:44px; width:44px; height:44px; color:#fff8ed; background:#35163c; border:1px solid #b99762; }
.directory-premium-page .directory-closing { border-top:1px solid #c4a269; background:linear-gradient(120deg,#28122f,#472049); }
.directory-premium-page .directory-hero :focus-visible { outline:2px solid #e7c68d; outline-offset:5px; }
@media (hover:hover) and (pointer:fine) {
 .directory-premium-page .directory-card:hover { transform:translateY(-6px); border-color:#b69968; box-shadow:0 22px 40px -22px #35163c55; }
 .directory-premium-page .directory-card:hover .directory-portrait-button img { transform:scale(1.035); }
 .directory-premium-page .directory-bio-button:hover { background:#35163c; color:#fff7e9; border-color:#35163c; }
 .directory-premium-page .directory-contact-actions a:hover { background:#e9dcc7; border-color:#b69968; }
 .directory-premium-page .directory-graduate-navigation a:hover:not([aria-current]) { background:#e7ddcf; }
}
@media (max-width:1150px) {
 .directory-premium-page .directory-hero-grid { gap:35px; }
 .directory-premium-page .directory-authority { grid-template-columns:.78fr 1fr; padding:11px; }
 .directory-premium-page .directory-authority-copy { padding:22px 16px; }
 .directory-premium-page .directory-authority h2 { font-size:27px; }
 .directory-premium-page .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
 .directory-premium-page .directory-hero-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .directory-premium-page .directory-authority-source { width:min(100%,620px); }
 .directory-premium-page .directory-hero-navigation { max-width:620px; }
 .directory-premium-page .directory-bio-layout { grid-template-columns:240px minmax(0,1fr); }
 .directory-premium-page .directory-bio-photo { padding:18px; }
 .directory-premium-page .directory-bio-copy { padding:40px 30px; }
 .directory-premium-page .directory-bio h2 { font-size:35px; }
}
@media (max-width:650px) {
 .directory-premium-page .directory-hero { padding:27px 0 43px; }
 .directory-premium-page .directory-hero::after { inset:10px; }
 .directory-premium-page .directory-hero h1 { font-size:clamp(49px,12vw,66px); }
 .directory-premium-page .directory-hero-crest { width:260px; left:45%; bottom:-70px; }
 .directory-premium-page .directory-hero .breadcrumb { font-size:9px; margin-bottom:29px; }
 .directory-premium-page .directory-introduction p { font-size:13px; }
 .directory-premium-page .directory-authority { grid-template-columns:.85fr 1fr; border-radius:95px 9px 9px 9px; }
 .directory-premium-page .directory-authority-image { border-radius:85px 4px 4px 4px; }
 .directory-premium-page .directory-authority-image img { min-height:300px; }
 .directory-premium-page .directory-authority-copy { padding:20px 13px; }
 .directory-premium-page .directory-authority h2 { font-size:24px; }
 .directory-premium-page .directory-authority .eyebrow { font-size:8px; }
 .directory-premium-page .directory-coach-name { font-size:18px; }
 .directory-premium-page .directory-founder-contacts { font-size:9px; gap:7px; }
 .directory-premium-page .directory-authority .directory-text-link { font-size:10px; gap:7px; }
 .directory-premium-page .directory-hero-navigation { padding:38px 27px 22px; }
 .directory-premium-page .directory-directory { padding:43px 0 55px; }
 .directory-premium-page .directory-graduate-navigation { border-radius:10px; width:100%; flex-wrap:nowrap; gap:3px; padding:5px; }
 .directory-premium-page .directory-graduate-navigation a { text-align:center; padding:11px 8px; font-size:10px; line-height:1.5; border-radius:6px; flex:1; }
 .directory-premium-page .directory-filters { padding:21px; gap:16px; }
 .directory-premium-page .directory-filters input,.directory-premium-page .directory-filters select { font-size:16px; }
 .directory-premium-page .directory-grid { grid-template-columns:minmax(0,1fr); gap:27px; }
 .directory-premium-page .directory-card { padding:16px 16px 0; }
 .directory-premium-page .directory-card-copy { padding:24px 12px; }
 .directory-premium-page .directory-card h3 { font-size:32px; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-card { grid-template-columns:90px minmax(0,1fr); gap:16px; padding:16px; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-card-copy { padding:3px 0; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-card h3 { font-size:23px; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-card-role { font-size:8px; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-profile-number { width:25px; height:25px; top:55px; right:8px; font-size:12px; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-portrait-button > span:not(.directory-profile-number) { display:none; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-card-bottom { display:flex; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-bio-button { font-size:10px; padding-inline:9px; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-contact-actions a { padding-inline:9px; }
 .directory-premium-page .directory-bio { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:12px; }
 .directory-premium-page .directory-bio-layout { grid-template-columns:minmax(0,1fr); }
 .directory-premium-page .directory-bio-photo { padding:22px 55px; border-right:0; border-bottom:1px solid #cbb081; }
 .directory-premium-page .directory-bio-photo img { height:auto; aspect-ratio:4/5; }
 .directory-premium-page .directory-bio-copy { padding:32px 25px; }
 .directory-premium-page .directory-bio h2 { font-size:34px; }
 .directory-premium-page .directory-biography { font-size:13px; line-height:1.9; }
}
@media (max-width:360px) {
 .directory-premium-page .directory-authority { grid-template-columns:minmax(0,1fr); border-radius:110px 110px 10px 10px; }
 .directory-premium-page .directory-authority-image { border-radius:95px 95px 6px 6px; }
 .directory-premium-page .directory-authority-image img { height:300px; min-height:0; }
 .directory-premium-page .directory-authority-copy { padding:20px; }
 .directory-premium-page .directory-graduate-navigation a { font-size:9px; padding-inline:5px; }
 .directory-premium-page .directory-view-controls button { padding:10px 12px; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-card { grid-template-columns:76px minmax(0,1fr); gap:12px; padding:13px; }
 .directory-premium-page .directory-grid[data-view="list"] .directory-card h3 { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) {
 .directory-premium-page *, .directory-premium-page *::before, .directory-premium-page *::after { transition:none!important; animation:none!important; }
 .directory-premium-page .directory-card:hover { transform:none; }
}
