/* Shared, scoped layout for location directories and location detail pages. */
.area-page-content{min-width:0}
.area-page-content .area-hero{background:#eff6f9;border-bottom:1px solid #d2e2ea;padding:34px 0 46px}
.area-page-content .area-hero .breadcrumbs{margin:0 0 23px;font-size:13px;line-height:1.6}
.area-page-content .area-hero h1{max-width:950px;margin:0 0 20px;font-size:clamp(33px,4.1vw,56px);line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere}
.area-page-content .area-hero p{max-width:790px;margin:0;color:#526f7d;font-size:18px;line-height:1.7}
.area-page-content .area-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:25px}
.area-page-content .area-hero-actions .text-link{font-size:15px}
.area-page-content .section{padding-block:56px}
.area-page-content .area-section-heading{max-width:760px;margin-bottom:28px}
.area-page-content .area-section-heading h2{margin:0 0 12px;font-size:clamp(27px,3vw,38px);line-height:1.15}
.area-page-content .area-section-heading p{font-size:16px;line-height:1.7;color:#526f7d;margin:0}
.area-page-content .area-main-courses .course-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}
.area-page-content .area-main-courses.two-courses .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.area-page-content .area-main-courses .course-card{min-width:0;overflow:hidden}
.area-page-content .area-main-courses .course-card-body{padding:25px;display:flex;flex-direction:column;gap:0}
.area-page-content .area-main-courses .course-heading{min-height:0;margin:0}
.area-page-content .area-main-courses h3{font-size:24px;line-height:1.2;margin:0 0 15px;min-height:0;overflow-wrap:anywhere}
.area-page-content .area-main-courses .course-card-body>p{font-size:15px;line-height:1.65;margin:0 0 22px;min-height:0}
.area-page-content .area-main-courses .course-facts{font-size:14px;line-height:1.5;grid-template-columns:1fr;margin:0 0 22px;padding-top:18px;gap:12px}
.area-page-content .area-main-courses .course-facts>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px}
.area-page-content .area-main-courses .course-facts dd{margin:0}
.area-page-content .area-main-courses .course-price{margin-top:auto;padding-top:20px}
.area-page-content .area-main-courses .course-price>strong{font-size:29px;line-height:1.2}
.area-page-content .area-main-courses .course-price>strong small{font-size:14px}
.area-page-content .area-main-courses .course-price>span{font-size:13px;line-height:1.5}
.area-page-content .area-main-courses .card-actions{margin-top:20px}
.area-page-content .area-main-courses .button{font-size:15px;padding:14px 17px;min-height:48px;text-align:center;white-space:normal}
.area-page-content .area-main-courses .details-link{font-size:14px;margin-top:15px}
.area-page-content .area-main-courses .course-label{min-height:44px;padding:12px 20px;font-size:13px}
.area-page-content .venue-section,.area-page-content .area-venue{background:#f3f7f9}
.area-page-content .venue-grid,.area-page-content .venue-content{align-items:start;gap:42px}
.area-page-content .venue-content{display:grid;grid-template-columns:1fr 1.1fr}
.area-page-content .verified-venue{margin-top:24px}
.area-page-content .verified-venue+.verified-venue{padding-top:24px;border-top:1px solid #cddde5}
.area-page-content .verified-venue h3{font-size:21px;line-height:1.35;margin:0 0 8px}
.area-page-content .verified-venue .venue-address{margin:0 0 12px}
.area-page-content .venue-details h2{font-size:30px;line-height:1.2;margin:0 0 18px}
.area-page-content .venue-details p{font-size:15px;line-height:1.7;margin:0 0 10px}
.area-page-content .venue-details a.button.primary{color:#fff}
.area-page-content .venue-address{font-style:normal;font-size:16px;line-height:1.7;margin:22px 0}
.area-page-content .venue-address p{margin:0;font-size:16px}
.area-page-content .venue-map,.area-page-content .venue-content>iframe{min-width:0;overflow:hidden;border-radius:9px}
.area-page-content .venue-map iframe,.area-page-content .venue-content>iframe{width:100%;height:330px;display:block;border:0}
.area-page-content .venue-note{font-size:13px!important;line-height:1.6!important;color:#526f7d;max-width:470px;margin-top:18px!important}
.area-page-content .area-group-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;padding:32px;border:1px solid #cbdfe8;border-radius:10px;background:#f3f8fa}
.area-page-content .area-group-band h2{font-size:29px;line-height:1.2;margin:0 0 12px}
.area-page-content .area-group-band p{font-size:16px;line-height:1.7;margin:0;max-width:680px;color:#526f7d}
.area-page-content .area-group-band .group-price{color:#143b4e;font-weight:700;margin-top:14px}
.area-page-content .area-group-actions{display:flex;flex-direction:column;gap:15px;align-items:flex-start}
.area-page-content .area-group-actions .button{white-space:normal}
.area-page-content .area-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #ccdde5;gap:0 32px}
.area-page-content .area-related-item{display:block;border-bottom:1px solid #ccdde5;padding:22px 0;text-decoration:none;min-width:0}
.area-page-content .area-related-item h3{font-size:20px;line-height:1.3;margin:0 0 8px;color:#153d50}
.area-page-content .area-related-item p{font-size:14px;line-height:1.6;margin:0;color:#526f7d}
.area-page-content .area-related-item span{display:inline-block;color:#147c84;font-size:14px;font-weight:700;margin-top:10px}
.area-page-content .area-related-item:hover h3{text-decoration:underline;text-underline-offset:4px}
.area-page-content .area-back-link{font-size:16px;margin-top:27px;display:inline-block}
.area-page-content .area-directory-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.area-page-content .area-directory-header h2{font-size:30px;line-height:1.2;margin:0 0 10px}
.area-page-content .area-directory-header p{font-size:15px;line-height:1.6;color:#526f7d;margin:0}
.area-page-content .area-directory-search{width:320px;max-width:100%;flex:none}
.area-page-content .area-directory-search label{display:block;font-weight:600;font-size:14px;margin-bottom:8px}
.area-page-content .area-directory-search input{width:100%;box-sizing:border-box;border:1px solid #9db9c7;border-radius:6px;padding:13px 14px;min-height:48px;background:white;color:#153d50;font:inherit;font-size:16px}
.area-page-content .area-directory-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;border-top:1px solid #ccdfe7}
.area-page-content .area-directory-list li{margin:0;padding:0;min-width:0;border-bottom:1px solid #ccdfe7}
.area-page-content .area-directory-list a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:19px 2px;color:#153d50;text-decoration:none;font-size:18px;font-weight:600;line-height:1.4;min-height:64px;box-sizing:border-box}
.area-page-content .area-directory-list a span{color:#147c84}
.area-page-content .area-directory-list a:hover{text-decoration:underline;text-underline-offset:4px}
.area-page-content [hidden]{display:none!important}
.area-page-content .area-directory-empty{padding:24px 0;font-size:16px;line-height:1.6}
.area-page-content .area-directory-help{border-top:1px solid #ccdfe7;margin-top:38px;padding-top:27px;font-size:16px;line-height:1.75;max-width:820px}
.area-page-content a:focus-visible,.area-page-content input:focus-visible{outline:3px solid #14828c;outline-offset:4px}
@media(min-width:761px){
 .area-page-content .area-main-courses:not(.two-courses) .course-price{min-height:100px}
 .area-page-content .area-main-courses:not(.two-courses) .card-actions{min-height:132px;gap:12px}
 .area-page-content .area-main-courses:not(.two-courses) .card-actions>.details-link{margin-top:0}
 .area-page-content .area-main-courses:not(.two-courses) .card-actions>.details-link:last-child{margin-top:auto}
}
@media(min-width:801px){
 .area-page-content .area-city-name{white-space:nowrap;overflow-wrap:normal}
 .area-page-content .area-hero .container:has(>.legacy-trust-badge){display:grid;grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:"crumbs crumbs" "heading heading" "description badge" "actions badge";column-gap:48px;row-gap:20px}
 .area-page-content .area-hero .container:has(>.legacy-trust-badge)>.breadcrumbs{grid-area:crumbs;margin:0}
 .area-page-content .area-hero .container:has(>.legacy-trust-badge)>h1{grid-area:heading;max-width:none;margin:0}
 .area-page-content .area-hero .container:has(>.legacy-trust-badge)>p{grid-area:description;margin:0}
 .area-page-content .area-hero .container:has(>.legacy-trust-badge)>.area-hero-actions{grid-area:actions;margin-top:4px}
 .area-page-content .area-hero .container:has(>.legacy-trust-badge)>.legacy-trust-badge{grid-area:badge;align-self:start;margin:0!important;width:270px;max-width:100%}
}
@media(max-width:800px){
 .area-page-content .area-city-name{white-space:normal}
 .area-page-content .area-hero .container:has(>.legacy-trust-badge){display:block}
 .area-page-content .area-hero .container>.legacy-trust-badge{margin-top:24px;width:270px;max-width:100%}
}
@media(max-width:980px){
 .area-page-content .area-main-courses .course-grid{gap:16px}
 .area-page-content .area-main-courses .course-card-body{padding:20px}
 .area-page-content .area-main-courses h3{font-size:21px}
 .area-page-content .area-main-courses .course-facts>div{display:block}
 .area-page-content .area-main-courses .course-facts dt{margin-bottom:3px}
 .area-page-content .area-group-band{grid-template-columns:1fr;gap:24px}
 .area-page-content .area-group-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px}
}
@media(max-width:760px){
 .area-page-content .area-hero{padding:25px 0 34px}
 .area-page-content .area-hero h1{font-size:35px}
 .area-page-content .area-hero p{font-size:16px}
 .area-page-content .area-hero-actions{gap:17px}
 .area-page-content .section{padding-block:38px}
 .area-page-content .area-main-courses .course-grid,.area-page-content .area-main-courses.two-courses .course-grid{grid-template-columns:1fr;gap:20px}
 .area-page-content .area-main-courses h3{font-size:25px}
 .area-page-content .area-main-courses .course-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .area-page-content .area-main-courses .course-card-body{padding:24px}
 .area-page-content .area-main-courses .course-price,.area-page-content .area-main-courses .card-actions{min-height:0}
 .area-page-content .venue-grid,.area-page-content .venue-content{grid-template-columns:1fr;gap:24px}
 .area-page-content .venue-details h2{font-size:27px}
 .area-page-content .venue-map iframe,.area-page-content .venue-content>iframe{height:280px}
 .area-page-content .area-related-grid{grid-template-columns:1fr}
 .area-page-content .area-directory-header{align-items:stretch;flex-direction:column;gap:22px}
 .area-page-content .area-directory-search{width:100%}
 .area-page-content .area-directory-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
 .area-page-content .area-group-band{padding:25px}
 .area-page-content .area-group-band h2{font-size:27px}
}
@media(max-width:420px){
 .area-page-content .area-hero h1{font-size:31px}
 .area-page-content .area-hero-actions{align-items:stretch;flex-direction:column}
 .area-page-content .area-hero-actions .text-link{align-self:flex-start}
 .area-page-content .area-main-courses .course-card-body{padding:21px}
 .area-page-content .area-main-courses h3{font-size:23px}
 .area-page-content .area-directory-list{grid-template-columns:1fr}
 .area-page-content .area-directory-list a{min-height:59px;font-size:17px}
 .area-page-content .area-group-actions{align-items:stretch;flex-direction:column}
 .area-page-content .area-group-band{padding:22px}
}
