/* Medical portal: photo-led, compact search, calm teal and a clear red AI action. */
body[data-field-style]{--pf-accent:#087c7b;--pf-accent-dark:#086b6b;--pf-deep:#0f4f55;--pf-night:#153c42;--pf-ink:#16343a;--pf-muted:#4a6168;--pf-tint:#edf3ef;--pf-line:#cfdcdc;--pf-soft:#eef4f4;--pf-mint:#9ac7ba;--pf-onnight:#d3e4de;--pf-paper:#fbfcfa;--accent:var(--pf-accent);--ink:var(--pf-ink);--muted:var(--pf-muted);background:var(--pf-paper);color:var(--ink)}
body[data-vertical="nursery"]{--pf-accent:#17703f;--pf-accent-dark:#125c34;--pf-deep:#0f4a2b;--pf-night:#14243a;--pf-ink:#14243a;--pf-muted:#44556a;--pf-tint:#eef5ef;--pf-line:#d3e0d6;--pf-soft:#f1f6f1;--pf-mint:#9fd1b2;--pf-onnight:#d6e0ec;--pf-paper:#fff}
body[data-vertical="ryoiku"]{--pf-accent:#0e7a5f;--pf-accent-dark:#0b6350;--pf-deep:#0a4a3c;--pf-night:#14243a;--pf-ink:#14243a;--pf-muted:#44556a;--pf-tint:#edf5f1;--pf-line:#d0e1d9;--pf-soft:#f0f6f3;--pf-mint:#9fd4c2;--pf-onnight:#d6e0ec;--pf-paper:#fff}
body[data-vertical="construction"]{--pf-accent:#8f4a14;--pf-accent-dark:#7a3f10;--pf-deep:#5f300d;--pf-night:#14243a;--pf-ink:#14243a;--pf-muted:#44556a;--pf-tint:#f6efe7;--pf-line:#e3d8cb;--pf-soft:#f8f3ec;--pf-mint:#e3b98c;--pf-onnight:#d6e0ec;--pf-paper:#fff}
body[data-vertical="hospitality"]{--pf-accent:#24456f;--pf-accent-dark:#1b3659;--pf-deep:#1b3659;--pf-night:#14243a;--pf-ink:#14243a;--pf-muted:#44556a;--pf-tint:#eef2f7;--pf-line:#d5dce6;--pf-soft:#f1f4f8;--pf-mint:#a9c1e0;--pf-onnight:#d6e0ec;--pf-paper:#fff}
body[data-field-style] main.shell{max-width:1280px;padding-inline:32px}
body[data-field-style] .platform-brand em{color:var(--pf-accent)}
body[data-field-style] .platform-register{background:var(--pf-accent);border-color:var(--pf-accent);color:#fff}
body[data-field-style] .medical-header-ai{color:#bd0027;font-weight:800}
body[data-field-style] .eyeline{font-size:11px;letter-spacing:.16em;color:var(--pf-muted);font-weight:750;margin:0 0 14px}
.medical-hero{position:relative;isolation:isolate;min-height:580px;border-radius:24px;overflow:hidden;background:var(--pf-tint);margin:20px 0 0}
.medical-hero>img{position:absolute;right:0;top:0;width:58%;height:100%;object-fit:cover;object-position:50% center;z-index:-2}
.medical-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--pf-tint) 0%,var(--pf-tint) 40%,color-mix(in srgb,var(--pf-tint) 69%,transparent) 43%,transparent 51%);z-index:-1}
.medical-hero-copy{padding:38px 36px 0;width:49%;position:relative}
.medical-hero-copy h1{font-size:clamp(36px,3.6vw,47px);letter-spacing:-.055em;line-height:1.38;font-weight:800;margin:0 0 18px;color:var(--pf-ink)}
.medical-hero-copy h1 em{font-style:normal;color:var(--pf-accent)}
.medical-hero-copy>p:not(.eyeline){font-size:16px;line-height:1.9;margin:0 0 12px;color:var(--pf-muted)}
.medical-hero-copy .medical-hero-caption{font-size:12px!important;display:flex;align-items:center;gap:8px}
.medical-hero-caption span{width:7px;height:7px;background:var(--pf-accent);border-radius:50%}
.medical-search{position:relative;margin:28px 0 30px 30px;width:54%;padding:0 20px 16px;background:#fffffff5;border:1px solid #fff;border-radius:16px;box-shadow:0 12px 36px #18373512}
.medical-search .region-tablist{display:flex;gap:0;border-bottom:1px solid var(--pf-line);margin-bottom:16px;border-radius:0;background:none;padding:0}
.medical-search .region-tablist button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;background:none;border:0;border-radius:0;padding:13px 5px;min-height:48px;font-size:13px;color:var(--pf-muted)}
.medical-search .region-tablist button[aria-selected="true"]{color:var(--pf-accent-dark);background:none;border-bottom:3px solid var(--pf-accent);box-shadow:none}
.medical-search .ui-icon{width:18px;height:18px;flex-shrink:0}
.medical-search form{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) auto;align-items:end;gap:12px}
.medical-search label{min-width:0;font-size:12px;font-weight:700;display:block;color:var(--pf-muted)}
.medical-search input,.medical-search select{width:100%;min-height:48px;font-size:16px;border:1px solid #879995;border-radius:8px;padding:8px 10px;background:#fff;margin-top:6px}
body[data-field-style] .medical-search .primary{min-height:48px;border-radius:10px;background:var(--pf-accent);border:0;color:white;padding:10px 15px;gap:6px;font-size:15px}
.medical-search .feature-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.medical-search .feature-pills a{font-size:12px;padding:4px 12px;min-height:32px;display:flex;align-items:center;text-decoration:none;color:#375852;background:var(--pf-soft);border:1px solid var(--pf-line);border-radius:6px}
.medical-photo-note{position:absolute;bottom:14px;right:18px;font-size:10px;padding:4px 8px;color:#203d3c;background:#ffffffe8;border-radius:4px}
.medical-mobile-match{display:none}
body[data-field-style] .medical-match{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;background:#fff;border:1px solid var(--pf-line);border-radius:0 0 18px 18px;margin:0 12px 0}
.medical-match>div{display:flex;flex-direction:column;gap:2px}
.medical-mini-label{font-size:10px;letter-spacing:.14em;color:#bd0027;font-weight:800}
.medical-match>div>strong{font-size:20px}
body[data-field-style] .medical-match .hero-match-button{width:54%;min-height:70px;border-radius:12px;padding:12px 20px;background:#d9002b;box-shadow:0 6px 16px #d9002b18;display:flex;justify-content:space-between;gap:12px}
.medical-match .hero-match-button strong{font-size:18px}.medical-match .hero-match-button small{font-size:12px}.medical-match .match-orb{background:#ffffff1f;box-shadow:none;color:#fff;width:42px;height:42px;font-size:20px}
.medical-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:64px 16px 44px}
.medical-intro h2{font-size:30px;line-height:1.5;letter-spacing:-.04em;margin:0}
.medical-intro>p{font-size:16px;line-height:2;color:var(--pf-muted);margin:0;padding-left:28px;border-left:2px solid #cbded4}
body[data-field-style] .category-section,body[data-field-style] .medical-features{padding:28px 0 38px;margin:0}
body[data-field-style] .section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 22px}
body[data-field-style] .section-heading h2{font-size:26px;margin:0;letter-spacing:-.04em}
body[data-field-style] .section-heading .eyeline{margin-bottom:7px}
body[data-field-style] .section-heading>a{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--pf-accent);font-size:14px;text-decoration:none;font-weight:700}
.medical-profession-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.medical-profession-photo{position:relative;height:238px;border-radius:16px;overflow:hidden;display:flex;align-items:center;text-decoration:none;color:#fff;background:#1d474d}
.medical-profession-photo>div{position:relative;z-index:1;padding:28px;width:60%}
.medical-profession-photo>div>span{font-size:10px;letter-spacing:.18em;color:#d4e5df}
.medical-profession-photo h3{font-size:30px;margin:6px 0;line-height:1.4}
.medical-profession-photo p{font-size:14px;max-width:180px;margin:0 0 15px;line-height:1.8}
.medical-profession-photo .ui-icon{width:32px;height:32px;padding:5px;border:1px solid #ffffff66;border-radius:50%}
.medical-profession-photo img{position:absolute;right:0;width:64%;height:100%;object-fit:cover;object-position:15% 25%;transition:transform .3s}
.medical-profession-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1d474d 0%,#1d474d 30%,#1d474d00 68%)}
.medical-profession-photo.nurse{background:#486763}.medical-profession-photo.nurse img{object-position:78% 20%}.medical-profession-photo.nurse::after{background:linear-gradient(90deg,#486763 0%,#486763 30%,#48676300 68%)}
.medical-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.medical-role-grid>a{display:flex;align-items:center;gap:10px;min-height:70px;padding:16px;border:1px solid var(--pf-line);border-radius:10px;background:#fff;text-decoration:none;color:var(--pf-ink);transition:background .15s,border-color .15s}
.medical-role-grid>a>.ui-icon{width:22px;height:22px;color:var(--pf-accent);flex-shrink:0}.medical-role-grid strong{font-size:15px}.medical-role-grid>a>span{margin-left:auto;color:var(--pf-muted)}
.medical-role-grid>a:hover{border-color:var(--pf-accent);background:var(--pf-soft)}
.medical-features .medical-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.medical-steps{display:grid;grid-template-columns:.85fr 1.8fr;gap:36px;padding:44px;margin:22px 0 48px;background:var(--pf-night);color:white;border-radius:20px}
body[data-field-style] .medical-steps .eyeline{color:var(--pf-mint)}.medical-steps h2{font-size:29px;line-height:1.5;letter-spacing:-.04em;margin:0 0 16px}.medical-steps-heading>p:not(.eyeline){font-size:16px;color:var(--pf-onnight);line-height:1.8}
body[data-field-style] .medical-steps .primary{background:#fff;border:0;color:var(--pf-night);border-radius:10px;min-height:48px;display:inline-flex;gap:16px;font-size:15px;padding:12px 18px}
.medical-steps ol{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;height:100%;align-items:center}
.medical-steps li{border-left:1px solid #ffffff2e;padding-left:22px}.medical-steps li>b{display:block;color:var(--pf-mint);font-size:36px;font-weight:400;line-height:1;margin-bottom:36px}.medical-steps li h3{font-size:17px;color:white;margin:0 0 12px}.medical-steps li p{font-size:15px;color:var(--pf-onnight);line-height:1.8;margin:0}
body[data-field-style] .region-picker{padding:32px;border:1px solid var(--pf-line);border-radius:18px;background:#fff}
body[data-field-style] .primary{background:var(--pf-accent);border-color:var(--pf-accent)}
body[data-field-style] .biz-strip{margin-top:48px;background:var(--pf-tint);border-radius:16px;padding:26px 32px}
body[data-field-style] .biz-strip strong{font-size:20px}.medical-profession-photo:hover img{transform:scale(1.025)}
body[data-field-style] .card{border-color:var(--pf-line);box-shadow:0 8px 24px var(--pf-ink)05}
body[data-field-style] :focus-visible{outline:3px solid #005fcc;outline-offset:4px}
@media(max-width:1000px){body[data-field-style] main.shell{padding-inline:24px}.medical-hero-copy{padding:28px 24px 0}.medical-hero-copy h1{font-size:37px}.medical-search{width:64%;margin-left:24px}.medical-hero{min-height:560px}.medical-role-grid{grid-template-columns:repeat(3,1fr)}.medical-steps{padding:32px;gap:24px;grid-template-columns:1fr}.medical-steps-heading>p:not(.eyeline){display:none}.medical-steps-heading h2 br{display:none}.medical-steps ol{margin-top:16px}.medical-steps li>b{margin-bottom:18px}}
@media(max-width:700px){body[data-field-style] main.shell{padding-inline:16px}.medical-hero{display:flex;flex-direction:column;min-height:0;margin-top:12px;border-radius:16px}.medical-hero::before{display:none}.medical-hero-copy{order:-2;width:100%;padding:26px 22px 20px}.medical-hero-copy h1{font-size:32px;line-height:1.35;margin-bottom:12px}.medical-hero-copy h1 br:nth-of-type(2){display:none}.medical-hero-copy>p:not(.eyeline){font-size:14px;line-height:1.8;margin:0}.medical-hero-copy .medical-hero-caption{display:none}.medical-hero>img{order:-1;position:relative;z-index:0;width:100%;height:250px;object-position:center 25%}.medical-mobile-match{display:flex;align-items:center;justify-content:space-between;background:#d9002b;color:#fff;text-decoration:none;padding:16px 20px;min-height:72px;gap:10px}.medical-mobile-match>span:first-child{font-size:22px;border:1px solid #ffffff6b;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.medical-mobile-match strong{font-size:17px}.medical-search{width:auto;margin:0;border-radius:0;padding:0 16px 18px;box-shadow:none}.medical-search form{grid-template-columns:1fr 1fr;gap:12px}.medical-search form>.primary{grid-column:1/-1}.medical-search .region-tablist button{font-size:12px;gap:5px;padding-block:14px}.medical-search .region-tablist .ui-icon{width:15px;height:15px}.medical-photo-note{position:static;order:2;padding:8px 16px;text-align:right;font-size:10px;background:var(--pf-tint)}.medical-hero+.medical-match{display:none!important}.medical-intro{grid-template-columns:1fr;gap:20px;padding:40px 4px 16px}.medical-intro h2{font-size:25px}.medical-intro>p{padding-left:16px;font-size:16px}.medical-profession-photos{gap:12px}.medical-profession-photo{height:205px}.medical-profession-photo>div{width:100%;padding:18px}.medical-profession-photo h3{font-size:24px}.medical-profession-photo p{font-size:12px;max-width:100px;line-height:1.7}.medical-profession-photo img{width:100%;object-position:24% 20%}.medical-profession-photo.nurse img{object-position:74% 20%}.medical-profession-photo::after{background:linear-gradient(0deg,var(--pf-night) 0%,var(--pf-night)b3 40%,var(--pf-night)0a 100%)}.medical-profession-photo.nurse::after{background:linear-gradient(0deg,#345653 0%,#345653b3 40%,#3456530a 100%)}.medical-profession-photo>div{align-self:end}.medical-profession-photo .ui-icon{position:absolute;right:12px;bottom:18px;width:26px;height:26px}.medical-profession-photo>div>span{font-size:9px}.medical-role-grid,.medical-features .medical-role-grid{grid-template-columns:1fr 1fr;gap:8px}.medical-role-grid>a{padding:12px 10px;gap:6px;min-height:64px}.medical-role-grid>a>.ui-icon{width:18px;height:18px}.medical-role-grid strong{font-size:13px}.medical-role-grid>a>span{font-size:12px}body[data-field-style] .section-heading h2{font-size:23px}body[data-field-style] .section-heading>a{font-size:12px;gap:4px}.medical-steps{padding:26px 22px;margin-bottom:32px;border-radius:16px}.medical-steps h2{font-size:25px}.medical-steps ol{grid-template-columns:1fr;gap:22px}.medical-steps li{display:grid;grid-template-columns:45px 1fr;gap:0 14px;padding-left:0;border-left:0;border-top:1px solid #ffffff33;padding-top:22px}.medical-steps li>b{grid-row:span 2;font-size:28px;margin:0}.medical-steps li h3{margin-bottom:6px}.medical-steps li p{font-size:15px}body[data-field-style] .biz-strip{padding:24px;display:block}body[data-field-style] .biz-strip .primary{margin-top:12px;width:100%}body[data-field-style] .biz-strip strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.medical-profession-photo img,.medical-role-grid>a{transition:none}}

body[data-field-style] .medical-hero-copy>p:not(.eyeline):not(.medical-hero-caption),.medical-profession-photo p,.medical-role-grid strong{font-size:16px}.medical-search .feature-pills a{min-height:44px}.medical-search{margin-top:20px}

/* Portrait crops distinguish the two professionals; titles keep contrast on dark cards. */
.medical-profession-photo h3{color:#fff}.medical-profession-photo img{height:160%;top:-10%;object-position:20% top}.medical-profession-photo.nurse img{object-position:85% top}
html body[data-field-style] a.primary,html body[data-field-style] button.primary{color:#fff}html body[data-field-style] .medical-steps a.primary{color:var(--pf-night)}
body[data-field-style] .actions>.primary{background:#d9002b;border-color:#d9002b}
@media(max-width:700px){.medical-profession-photo img{width:100%;height:150%;top:0;object-position:20% top}.medical-profession-photo.nurse img{object-position:85% top}}

@media(max-width:700px){.medical-hero-copy h1 br:nth-of-type(2){display:initial}.medical-search-tab-label>span{display:none}}
@media(max-width:360px){.medical-hero-copy h1{font-size:28px}.medical-hero>img{height:230px}.medical-hero-copy{padding:24px 20px 18px}}
.medical-profession-photo p{text-wrap:balance}
@media(max-width:360px){.medical-mobile-match>span:first-child{display:none}.medical-mobile-match strong{font-size:16px;white-space:nowrap}.medical-hero-copy>p{text-wrap:balance}}

/* Medical search: doctor contract modes, calendar and filters. Classes only (CSP forbids inline styles). */
.medical-role-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.medical-role-filter a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--pf-line);border-radius:999px;color:var(--pf-ink);text-decoration:none;font-size:15px;background:#fff}.medical-role-filter a[aria-current=page]{background:var(--pf-deep);color:#fff;border-color:var(--pf-deep)}
.medical-doctor-mode{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--pf-line);border-radius:12px;overflow:hidden;margin:0 0 20px;background:#fff}.medical-doctor-mode a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:6px 8px;font-weight:700;text-align:center;color:var(--pf-ink);text-decoration:none;border-right:1px solid #e1eaea;font-size:15px}.medical-doctor-mode a:last-child{border-right:0}.medical-doctor-mode a[aria-current=page]{background:var(--pf-deep);color:#fff}.medical-doctor-mode a:focus-visible,.medical-role-filter a:focus-visible{outline:3px solid var(--pf-ink);outline-offset:-3px}
.medical-filter{display:grid;gap:16px;padding:20px;border:1px solid var(--pf-line);border-radius:12px;background:#fff;margin:0 0 18px}.medical-filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.medical-filter .f{display:grid;gap:6px;margin:0}.medical-filter .f span{font-size:14px;font-weight:700;color:var(--pf-ink)}.medical-filter input:not([type=checkbox]),.medical-filter select{min-height:48px;font-size:16px;border:1px solid #bccdcd;border-radius:10px;padding:0 12px;background:#fff;width:100%;box-sizing:border-box}.medical-filter .primary{justify-self:start;min-height:48px}.medical-clear{display:inline-flex;align-items:center;min-height:44px;color:var(--pf-deep);font-size:15px}
.medical-checks{border:0;margin:0;padding:0;grid-column:1/-1}.medical-checks legend{font-size:14px;font-weight:700;color:var(--pf-ink);padding:0;margin-bottom:8px}.medical-checks>div{display:flex;flex-wrap:wrap;gap:8px}.medical-checks label{position:relative}.medical-checks input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.medical-checks label span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #bccdcd;border-radius:999px;font-size:15px;background:#fff}.medical-checks input:checked+span{background:var(--pf-deep);color:#fff;border-color:var(--pf-deep)}.medical-checks input:focus-visible+span{outline:3px solid var(--pf-ink);outline-offset:2px}
.medical-calendar{border:1px solid var(--pf-line);border-radius:12px;background:#fff;padding:18px;margin:0 0 18px}.medical-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.medical-calendar-head h2{font-size:20px;margin:0}.medical-calendar-head a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--pf-line);border-radius:50%;color:var(--pf-ink);text-decoration:none;font-size:20px}.medical-calendar-note{font-size:14px;color:var(--pf-muted);margin:8px 0 12px}.medical-calendar table{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed}.medical-calendar th{font-size:12px;color:var(--pf-muted);padding:4px 0;font-weight:700}.medical-calendar td{padding:0;text-align:center}.medical-calendar td a,.medical-calendar td .is-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;border-radius:8px;font-size:16px;line-height:1.2;text-decoration:none}.medical-calendar td a{background:var(--pf-soft);color:var(--pf-deep);font-weight:700}.medical-calendar td a small{font-size:11px;font-weight:600}.medical-calendar td a[aria-current=date]{background:var(--pf-deep);color:#fff}.medical-calendar td a:focus-visible{outline:3px solid var(--pf-ink);outline-offset:1px}.medical-calendar td .is-empty{color:#9aabaf}
.medical-count{font-weight:700;margin:10px 0 4px}.medical-note{font-size:13px;color:var(--pf-muted);margin:0 0 18px}.medical-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:10px 0 0}.medical-tags li{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--pf-soft);color:var(--pf-ink)}.medical-date{font-size:14px;font-weight:700;color:var(--pf-deep)}
.medical-doctor-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px 56px;align-items:center;padding:72px clamp(20px,6vw,96px);background:var(--pf-soft)}.medical-doctor-entry h2{font-size:clamp(26px,3.4vw,38px);line-height:1.4;letter-spacing:-.03em;margin:0 0 12px}.medical-doctor-entry ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.medical-doctor-entry li a{display:grid;grid-template-columns:7em minmax(0,1fr) auto;gap:6px 16px;align-items:center;min-height:68px;padding:14px 20px;border:1px solid var(--pf-line);border-radius:12px;background:#fff;text-decoration:none;color:var(--pf-ink)}.medical-doctor-entry li a:hover{border-color:#6d9a9a}.medical-doctor-entry li a:focus-visible{outline:3px solid var(--pf-ink);outline-offset:2px}.medical-doctor-entry strong{font-size:18px}.medical-doctor-entry li span:nth-child(2){font-size:14px;color:var(--pf-muted)}
@media(max-width:760px){.medical-doctor-entry{grid-template-columns:1fr;padding:48px 20px}.medical-doctor-entry li a{grid-template-columns:minmax(0,1fr) auto}.medical-doctor-entry li span:nth-child(2){grid-column:1;grid-row:2}.medical-doctor-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.medical-doctor-mode a:nth-child(2){border-right:0}.medical-doctor-mode a:nth-child(-n+2){border-bottom:1px solid #e1eaea}.medical-calendar{padding:12px}}
@media(prefers-reduced-motion:reduce){.medical-doctor-entry li a{transition:none}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
details.medical-role-filter{display:block;margin:0 0 18px;border:1px solid var(--pf-line);border-radius:12px;background:#fff}.medical-role-filter>summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 18px;cursor:pointer;list-style:none;font-size:15px}.medical-role-filter>summary::-webkit-details-marker{display:none}.medical-role-filter>summary span{color:var(--pf-muted)}.medical-role-filter>summary strong{margin-right:auto}.medical-role-filter>summary::after{content:"＋";font-size:18px;color:var(--pf-deep)}.medical-role-filter[open]>summary::after{content:"－"}.medical-role-filter>summary:focus-visible{outline:3px solid var(--pf-ink);outline-offset:-3px;border-radius:12px}.medical-role-filter>div{padding:4px 18px 18px;display:grid;gap:14px}.medical-role-filter section h2{font-size:13px;color:var(--pf-muted);margin:0 0 6px;letter-spacing:.04em}.medical-role-filter section>div{display:flex;flex-wrap:wrap;gap:8px}.medical-role-filter a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--pf-line);border-radius:999px;color:var(--pf-ink);text-decoration:none;font-size:15px;background:#fff;width:auto}.medical-role-filter a[aria-current=page]{background:var(--pf-deep);color:#fff;border-color:var(--pf-deep)}.medical-role-filter a:focus-visible{outline:3px solid var(--pf-ink);outline-offset:2px}
.medical-calendar td a,.medical-calendar td .is-empty{width:100%;box-sizing:border-box}
details.medical-refine{border:1px solid var(--pf-line);border-radius:12px;background:#fff;margin:0 0 18px}.medical-refine>summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 18px;cursor:pointer;list-style:none;font-size:15px}.medical-refine>summary::-webkit-details-marker{display:none}.medical-refine>summary strong{margin-right:auto;color:var(--pf-deep)}.medical-refine>summary::after{content:"＋";font-size:18px;color:var(--pf-deep)}.medical-refine[open]>summary::after{content:"－"}.medical-refine>summary:focus-visible{outline:3px solid var(--pf-ink);outline-offset:-3px;border-radius:12px}.medical-refine .medical-filter{border:0;border-top:1px solid #e6eded;border-radius:0 0 12px 12px;margin:0}
details.medical-fold>summary{display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid #bccdcd;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;color:var(--pf-ink);list-style:none}details.medical-fold>summary::-webkit-details-marker{display:none}details.medical-fold>summary::after{content:"＋";margin-left:auto}details.medical-fold[open]>summary::after{content:"－"}details.medical-fold>div{padding-top:10px}details.medical-fold>summary:focus-visible{outline:3px solid var(--pf-ink);outline-offset:2px}

/* Shared field-portal sections: latest jobs (or an honest empty state) and the three-point guide. Classes only (CSP forbids inline styles). */
body[data-field-style] .field-latest,body[data-field-style] .field-guide{padding:28px 0 38px;margin:0}
body[data-field-style] .field-latest .job-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.field-empty{padding:32px;border:1px solid var(--pf-line);border-radius:16px;background:var(--pf-soft)}
.field-empty h2,.field-empty h3{font-size:20px;line-height:1.5;margin:0 0 8px;color:var(--pf-ink)}
.field-empty p{font-size:16px;line-height:1.85;margin:0 0 8px;color:var(--pf-muted)}
.field-empty a{display:inline-flex;align-items:center;min-height:44px;color:var(--pf-accent-dark);font-weight:700;margin-right:20px}
.field-guide ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.field-guide li{padding:26px 24px;border:1px solid var(--pf-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px #14243a0a,0 10px 28px -10px #14243a1a}
.field-guide li>b{display:block;font-size:13px;letter-spacing:.14em;color:var(--pf-accent-dark);margin-bottom:12px}
.field-guide h3{font-size:18px;line-height:1.5;margin:0 0 10px;color:var(--pf-ink)}
.field-guide p{font-size:16px;line-height:1.85;margin:0;color:var(--pf-muted)}
@media(max-width:1000px){body[data-field-style] .field-latest .job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-guide ol{grid-template-columns:1fr}}
@media(max-width:700px){body[data-field-style] .field-latest .job-grid{grid-template-columns:1fr}.field-empty{padding:24px 20px}.field-guide li{padding:22px 20px}}

/* Headings inside the dark AI band must stay light; the global heading colour is the page ink. */
.medical-steps h2,.medical-steps h3{color:#fff}
.medical-steps li>b{color:var(--pf-mint)}
body[data-field-style] .medical-steps{background:var(--pf-night)}
@media(max-width:700px){body:is([data-vertical="nursery"],[data-vertical="hospitality"]) .medical-role-grid>a>span{display:none}body:is([data-vertical="nursery"],[data-vertical="hospitality"]) .medical-search input::placeholder{font-size:14px}}

/* Tie the older shared components (area tabs, strips) to the portal accent, and set Japanese line breaking at phrase boundaries. */
body[data-field-style]{--field:var(--pf-accent);--field-bg:var(--pf-tint)}
body[data-field-style] .region-section{background:#fff;border:1px solid var(--pf-line)}
body[data-field-style] .biz-strip{width:auto;margin-inline:0}
body[data-field-style] main :is(h1,h2,h3){word-break:auto-phrase;text-wrap:balance}
body[data-field-style] main :is(p,li,dd){word-break:auto-phrase;text-wrap:pretty}
body[data-field-style] .region-section .region-panel a{border:1px solid var(--pf-line);border-radius:12px;background:#fff}
body[data-field-style] .region-section .region-panel a:hover{border-color:var(--pf-accent)}
body[data-field-style] .job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
body[data-field-style] .job-card{margin:0}
body[data-field-style] .job-card h2{font-size:18px;line-height:1.6;margin:6px 0 10px}
body[data-field-style] .job-card .job-card-body{padding:22px}
body[data-field-style] .job-card-area{font-size:14px;color:var(--pf-muted);margin:0}
body[data-vertical="hospitality"] .medical-hero>img{object-position:78% center}
body[data-vertical="nursery"] .medical-hero>img{object-position:68% center}
body[data-vertical="construction"] .medical-hero>img{object-position:62% center}
@media(max-width:700px){body[data-vertical="hospitality"] .medical-hero>img{object-position:62% center}body[data-vertical="nursery"] .medical-hero>img{object-position:70% center}}
@media(max-width:700px){body[data-field-style] .medical-role-grid>a:last-child:nth-child(odd){grid-column:1/-1}}

/* Search result cards (all field portals): photo-led grid; PREMIUM is a featured card (about 1.5x the information of a normal card, same width). */
.rk-search-grid{--rk-h:540px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;align-items:stretch;margin-bottom:18px}
.rk-search-grid .job-card{overflow:hidden;padding:0;display:flex;flex-direction:column;height:var(--rk-h)}
.rk-search-grid .job-card h2{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rk-search-grid .job-card-photo{flex:none}
.rk-search-grid .job-card-photo{display:block;height:140px;overflow:hidden;background:var(--pf-soft,#f0f6f3)}
.rk-search-grid .job-card-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 32%}
.rk-search-grid .job-card-body{padding:16px 18px 18px;flex:1;min-height:0;overflow:hidden}
.rk-search-grid .job-card.is-featured{border-color:var(--pf-accent,#0e7a5f);box-shadow:0 1px 2px rgba(20,36,58,.05),0 24px 48px -26px rgba(14,122,95,.5)}
.rk-search-grid .job-card.is-featured{height:calc(var(--rk-h)*1.4)}
.rk-search-grid .job-card.is-featured .job-card-photo{aspect-ratio:auto;height:230px}
.rk-search-grid .job-card.is-featured .job-card-body{padding:18px 20px 22px}
.rk-search-grid .job-card.is-featured h2{font-size:20px;line-height:1.5}
.rk-blurb{margin:8px 0 10px;font-size:14px;line-height:1.8;color:var(--pf-muted,#44556a);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rk-more{display:inline-block;margin-top:10px;font-weight:800;font-size:14px;color:var(--pf-accent-dark,#0b6350)}
@media(max-width:760px){.rk-search-grid{grid-template-columns:1fr}.rk-search-grid .job-card,.rk-search-grid .job-card.is-featured{height:auto}.rk-search-grid .job-card.is-featured .job-card-photo{height:auto;aspect-ratio:4/3}}
/* Doctor and nurse cards show different people from the same photo; text never underlined. */
.medical-profession-photo.doctor img{object-position:30% 20%}
.medical-profession-photo.nurse img{object-position:38% 25%}
.medical-profession-photo,.medical-profession-photo:hover,.medical-profession-photo *,.medical-profession-photo:hover *{text-decoration:none}
@media(max-width:700px){.medical-profession-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(14 44 48 / 88%) 0,rgb(14 44 48 / 62%) 52%,rgb(14 44 48 / 18%) 100%);z-index:0}.medical-profession-photo>div{z-index:1}}
