.page-masters{--masters-ink:#173f35;--masters-muted:#5e7065}.masters-main{width:min(100% - 40px,1180px);margin:0 auto;padding:64px 0 88px}.masters-hero{max-width:760px;margin-bottom:34px}.eyebrow{margin:0 0 8px;color:var(--primary-color);font-size:.76rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.masters-hero h1{margin:0;color:var(--masters-ink);font-size:clamp(2rem,5vw,4rem);line-height:1.04;letter-spacing:-.05em}.hero-copy{max-width:650px;margin:18px 0 0;color:var(--masters-muted);font-size:1.05rem}.masters-nav{display:flex;gap:18px;align-items:center}.masters-nav a,.masters-footer a{color:var(--masters-muted);font-weight:750;text-decoration:none}.masters-nav a:hover,.masters-nav a:focus-visible,.masters-footer a:hover,.masters-footer a:focus-visible{color:var(--primary-color)}.masters-toolbar{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(160px,.8fr) auto;gap:12px;align-items:end;margin-bottom:24px;padding:18px;border:1px solid var(--primary-border);border-radius:var(--radius-lg);background:rgba(233,238,227,.72)}.masters-toolbar label{display:grid;gap:7px;color:var(--masters-ink);font-size:.78rem;font-weight:800}.masters-toolbar input,.masters-toolbar select{width:100%;min-height:46px;padding:0 13px;border:1px solid var(--primary-border);border-radius:10px;color:var(--masters-ink);background:#fff}.masters-toolbar input:focus,.masters-toolbar select:focus{outline:3px solid rgba(32,87,71,.18);border-color:var(--primary-color)}.master-primary,.master-outline{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--primary-color);border-radius:10px;font-weight:800;text-decoration:none;cursor:pointer}.master-primary{color:#fff;background:var(--primary-color)}.master-primary:hover{background:var(--primary-dark)}.master-outline{color:var(--primary-color);background:#fff}.master-outline:hover{background:var(--primary-soft)}.masters-status{min-height:26px;color:var(--masters-muted);font-size:.9rem}.masters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.master-card{display:flex;min-height:260px;flex-direction:column;padding:22px;border:1px solid var(--line-color);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.master-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.master-card,.master-card *{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.master-card h2{margin:0;font-size:1.25rem}.master-card__title{margin:6px 0;color:var(--primary-color);font-weight:750}.master-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px;color:var(--masters-muted);font-size:.86rem}.master-card__meta span{padding:4px 8px;border-radius:999px;background:var(--light-gray)}.master-card__bio{display:-webkit-box;overflow:hidden;margin:0 0 16px;color:var(--masters-muted);-webkit-box-orient:vertical;-webkit-line-clamp:3}.master-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.master-card__rating{color:#9a6500;font-weight:850}.master-card__services{margin:0;color:var(--masters-muted);font-size:.82rem}.masters-empty{padding:72px 20px;border:1px dashed var(--primary-border);border-radius:var(--radius-lg);text-align:center}.masters-empty h2{margin:12px 0 8px}.masters-empty p{max-width:530px;margin:0 auto 22px;color:var(--masters-muted)}.empty-mark{color:var(--primary-color);font-size:3rem}.masters-footer{display:flex;gap:22px;width:min(100% - 40px,1180px);margin:0 auto;padding:22px 0 34px;border-top:1px solid var(--line-color);color:var(--masters-muted)}.masters-footer span{margin-right:auto;font-weight:850}.master-dialog{width:min(calc(100% - 32px),720px);max-height:calc(100dvh - 32px);padding:30px;border:0;border-radius:var(--radius-lg);color:var(--masters-ink);box-shadow:var(--shadow-md)}.master-dialog::backdrop{background:rgba(23,63,53,.55);backdrop-filter:blur(3px)}.modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:1px solid var(--primary-border);border-radius:50%;color:var(--primary-color);background:#fff;font-size:1.5rem;cursor:pointer}.detail-head{padding-right:44px;border-bottom:1px solid var(--line-color)}.detail-head h2{margin:0;font-size:1.8rem}.detail-head p{margin:6px 0 18px;color:var(--primary-color);font-weight:750}.detail-block{padding:16px 0;border-bottom:1px solid var(--line-color)}.detail-block h3{margin:0 0 10px;font-size:1rem}.detail-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.detail-list li{display:flex;justify-content:space-between;gap:18px}.detail-muted{color:var(--masters-muted)}.detail-cta{margin-top:20px}.masters-nav+.menu-btn{display:none}
@media(max-width:900px){.masters-nav{display:none}.masters-nav+.menu-btn{display:inline-grid}.masters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.masters-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.masters-toolbar .master-primary{width:100%}}
@media(max-width:520px){.masters-main{width:min(100% - 24px,1180px);padding:42px 0 58px}.masters-hero h1{font-size:clamp(2rem,12vw,3rem)}.hero-copy{font-size:.96rem}.masters-toolbar{grid-template-columns:1fr;padding:14px}.masters-grid{grid-template-columns:1fr}.master-card{min-height:230px;padding:18px}.masters-footer{width:min(100% - 24px,1180px);flex-wrap:wrap}.masters-footer span{width:100%;margin:0}.master-dialog{padding:24px 18px}.detail-list li{display:block}.detail-list li+li{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.master-card,.master-card *{transition:none!important}.master-card:hover{transform:none}}
 .detail-portfolio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-portfolio figure{margin:0;overflow:hidden;border:1px solid var(--line-color);border-radius:10px;background:var(--light-gray)}.detail-portfolio img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.detail-portfolio figcaption{padding:7px 8px;color:var(--masters-muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:520px){.detail-portfolio{grid-template-columns:repeat(2,minmax(0,1fr))}}
.master-card__bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.master-card__bottom>div{grid-column:1/-1}
.master-card__bottom>.master-outline{width:100%;min-width:0;padding-inline:8px;text-align:center}
