/* Adaptive Dive Network's live directory uses the original 15A design system. */
.adn-directory { --dir-border:#c8d5cf; --dir-paper:#f9f8f2; --dir-deep:#11373a; --dir-subtle:#4d6c66; color:#183339; }
.adn-directory button, .adn-directory input, .adn-directory select { font-family:var(--body); }
.adn-directory a:focus-visible, .adn-directory button:focus-visible { outline:3px solid #d7a93c; outline-offset:3px; }
.adn-directory .dir-eyebrow { display:block; font-weight:800; font-size:12px; color:#4a6b63; letter-spacing:.02em; margin-bottom:13px; }
.adn-directory .dir-kicker { margin:0 0 19px; color:#4f7069; font-size:15px; line-height:1.6; }
.adn-directory .dir-shell { background:var(--dir-paper); border-left:7px solid #f5c451; padding:27px; box-shadow:0 13px 38px rgba(8,37,37,.08); }
.adn-directory .dir-search-row { display:grid; grid-template-columns:minmax(200px,2.2fr) minmax(160px,1fr) auto; gap:12px; align-items:end; }
.adn-directory .dir-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.adn-directory .dir-field label { font-size:12px; font-weight:800; color:#446a64; }
.adn-directory .dir-field input, .adn-directory .dir-field select { appearance:auto; min-height:51px; border:1px solid #b8c9bf; background:white; color:#163e3e; padding:10px 13px; border-radius:1px; font-size:15px; width:100%; }
.adn-directory .dir-primary { border:0; background:#11373a; color:white; font-weight:800; font-size:14px; min-height:51px; padding:13px 22px; cursor:pointer; }
.adn-directory .dir-primary:hover { background:#28595c; }
.adn-directory .dir-advanced { margin-top:19px; border-top:1px solid #d3ddd5; padding-top:15px; }
.adn-directory .dir-advanced summary { font-size:14px; cursor:pointer; font-weight:800; color:#204f50; width:fit-content; }
.adn-directory .dir-facets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:17px 0 8px; }
.adn-directory .dir-actions { display:flex; justify-content:space-between; align-items:center; gap:15px; flex-wrap:wrap; margin-top:22px; }
.adn-directory .dir-saved { display:flex; align-items:center; gap:9px; font-size:13px; color:#294f4d; font-weight:700; cursor:pointer; }
.adn-directory .dir-saved input { width:17px; height:17px; accent-color:#11373a; }
.adn-directory .dir-clear { background:transparent; border:0; border-bottom:1px solid #729c9a; color:#214c4e; cursor:pointer; font-size:13px; padding:4px 0; font-weight:800; }
.adn-directory .dir-helper { margin:17px 0 0; font-size:12px; line-height:1.6; color:#54746d; }
.adn-directory .dir-toolbar { margin:35px 0 21px; display:flex; align-items:center; gap:15px; justify-content:space-between; flex-wrap:wrap; }
.adn-directory .dir-toolbar strong { font-size:17px; color:#183a3b; }
.adn-directory .dir-filter-chip { display:inline-flex; align-items:center; gap:8px; font-size:12px; background:#d2e3d9; border:1px solid #acc8bc; padding:8px 12px; color:#285553; }
.adn-directory [hidden] { display:none!important; }
.adn-directory .dir-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
.adn-directory .dir-card { display:flex; flex-direction:column; background:#faf9f4; border:1px solid #cad7cc; padding:25px 25px 22px; min-height:370px; transition:transform .2s,box-shadow .2s; }
.adn-directory .dir-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(15,49,45,.1); }
.adn-directory .dir-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:21px; }
.adn-directory .dir-monogram { width:61px; height:61px; display:flex; justify-content:center; align-items:center; flex-shrink:0; background:#dbe7dd; color:#1a5150; border:1px solid #a6c1b5; font:600 30px/1 var(--display); letter-spacing:.02em; }
.adn-directory .dir-tag { font-size:11px; line-height:1.35; color:#3b625f; border:1px solid #b4cbc0; border-radius:20px; padding:6px 9px; background:#e9f1e9; text-align:right; font-weight:750; }
.adn-directory .dir-card h3 { font:600 33px/1.02 var(--display); margin:0 0 9px; letter-spacing:-.01em; }
.adn-directory .dir-card h3 a:hover { text-decoration:underline; text-decoration-color:#7da9a0; }
.adn-directory .dir-place { margin:0 0 16px; color:#57766f; font-size:13px; font-weight:800; }
.adn-directory .dir-desc { font-size:14px; line-height:1.55; color:#45645e; margin:0 0 17px; }
.adn-directory .dir-offer-list { margin:0 0 18px; padding:0; list-style:none; font-size:13px; line-height:1.45; color:#254d4d; }
.adn-directory .dir-offer-list li { border-left:2px solid #91b3a6; padding-left:10px; margin:8px 0; }
.adn-directory .dir-card-end { margin-top:auto; padding-top:19px; border-top:1px solid #cfdbd1; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.adn-directory .dir-card-end a { font-weight:800; font-size:13px; color:#1a5250; }
.adn-directory .dir-card-end a:hover { text-decoration:underline; }
.adn-directory .dir-save { color:#1a4c4b; background:transparent; border:1px solid #b3cbc1; padding:9px 11px; font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; }
.adn-directory .dir-save[aria-pressed="true"] { background:#204d4a; color:white; border-color:#204d4a; }
.adn-directory .dir-state { padding:36px; background:#f9f8f2; border-left:4px solid #729c9a; color:#385d55; font-size:15px; line-height:1.7; }
.adn-directory .dir-state h3 { font:600 29px/1.1 var(--display); margin:0 0 10px; color:#193f3e; }
.adn-directory .dir-warning { background:#fff5d9; border-left:4px solid #c69f39; padding:13px 17px; font-size:13px; line-height:1.55; margin:18px 0; }
.adn-directory .dir-verified { color:#6f5e30; background:#fbf1d4; padding:7px 10px; font-size:12px; font-weight:800; }
.adn-directory .dir-sources-note { font-size:12px; line-height:1.6; color:#57756f; margin-top:19px; }
.adn-featured-section { background:#ecefe7; }
.adn-featured-section .dir-grid { margin-top:28px; }
.adn-featured-section .adn-directory .dir-card { min-height:350px; }
.adn-featured-section .dir-more { display:inline-flex; background:#11373a; color:#fff; padding:17px 24px; font-size:14px; font-weight:800; margin-top:35px; }
.adn-featured-section .dir-more:hover { background:#265b5c; }
.profile-page { background:#f3f1e9; }
.profile-page .hero { min-height:475px; background:#123236; }
.profile-page .hero::before { content:""; background:url('/assets/turtle-divers.jpg') center 52%/cover; position:absolute; inset:0; z-index:-2; filter:saturate(.68); }
.profile-page .hero::after { content:""; background:linear-gradient(90deg,rgba(7,32,34,.91),rgba(7,32,34,.34)); position:absolute; inset:0; z-index:-1; }
.profile-page .profile-hero-inner { max-width:1270px; margin:auto; padding:100px clamp(22px,5vw,80px) 80px; }
.profile-page .profile-hero-inner h1 { font:600 clamp(65px,9vw,121px)/.89 var(--display); margin:22px 0 16px; max-width:1000px; }
.profile-page .profile-hero-inner p { max-width:630px; font-size:17px; color:#d9ebe4; line-height:1.6; }
.profile-page .profile-breadcrumb { color:#d9e9df; font-size:13px; }
.profile-page .profile-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.profile-page .profile-content { max-width:1270px; margin:auto; padding:75px clamp(22px,5vw,80px) 110px; }
.profile-page .profile-summary { background:#f9f8f2; border-left:7px solid #f5c451; padding:29px; display:flex; align-items:flex-start; justify-content:space-between; gap:25px; }
.profile-page .profile-identity { display:flex; align-items:flex-start; gap:22px; }
.profile-page .profile-identity .dir-monogram { width:88px; height:88px; font-size:43px; }
.profile-page .profile-identity h2 { font:600 45px/1 var(--display); margin:0 0 8px; }
.profile-page .profile-identity p { margin:8px 0; font-size:15px; line-height:1.6; max-width:650px; color:#527169; }
.profile-page .profile-facts { margin:19px 0 55px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.profile-page .profile-fact { background:#e3ebe1; padding:19px 22px; }
.profile-page .profile-fact small { display:block; font-size:12px; color:#56736b; font-weight:800; margin-bottom:8px; }
.profile-page .profile-fact strong { color:#224748; font-size:16px; line-height:1.4; }
.profile-page .profile-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.68fr); gap:48px; align-items:start; }
.profile-page .profile-group { border-top:2px solid #527a73; padding-top:23px; margin-bottom:49px; }
.profile-page .profile-group h2 { font:600 clamp(43px,5vw,63px)/1 var(--display); margin:0 0 14px; }
.profile-page .profile-group .group-intro { color:#526e69; font-size:14px; line-height:1.65; max-width:680px; }
.profile-page .profile-item { padding:21px 0 22px; border-bottom:1px solid #c5d3ca; }
.profile-page .profile-item h3 { font:600 27px/1.08 var(--display); margin:0 0 10px; }
.profile-page .profile-item p { margin:8px 0; font-size:14px; line-height:1.65; color:#44655f; }
.profile-page .profile-item .dir-tag { display:inline-block; border-radius:0; margin:4px 8px 9px 0; text-align:left; }
.profile-page .profile-aside { background:#e0e9df; padding:27px; position:sticky; top:18px; }
.profile-page .profile-aside h3 { font:600 31px/1.1 var(--display); margin:0 0 12px; }
.profile-page .profile-aside p, .profile-page .profile-aside li { font-size:14px; line-height:1.65; color:#44655f; }
.profile-page .profile-aside ul { padding-left:20px; }
.profile-page .profile-aside a, .profile-page .profile-item a { color:#14565a; font-weight:800; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.profile-page .profile-aside .dir-primary { display:inline-flex; align-items:center; text-decoration:none; color:white; margin:9px 0; }
.profile-page .profile-source-list { list-style:none; padding:0; margin:0; }
.profile-page .profile-source-list li { padding:12px 0; border-bottom:1px solid #c5d3ca; font-size:14px; }
.profile-page .profile-source-list small { display:block; margin-top:6px; color:#59746f; font-size:12px; }
.profile-page .profile-empty { font-size:14px; color:#5b736d; line-height:1.6; }
.profile-page .footer { max-width:1270px; }
@media(max-width:1050px) {
  .adn-directory .dir-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-page .profile-layout { grid-template-columns:minmax(0,1fr) 290px; gap:25px; }
}
@media(max-width:760px) {
  .adn-directory .dir-search-row { grid-template-columns:1fr 1fr; }
  .adn-directory .dir-search-row .dir-field:first-child { grid-column:1/-1; }
  .adn-directory .dir-primary { width:100%; }
  .adn-directory .dir-facets { grid-template-columns:1fr 1fr; }
  .profile-page .profile-layout { display:flex; flex-direction:column; }
  .profile-page .profile-aside { order:-1; position:static; width:100%; }
  .profile-page .profile-facts { grid-template-columns:1fr 1fr; }
  .profile-page .profile-summary { flex-direction:column; }
  .profile-page .profile-hero-inner { padding:90px 24px 65px; }
}
@media(max-width:560px) {
  .adn-directory .dir-shell { padding:20px 17px; }
  .adn-directory .dir-search-row, .adn-directory .dir-facets, .adn-directory .dir-grid { display:grid; grid-template-columns:1fr; }
  .adn-directory .dir-search-row .dir-field:first-child { grid-column:auto; }
  .adn-directory .dir-card { min-height:330px; }
  .profile-page .profile-facts { grid-template-columns:1fr; }
  .profile-page .profile-content { padding:52px 20px 70px; }
  .profile-page .profile-identity { flex-direction:column; }
  .profile-page .profile-summary { padding:20px; }
  .profile-page .profile-identity h2 { font-size:39px; }
}
@media(prefers-reduced-motion:reduce) {
  .adn-directory .dir-card { transition:none; }
  .adn-directory .dir-card:hover { transform:none; }
}

/* Batch 1: a single visual language for discovery, profiles and sharing. */
.dir-icon { width:20px; height:20px; flex:0 0 20px; vertical-align:middle; }
.adn-directory { overflow-wrap:break-word; }
.adn-directory button:focus-visible, .adn-directory summary:focus-visible,
.adn-directory input:focus-visible, .adn-directory select:focus-visible { outline:3px solid #aa7422; outline-offset:3px; }
.adn-directory .dir-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid #9db9ad; border-radius:5px; background:#fafbf6; color:#164a49; min-height:44px; padding:10px 13px; font:750 13px/1.3 var(--body); cursor:pointer; text-decoration:none; }
.adn-directory .dir-button:hover { background:#e5eee5; border-color:#416f65; }
.adn-directory .dir-button-primary { background:#11373a; color:#fff; border-color:#11373a; }
.adn-directory .dir-button-primary:hover { background:#28595c; color:#fff; }
.adn-directory .dir-button-quiet { background:transparent; border-color:transparent; padding:8px 9px; }
.adn-directory .dir-save { white-space:nowrap; }
.adn-directory .dir-save[aria-pressed="true"] { background:#204d4a; color:#fff; border-color:#204d4a; }
.dir-share-actions { display:inline-flex; gap:2px; flex-wrap:wrap; }
.dir-identity-mark { display:flex; align-items:center; justify-content:center; flex:0 0 64px; width:64px; height:64px; border:1px solid #c2d3c7; border-radius:12px; background:#fff; }
.dir-identity-mark img { width:100%; height:100%; object-fit:contain; padding:8px; }
.dir-identity-fallback { background:#e7eee4; color:#235453; font:600 28px/1 var(--display); letter-spacing:.02em; }
.dir-type { font-size:11px; font-weight:800; line-height:1.4; text-transform:uppercase; letter-spacing:.06em; color:#4c6c65; }
.dir-chips { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0; }
.dir-category { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid transparent; border-radius:6px; font:750 12px/1.25 var(--body); }
.dir-category .dir-icon { width:18px; height:18px; flex-basis:18px; }
.cat-learn { color:#205359; background:#deeced; border-color:#c4dcdf; }
.cat-support { color:#2e5d43; background:#e2edde; border-color:#c5d9bd; }
.cat-professional { color:#654e16; background:#f6edce; border-color:#e4d6a5; }
.cat-explore { color:#345981; background:#e5ecf7; border-color:#cad8ed; }
.dir-status { display:inline-flex; align-items:center; gap:5px; font:700 11px/1.3 var(--body); color:#62572f; border-radius:4px; padding:5px 7px; background:#f7f0dd; }
.dir-status .dir-icon { width:14px; height:14px; flex-basis:14px; }
.status-unavailable, .status-expired { background:#f6e7e0; color:#75402e; }
.status-not_reported, .status-not_confirmed { background:#e9ede7; color:#4b625a; }
.dir-small { font:500 12px/1.6 var(--body); color:#4f6e66; }
.dir-text-link { color:#14565a; text-decoration:underline; text-underline-offset:3px; font-weight:750; }
.adn-directory .dir-place { display:flex; gap:6px; align-items:flex-start; font-size:12px; line-height:1.5; margin:9px 0 10px; }
.dir-place .dir-icon { width:16px; height:16px; flex-basis:16px; margin-top:1px; }
.adn-directory .dir-card { border-radius:9px; padding:22px; min-height:0; }
.adn-directory .dir-card-top { align-items:center; margin-bottom:17px; }
.adn-directory .dir-card-top .dir-type { max-width:110px; text-align:right; }
.adn-directory .dir-card h3 { font-size:32px; line-height:1.06; }
.adn-directory .dir-card .dir-desc { margin:0 0 12px; line-height:1.55; }
.adn-directory .dir-offer-list li { border:0; padding:0; margin:10px 0; }
.adn-directory .dir-offer-list a { display:flex; gap:8px; align-items:flex-start; font-size:12px; font-weight:750; text-decoration:underline; text-decoration-color:#9ab6ad; text-underline-offset:3px; }
.dir-offer-list .dir-icon { width:17px; height:17px; flex-basis:17px; }
.dir-offer-list small { display:block; margin:4px 0 0 25px; color:#6a613b; font-size:11px; }
.adn-directory .dir-card-end { margin-top:auto; padding-top:14px; }
.dir-card-sharing { border-top:1px solid #e0e7dc; margin-top:12px; padding-top:5px; }
.dir-card-sharing .dir-button { font-size:12px; }
.adn-featured-section .adn-directory .dir-card { min-height:0; }
.dir-legend { margin:14px 0 20px; color:#365951; font-size:12px; }
.dir-legend summary { cursor:pointer; width:fit-content; font-weight:800; padding:7px 0; }
.dir-legend summary .dir-icon { width:16px; height:16px; margin-right:5px; }
.dir-key-grid { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.dir-legend p { max-width:650px; line-height:1.6; }
.dir-disclosure { border-top:1px solid #d5dfd3; margin-top:13px; }
.dir-disclosure summary { padding:12px 0; cursor:pointer; font:750 12px/1.5 var(--body); color:#2c5951; }
.dir-disclosure-body { padding-bottom:10px; }
.dir-disclosure-body p { margin:8px 0; font-size:13px; line-height:1.65; }
.dir-disclosure-body a { color:#14565a; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.nav-saved { display:inline-flex; gap:5px; align-items:center; }
.nav-saved span { font-size:11px; padding:2px 6px; border-radius:10px; border:1px solid #729c9a; }
.profile-page .hero { min-height:0; overflow:visible; }
.profile-page .hero::before { background-position:center 47%; }
.profile-page .profile-hero-inner { padding:16px clamp(22px,5vw,80px) 27px; }
.profile-page .profile-breadcrumb { font-size:12px; line-height:1.5; }
.profile-page .profile-content { max-width:1420px; padding:36px clamp(22px,5vw,80px) 80px; }
.profile-overview { padding:28px 30px 0; border:1px solid #c8d5c9; border-left:5px solid #e4b74d; border-radius:8px; background:#faf9f3; box-shadow:0 8px 32px rgba(13,43,37,.04); }
.profile-page .profile-identity { display:flex; gap:23px; align-items:center; }
.profile-identity>div { min-width:0; }
.profile-identity .dir-identity-mark { width:84px; height:84px; flex-basis:84px; font-size:36px; }
.profile-identity h1 { font:600 clamp(38px,4vw,62px)/1 var(--display); color:#173f40; margin:7px 0 0; letter-spacing:-.01em; }
.profile-page .profile-identity .profile-intro { margin:9px 0 0; color:#47675f; font-size:15px; line-height:1.55; max-width:850px; }
.profile-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin:24px 0 20px; }
.profile-review-strip { display:flex; flex-wrap:wrap; gap:9px 22px; border-top:1px solid #d4ded2; padding:13px 0; font:600 11px/1.5 var(--body); color:#5b6f61; }
.profile-review-strip>span { display:inline-flex; align-items:center; gap:6px; }
.profile-review-strip .dir-icon { width:14px; height:14px; flex-basis:14px; }
.profile-overview-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:17px 0 35px; }
.profile-overview-stats a { display:flex; align-items:center; gap:10px; padding:17px; border:1px solid #c8d8cd; border-radius:7px; background:#e7eee4; color:#295750; }
.profile-overview-stats a:hover { background:#dae7d9; }
.profile-overview-stats strong { font:600 28px/1 var(--display); }
.profile-overview-stats span { font-size:12px; font-weight:750; }
.profile-page .profile-layout { display:grid; grid-template-columns:minmax(0,1fr) 265px; gap:32px; align-items:start; }
.profile-main-column { min-width:0; }
.profile-at-glance { margin:0 0 30px; }
.profile-page .profile-at-glance h2 { font:600 27px/1.1 var(--display); margin:0 0 12px; letter-spacing:0; }
.profile-page .profile-at-glance .dir-legend { margin-bottom:0; }
.profile-page .profile-group { padding-top:22px; margin-bottom:33px; border-top:1px solid #b6ccc1; scroll-margin-top:22px; }
.profile-section-heading { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.profile-page .profile-group h2 { font:600 35px/1.1 var(--display); margin:0; letter-spacing:-.01em; }
.dir-count { display:inline-flex; align-items:center; justify-content:center; min-width:27px; height:27px; border-radius:50%; background:#dce8dd; font-size:12px; font-weight:800; color:#305f54; }
.profile-page .profile-group .group-intro { font-size:12px; line-height:1.5; margin:0 0 18px; }
.profile-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.profile-page .profile-item { border:1px solid #c7d7ca; background:#fafbf6; border-radius:8px; padding:19px; min-width:0; }
.profile-page .profile-item h3 { font:600 26px/1.14 var(--display); margin:14px 0 9px; letter-spacing:0; }
.profile-page .profile-item p { font-size:12px; line-height:1.6; margin:8px 0; }
.offering-card { display:flex; flex-direction:column; scroll-margin-top:25px; }
.offering-card:target { border-color:#9a752b; box-shadow:0 0 0 3px rgba(211,168,63,.22); }
.offering-card-top { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.offering-card-top .dir-category { padding:6px 8px; font-size:11px; }
.offering-delivery { display:flex; align-items:center; gap:6px; font-size:11px; color:#4a685d; line-height:1.4; }
.offering-delivery .dir-icon { width:15px; height:15px; flex-basis:15px; }
.offering-destination { display:flex; gap:6px; align-items:center; }
.offering-conditions { border-left:3px solid #b8a365; background:#f5f1e5; padding:2px 10px; margin:12px 0 3px; }
.offering-card-footer { display:flex; align-items:center; flex-wrap:wrap; gap:5px; padding-top:10px; margin-top:auto; }
.profile-page .offering-card-footer .dir-provider-link { font-size:12px; padding:8px 0; }
.offering-card-footer .dir-button { font-size:11px; padding:6px; min-height:40px; }
.offering-card-footer .dir-icon { width:16px; height:16px; flex-basis:16px; }
.support-heading { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.support-icon { display:flex; align-items:center; justify-content:center; background:#e3ecdf; color:#315f4b; border-radius:8px; width:40px; height:40px; flex:0 0 40px; }
.profile-page .support-heading h3 { font-size:23px; margin:0; }
.dir-arrange { display:flex; gap:6px; align-items:center; color:#705c26; }
.relationship-identity { display:flex; gap:12px; align-items:center; margin-bottom:11px; }
.relationship-identity .dir-identity-mark { width:49px; height:49px; flex-basis:49px; border-radius:7px; font-size:22px; }
.profile-page .relationship-identity h3 { margin:0 0 4px; font-size:25px; }
.relationship-scope { margin:8px 0 0; }
.profile-source-section .dir-disclosure { margin-top:17px; }
.profile-page .profile-source-list { margin:0; }
.profile-page .profile-source-list li { font-size:12px; }
.profile-page .profile-aside { background:#e3ebe0; border:1px solid #cad8c5; border-radius:8px; padding:24px; top:20px; }
.profile-page .profile-aside h2 { font:600 29px/1.1 var(--display); margin:0 0 18px; letter-spacing:0; }
.profile-next-steps { list-style:none; margin:0; padding:0; }
.profile-page .profile-next-steps li { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.5; margin:0 0 17px; }
.profile-next-steps .dir-icon { margin-top:1px; color:#346353; }
.profile-contact-details { border-top:1px solid #c0d0bd; margin-top:22px; padding-top:10px; }
.profile-page .profile-contact-details p { font-size:12px; }
.profile-contact-details p span { display:block; margin-top:3px; }
.profile-page .profile-aside .dir-small { font-size:12px; margin-top:20px; }
.profile-browse-links { display:flex; flex-direction:column; gap:12px; margin-top:23px; font-size:12px; }
.adn-action-status { position:fixed; bottom:22px; left:50%; transform:translateX(-50%); z-index:100; border-radius:7px; background:#11373a; color:#fff; font:650 13px/1.5 var(--body); max-width:calc(100% - 32px); width:max-content; padding:13px 20px; box-shadow:0 4px 25px #0003; }
.adn-action-status:empty { display:none; }
.adn-share-dialog { max-width:540px; width:calc(100% - 30px); padding:24px; border:1px solid #b6cbbd; border-radius:10px; background:#faf9f2; color:#1c4443; }
.adn-share-dialog::backdrop { background:rgba(8,28,29,.65); }
.share-dialog-top { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.share-dialog-top h2 { font:600 32px/1.1 var(--display); letter-spacing:0; margin:0; }
.adn-share-dialog p { font-size:14px; line-height:1.6; }
.adn-share-dialog label { display:block; font-size:12px; font-weight:800; margin:20px 0 7px; }
.adn-share-dialog input { width:100%; min-height:48px; padding:10px; border:1px solid #a9bfb3; border-radius:4px; background:#fff; font-size:13px; color:#244c46; }
.share-dialog-actions { margin-top:13px; }
.adn-share-dialog .dir-small { font-size:12px; }
.listing-guide { max-width:1000px; padding:50px clamp(22px,5vw,60px) 80px; margin:auto; }
.listing-guide h1 { font:600 clamp(43px,6vw,70px)/1 var(--display); margin:0 0 20px; }
.listing-guide h2 { font:600 33px/1.1 var(--display); margin:0 0 13px; letter-spacing:0; }
.guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0; }
.guide-card { padding:23px; border:1px solid #c7d7ca; border-radius:8px; background:#fafbf6; }
.guide-card p, .guide-card li, .listing-guide>p { font-size:14px; line-height:1.7; }
.guide-card ul { padding-left:20px; }
.guide-card a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1150px) {
  .profile-page .profile-layout { grid-template-columns:minmax(0,1fr) 235px; gap:22px; }
  .profile-card-grid { grid-template-columns:1fr; }
}
@media(max-width:850px) {
  .profile-page .profile-layout { grid-template-columns:1fr; }
  .profile-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-page .profile-aside { position:static; order:0; }
}
@media(max-width:760px) {
  .profile-page .hero { min-height:0; }
  .profile-page .profile-hero-inner { padding:13px 22px 23px; }
  .profile-page .profile-content { padding:24px 20px 65px; }
  .profile-overview { padding:22px 20px 0; }
  .profile-page .profile-identity { flex-direction:row; align-items:flex-start; gap:15px; }
  .profile-identity .dir-identity-mark { width:60px; height:60px; flex-basis:60px; font-size:28px; }
  .profile-identity h1 { font-size:40px; }
  .profile-overview-stats { gap:8px; }
  .profile-overview-stats a { flex-wrap:wrap; gap:6px; padding:12px; }
  .profile-overview-stats span { width:100%; font-size:11px; }
  .profile-page .profile-group h2 { font-size:31px; }
  .ribbon, .preview-ribbon { min-height:30px; height:auto; text-align:center; padding:7px 15px; line-height:1.4; }
}
@media(max-width:560px) {
  .profile-card-grid, .guide-grid { grid-template-columns:1fr; }
  .profile-page .profile-identity .profile-intro { font-size:14px; }
  .profile-actions { gap:8px; margin-top:20px; }
  .profile-actions>.dir-share-actions { width:100%; border-top:1px solid #d5ded1; padding-top:8px; }
  .profile-review-strip { display:grid; gap:6px; }
  .profile-overview-stats { margin-bottom:26px; }
  .adn-directory .dir-card { padding:20px; }
  .adn-directory .dir-toolbar { margin-top:25px; gap:10px; }
  .adn-directory .dir-toolbar strong { font-size:15px; }
}

/* Batch 2: the same matching profiles remain available in either view. */
.adn-directory .dir-view-toggle { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 20px; }
.adn-directory .dir-view-toggle [aria-pressed="true"] { color:#fff; background:#17484a; border-color:#17484a; }
.adn-directory .dir-results-workspace { min-width:0; }
.adn-directory .dir-map-panel { min-width:0; margin-bottom:22px; }
.adn-directory .dir-card-map-selected { outline:3px solid #1c7376; outline-offset:2px; }
.adn-directory .dir-card-sharing { flex-wrap:wrap; }
.adn-directory .dir-results-workspace > * { min-width:0; }
.profile-map { margin-top:22px; min-width:0; }
.profile-section-nav { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 30px; }
.profile-section-nav a { display:inline-flex; align-items:center; gap:7px; padding:10px 12px; min-height:44px; border:1px solid #c8d8cd; border-radius:6px; background:#f5f7ef; color:#295750; font-size:12px; font-weight:750; }
.profile-section-nav a:hover { background:#e1ecdf; }
.profile-section-nav .dir-icon { width:17px; height:17px; flex-basis:17px; }
.profile-section-nav small { font-size:11px; border-left:1px solid #bccfc2; padding-left:7px; }
.profile-activity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.profile-activity { display:flex; flex-direction:column; align-items:flex-start; min-height:148px; border:1px solid; border-radius:10px; padding:16px; text-decoration:none; transition:box-shadow .15s ease; }
.profile-activity:hover { box-shadow:inset 0 0 0 1px currentColor; }
.profile-activity-icon { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid currentColor; border-radius:50%; margin-bottom:13px; }
.profile-activity-icon .dir-icon { width:26px; height:26px; flex-basis:26px; }
.profile-activity strong { font:750 13px/1.4 var(--body); }
.profile-activity > span:last-child { margin-top:auto; padding-top:6px; font-size:11px; }
.profile-section-icon { display:flex; align-items:center; justify-content:center; width:38px; height:38px; flex:0 0 38px; border:1px solid #b6ccc1; border-radius:50%; color:#315f4b; }
.profile-page .profile-group h2 { font-size:30px; }
.profile-page .profile-item h3 { font-size:24px; }
.profile-page .offering-card .dir-disclosure { margin-top:auto; }
.offering-conditions + .dir-disclosure { margin-top:13px !important; }
.profile-page .relationship-card { padding:16px; }
.profile-page .relationship-identity h3 { font-size:22px; }
.profile-page .relationship-card .dir-disclosure { margin-top:9px; }
@media(max-width:640px) {
  .profile-page .profile-identity { flex-direction:column; align-items:flex-start; gap:15px; }
  .profile-page .profile-identity > div { width:100%; }
  .profile-activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-activity { padding:14px; min-height:142px; }
  .profile-section-nav { gap:6px; margin-bottom:25px; }
  .profile-section-nav a { padding:9px; font-size:11px; }
  .profile-page .profile-group h2 { font-size:27px; }
  .profile-section-heading { gap:8px; }
}
@media(min-width:1100px) {
  .adn-directory .dir-with-map { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
  .adn-directory .dir-with-map > #directory-results { grid-column:1; grid-row:1; }
  .adn-directory .dir-with-map > .dir-map-panel { grid-column:2; grid-row:1; position:sticky; top:20px; }
  .adn-directory .dir-with-map .dir-grid { grid-template-columns:1fr; }
}

/* Long published names and URLs must not widen a narrow visitor viewport. */
.profile-identity h1, .adn-directory .dir-card h3, .profile-page .profile-item h3 { overflow-wrap:anywhere; }
.guide-card, .profile-actions, .profile-overview, .dir-toolbar > * { min-width:0; }
.adn-directory .dir-clear { min-height:32px; padding:7px 0; }
.adn-directory .dir-saved { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:360px) {
  .profile-overview-stats { grid-template-columns:1fr; }
  .profile-activity-grid { grid-template-columns:1fr; }
}

/* Package 6E: accepted purpose-first masthead and continuous profile rows. */
/* Package 6R: readable photo text, including bright crops and narrow fallback fonts. */
.home-page .path-card::after { background:linear-gradient(0deg,rgba(0,17,19,.92),rgba(0,17,19,.72) 72%,rgba(0,17,19,.82)); }
.home-page .region-card::after { background:linear-gradient(0deg,rgba(0,17,19,.92),rgba(0,17,19,.72) 77%); }
.home-page .region-info > div { min-width:0; }
.home-page .region-info h3 { overflow-wrap:anywhere; }
.home-page .path-card > div { min-width:0; }
.home-page .path-card h3 { overflow-wrap:anywhere; }
.training-page .hero::after, .travel-page .hero::after, .explore-page .hero::after { background:linear-gradient(90deg,rgba(1,18,21,.92),rgba(1,18,21,.76)); }
.profile-page .hero::after { background:linear-gradient(90deg,rgba(7,32,34,.91),rgba(7,32,34,.76)); }
.home-page .hero { min-height:0; background:#f9f8f2; color:#11373a; }
.home-page .hero::before, .home-page .hero::after { content:none; }
.home-page .topbar { background:#f9f8f2; border-bottom:1px solid #c8d5cf; }
.home-page .mainnav a, .home-page .nav-cta, .home-page .mobile-toggle { color:#11373a; }
.home-page .nav-cta, .home-page .mobile-toggle { border-color:#729c9a; min-height:44px; }
.home-page .mainnav a:hover, .home-page .action-secondary:hover { color:#376f74; }
.home-page .hero-inner { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,64px); padding:48px clamp(22px,5vw,80px); }
.home-page .hero-purpose { min-width:0; }
.home-page .hero .eyebrow { font-size:clamp(15px,1.25vw,17px); line-height:1.5; letter-spacing:.075em; color:#376f74; }
.home-page .hero .eyebrow::before { width:24px; }
.home-page .hero h1 { font-size:clamp(64px,5.7vw,82px); line-height:1.02; text-transform:none; letter-spacing:-.025em; max-width:14ch; margin:22px 0; color:#11373a; }
.home-page .hero p { color:#183339; max-width:53ch; font-size:17px; line-height:1.65; margin-bottom:26px; }
.home-page .action-row { gap:14px 22px; }
.home-page .action-primary { background:#f5c451; color:#11373a; }
.home-page .action-secondary { color:#11373a; border-color:#729c9a; min-height:44px; }
.home-page .hero-photograph { margin:0; border-bottom:4px solid #f5c451; min-width:0; }
.home-page .hero-photograph img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:60% 65%; }
.home-page .hero-photograph figcaption { font-size:12px; line-height:1.5; padding:10px 0; color:#376f74; }
.home-page .search-shelf { margin:0 auto; width:calc(100% - 44px); max-width:1310px; min-height:0; background:#f9f8f2; box-shadow:none; border:1px solid #c8d5cf; border-top:4px solid #f5c451; grid-template-columns:repeat(3,minmax(0,1fr)); padding:24px; gap:20px; }
.home-page .search-shelf h2 { grid-column:1/-1; font:600 32px/1.1 var(--display); color:#11373a; margin:0; }
.home-page .search-cell { border:0; padding:0; gap:8px; }
.home-page .search-cell label { color:#376f74; font-size:11px; letter-spacing:.075em; }
.home-page .search-cell select { min-height:48px; font:600 15px/1.4 var(--body); border:1px solid #729c9a; border-radius:4px; padding:10px 6px; background:#fff; color:#183339; }
.home-page .search-btn { grid-column:1/-1; min-height:48px; background:#11373a; justify-self:start; }
.home-page .search-note { grid-column:1/-1; color:#376f74; font-size:13px; line-height:1.6; margin:0; }
.home-page .intro { padding-top:80px; }
.profile-page .profile-layout { display:block; }
.profile-page .profile-card-grid { display:block; }
.profile-page .profile-item { border:0; border-bottom:1px solid #c8d5cf; border-radius:0; padding:20px 0; background:transparent; }
.profile-page .profile-item h3 { margin:10px 0; color:#11373a; }
.profile-page .profile-item p { font-size:14px; color:#183339; }
.profile-page .profile-item .dir-disclosure { margin-top:14px; }
.profile-page .profile-overview { background:#f9f8f2; box-shadow:none; padding:24px; border-color:#c8d5cf; border-left-color:#e4b74d; }
.profile-page .profile-identity { align-items:flex-start; gap:16px; flex-direction:row; }
.profile-page .profile-identity h1 { font-size:clamp(32px,3vw,48px); line-height:1.08; }
.profile-page .profile-intro { max-width:75ch; font-size:15px; line-height:1.65; margin:12px 0 0; color:#183339; }
.profile-page .profile-actions { margin:14px 0; }
.profile-page .profile-section-nav { gap:4px 18px; margin:14px 0; }
.profile-page .profile-section-nav a { border:0; border-radius:0; background:transparent; padding:8px 0; text-decoration:underline; text-underline-offset:4px; color:#376f74; }
.profile-page .profile-detail-controls { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 20px; }
.profile-page .profile-aside { position:static; width:100%; margin-top:28px; background:#e4eae3; border-color:#c8d5cf; border-radius:0; }
.profile-page .profile-group { margin-bottom:24px; }
.profile-page .profile-main-column > .dir-legend { margin-bottom:24px; }
.profile-page .offering-card-footer .dir-button, .profile-page .offering-card-footer .dir-provider-link { min-height:44px; display:inline-flex; align-items:center; }
.profile-page .dir-category, .profile-page .dir-status, .profile-page .relationship-scope { white-space:normal; overflow-wrap:anywhere; }
@media(min-width:1100px) {
  .profile-page .profile-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,300px); gap:0 24px; }
  .profile-page .profile-actions { grid-column:2; grid-row:1; align-content:start; margin:0; }
  .profile-page .profile-review-strip, .profile-page .profile-intro { grid-column:1/-1; }
}
@media(max-width:1100px) {
  .home-page .search-shelf { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px) {
  .home-page .hero-inner { grid-template-columns:minmax(0,1fr); padding:32px 22px; gap:28px; }
  .home-page .hero h1 { font-size:clamp(46px,8.5vw,64px); max-width:16ch; }
  .home-page .hero p { font-size:16px; }
  .home-page .mainnav { background:#f9f8f2; }
  .home-page .search-shelf { padding:20px; }
  .home-page .action-row { align-items:stretch; flex-direction:column; }
  .home-page .action-primary { min-height:52px; padding:12px; }
  .home-page .action-secondary { align-self:flex-start; }
  .profile-page .profile-overview { padding:18px 14px; }
  .profile-page .profile-content { padding-left:16px; padding-right:16px; }
  .profile-page .profile-identity .dir-identity-mark { flex-shrink:0; }
  .profile-page .profile-identity:has(.dir-identity-reverse-wide) { flex-wrap:wrap; }
}
@media(max-width:360px) {
  .home-page .search-shelf { width:calc(100% - 24px); padding:14px; }
  .home-page .search-cell select { font-size:14px; }
}
@media(max-width:480px) {
  .profile-page .profile-identity { flex-direction:column; gap:12px; }
  .profile-page .profile-identity > div { width:100%; }
}
@media print {
  .profile-detail-controls { display:none !important; }
  .profile-page .dir-disclosure > .dir-disclosure-body, .profile-page .dir-legend > :not(summary) { display:block !important; }
}
