/* Shared public subpage design for the fullsite theme. */
@media(max-width:700px){
    .ap-layout-fullsite #main-content.fs-subpage .inv-search-row{gap:12px;margin:0 auto 16px;align-items:stretch;}
    .ap-layout-fullsite #main-content.fs-subpage .inv-search-wrap,
    .ap-layout-fullsite #main-content.fs-subpage .inv-region-wrap{flex:0 0 auto;min-height:0;height:auto;width:100%;min-width:0;}
}
.ap-layout-fullsite .fs-subpage { background:var(--fs-paper); color:var(--fs-teal); padding-bottom:56px; }
.fs-subpage>.container,.fs-subpage>main.container { max-width:1240px; padding-inline:40px; padding-top:48px!important; }
.fs-subpage h1 { font-size:clamp(28px,3.2vw,44px); color:var(--fs-teal); line-height:1.5; }
.fs-subpage h2,.fs-subpage h3,.fs-subpage h4,.fs-subpage h5 { color:var(--fs-teal); }
.fs-subpage p { line-height:1.9; }
.fs-subpage .text-muted { color:#526b70!important; }
.fs-subpage .inv-hero,.fs-subpage .sp-hero { background:var(--fs-teal)!important; color:#fff; padding:48px 0; border-radius:0 0 32px 32px; }
.fs-subpage .inv-hero h1,.fs-subpage .sp-hero h1 { color:#fff!important; }
.fs-subpage .inv-hero p,.fs-subpage .sp-hero p,.fs-subpage .inv-breadcrumb,.fs-subpage .inv-breadcrumb a { color:#ffffffc7!important; }
.fs-subpage .card,.fs-subpage .sp-main-card,.fs-subpage .electronic-services-card,.fs-subpage .interest-wrap { border:1px solid #14475018!important; border-radius:24px!important; box-shadow:none!important; background:#fff; }
.fs-subpage .bg-white.rounded,.fs-subpage .bg-white.rounded-30 { border-radius:24px!important; border:1px solid #14475014; box-shadow:none!important; }
.fs-subpage .form-control,.fs-subpage .form-select,.fs-subpage .inv-search-input,.fs-subpage .inv-region-select { min-height:48px; border:1px solid #14475030!important; border-radius:12px!important; background-color:#fff; color:var(--fs-teal); font-size:16px; }
.fs-subpage textarea.form-control { min-height:120px; }
.fs-subpage .form-control:focus,.fs-subpage .form-select:focus,.fs-subpage .inv-search-input:focus,.fs-subpage .inv-region-select:focus { outline:2px solid var(--fs-gold); outline-offset:2px; box-shadow:none; }
.fs-subpage .btn-primary,.fs-subpage .btn-custom-amber,.fs-subpage .sp-card-btn,.fs-subpage .btn-toolbar-gold,.fs-subpage .inv-detail-btn { background:var(--fs-teal)!important; border-color:var(--fs-teal)!important; color:#fff!important; border-radius:999px!important; min-height:44px; padding:10px 24px; }
.fs-subpage .btn-toolbar-outline { color:var(--fs-teal); border-color:var(--fs-teal); border-radius:999px; min-height:44px; }
.fs-subpage .inv-search-row { gap:16px; }
.fs-subpage .inv-region-wrap { min-width:230px; }
.fs-subpage .inv-filter-bar { display:flex; flex-wrap:wrap; gap:10px; }
.fs-subpage .inv-filter-btn { border-radius:999px; min-height:44px; }
.fs-subpage .inv-card { border:1px solid #14475018; border-radius:24px; box-shadow:none; overflow:hidden; }
.fs-subpage .inv-card-name { font-size:22px; line-height:1.7; }
.fs-subpage .inv-priority { border-radius:999px; }
.fs-subpage .page-link,.fs-subpage .inv-pagination button { border-radius:50%!important; min-width:44px; min-height:44px; color:var(--fs-teal); }
.fs-subpage .page-link.active,.fs-subpage .active>.page-link,.fs-subpage .inv-pagination button.active { background:var(--fs-teal); border-color:var(--fs-teal); color:#fff; }
.fs-subpage .electronic-services-page { background:var(--fs-paper)!important; padding:56px 24px; }
.fs-subpage .electronic-services-content { gap:24px; }
.fs-subpage .electronic-services-icon { background:var(--fs-sand); color:var(--fs-teal); }
.fs-subpage .member-card::before { display:none; }
.fs-subpage .member-photo { clip-path:none; border-radius:24px; box-shadow:none; object-position:top; }
.fs-subpage .career-hero { background:var(--fs-paper)!important; }
.fs-subpage .career-card { border-radius:24px; background:#fff; border:1px solid #14475018; box-shadow:none; }
.fs-subpage a:focus-visible,.fs-subpage button:focus-visible { outline:3px solid var(--fs-gold); outline-offset:4px; }
.fs-subpage+.fs-footer { margin-top:0; }
@media(max-width:1000px){.fs-subpage .electronic-services-content{grid-template-columns:1fr;max-width:640px;}}
@media(max-width:700px){.fs-subpage>.container,.fs-subpage>main.container{padding-inline:20px;padding-top:32px!important;}.fs-subpage{padding-bottom:40px;}.fs-subpage .inv-hero,.fs-subpage .sp-hero{padding:32px 0;border-radius:0 0 24px 24px;}.fs-subpage .inv-search-row{flex-direction:column;}.fs-subpage .inv-region-wrap,.fs-subpage .inv-search-wrap{width:100%;min-width:0;}.fs-subpage .electronic-services-card{padding:32px 24px;}}
.fs-subpage-nav { background:#fff; border-bottom:1px solid #14475018; position:relative; z-index:2; }
.fs-subpage-nav-inner { max-width:1240px; margin:auto; padding:16px 40px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.fs-subpage-nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 16px; color:var(--fs-teal); border-radius:999px; font-size:15px; white-space:nowrap; }
.fs-subpage-nav a:hover { background:var(--fs-sand); }
.fs-subpage-nav .fs-subpage-home { background:var(--fs-teal); color:#fff; }
@media(max-width:700px){.fs-subpage-nav-inner{padding:12px 20px;gap:6px;}.fs-subpage-nav a{font-size:14px;padding:8px 12px;}}
/* Consistent subpage navigation and readable hero headings. */
.ap-layout-fullsite #main-content.fs-subpage .inv-hero,
.ap-layout-fullsite #main-content.fs-subpage .sp-hero { background:var(--fs-teal,#144750)!important; color:#fff!important; }
.ap-layout-fullsite #main-content.fs-subpage .inv-hero h1,
.ap-layout-fullsite #main-content.fs-subpage .sp-hero h1 { color:#fff!important; }
.ap-layout-fullsite #main-content.fs-subpage .inv-breadcrumb,
.ap-layout-fullsite #main-content.fs-subpage .inv-breadcrumb a { color:#ffffffc7!important; }
.ap-layout-fullsite .fs-subpage-nav { background:var(--fs-paper,#fcf7ee); border-bottom:1px solid #14475018; }
.ap-layout-fullsite .fs-subpage-nav-inner { justify-content:center; gap:4px; padding-block:12px; }
.ap-layout-fullsite .fs-subpage-nav a { padding:10px 18px; border-radius:8px; font-size:15px; font-weight:500; }
.ap-layout-fullsite .fs-subpage-nav .fs-subpage-home { background:transparent; color:var(--fs-teal); border-inline-end:1px solid #14475030; border-radius:0; padding-inline-end:24px; margin-inline-end:8px; font-weight:700; }
.ap-layout-fullsite .fs-subpage-nav a:hover { background:#1447500c; }
@media(max-width:700px){.ap-layout-fullsite .fs-subpage-nav-inner{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:10px 20px;gap:2px;}.ap-layout-fullsite .fs-subpage-nav a{flex:0 0 auto;padding:10px 12px;font-size:14px;}.ap-layout-fullsite .fs-subpage-nav .fs-subpage-home{padding-inline-end:16px;margin-inline-end:4px;}}
.fs-subpage .news-page-hero .container { max-width:1240px; padding-inline:40px; }
.fs-subpage .news-page-hero .inv-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:14px; margin-bottom:20px; }
.fs-subpage .news-page-hero h1 { margin-bottom:12px; }
.fs-subpage .news-page-hero p { margin:0; font-size:18px; }
.fs-subpage .news-page-content #news-grid .card { overflow:hidden; height:100%; border-radius:24px; }
.fs-subpage .news-page-content #news-grid .card-img-top { aspect-ratio:16/10; object-fit:cover; height:auto; }
.fs-subpage .news-page-content #news-grid .card-body { padding:24px; }
.fs-subpage .news-page-content #news-grid .card-title { color:var(--fs-teal); font-size:22px; line-height:1.7; }
.fs-subpage .news-page-content .dropdown-toggle { min-height:48px; border-radius:12px; color:var(--fs-teal); background:#fff; }
@media(max-width:700px){.fs-subpage .news-page-hero .container{padding-inline:20px;}}
/* Match the supplier portal heading in news and opportunity listings. */
.ap-layout-fullsite #main-content.fs-subpage .news-page-hero,
.ap-layout-fullsite #main-content.fs-subpage .opportunities-page-hero { padding:48px 20px; text-align:center; border-radius:0 0 32px 32px; }
.ap-layout-fullsite #main-content.fs-subpage .news-page-hero h1,
.ap-layout-fullsite #main-content.fs-subpage .opportunities-page-hero h1 { font-size:32px; font-weight:800; line-height:1.5; margin:0 0 10px; }
.ap-layout-fullsite #main-content.fs-subpage .news-page-hero p { font-size:15px; line-height:1.7; max-width:500px; margin:0 auto; color:#ffffffc7!important; }
@media(max-width:700px){.ap-layout-fullsite #main-content.fs-subpage .news-page-hero h1,.ap-layout-fullsite #main-content.fs-subpage .opportunities-page-hero h1{font-size:24px;}}
/* Approved suppliers use the same listing heading as news and opportunities. */
.ap-layout-fullsite #main-content.fs-subpage .ap-approved .hero-banner { background:var(--fs-teal,#144750); padding:48px 20px; text-align:center; border-radius:0 0 32px 32px; }
.ap-layout-fullsite #main-content.fs-subpage .ap-approved .hero-banner h1 { color:#fff; font-size:32px; font-weight:800; line-height:1.5; margin:0 0 10px; }
.ap-layout-fullsite #main-content.fs-subpage .ap-approved .hero-banner p { color:#ffffffc7; font-size:15px; line-height:1.7; max-width:500px; margin:0 auto; }
@media(max-width:700px){.ap-layout-fullsite #main-content.fs-subpage .ap-approved .hero-banner h1{font-size:24px;}}
.ap-layout-fullsite .ap-approved .tabs-inner { justify-content:center; }

.ap-layout-fullsite #main-content.fs-subpage .opportunities-page-hero p { color:#ffffffc7!important; font-size:15px; line-height:1.7; max-width:700px; margin:0 auto; }
/* Portal cards use balanced typography rather than page-sized headings. */
.ap-layout-fullsite #main-content.fs-subpage .electronic-services-card h1 { font-size:clamp(22px,2vw,28px); line-height:1.55; margin:0 0 16px; font-weight:700; }
.ap-layout-fullsite #main-content.fs-subpage .electronic-services-card p { font-size:16px; line-height:1.9; margin-bottom:24px; }
.ap-layout-fullsite #main-content.fs-subpage .electronic-services-home { font-size:15px; line-height:1.6; padding:12px 20px; font-weight:600; }
@media(max-width:700px){.ap-layout-fullsite #main-content.fs-subpage .electronic-services-card h1{font-size:24px;}.ap-layout-fullsite #main-content.fs-subpage .electronic-services-card p{font-size:15px;}}
/* Career benefits beside the application. */
.ap-layout-fullsite .career-hero-inner{max-width:1240px;grid-template-columns:minmax(360px,520px) minmax(0,1fr);gap:48px;padding:40px;}
.ap-layout-fullsite .career-intro{text-align:center;padding-top:16px;}
.ap-layout-fullsite .career-intro h2{font-size:clamp(28px,3vw,40px);}
.ap-layout-fullsite .career-intro p{font-size:18px;background:none;}
.ap-layout-fullsite .career-intro .career-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:transparent;padding:0;margin-top:28px;}
.ap-layout-fullsite .career-intro .career-benefits>div{text-align:center;padding:20px;background:var(--fs-sand);border-radius:18px;}
.ap-layout-fullsite .career-intro .career-benefits>div::before{display:none;}
.ap-layout-fullsite .career-intro .career-benefits i{font-size:28px;}
.ap-layout-fullsite .career-intro .career-benefits h3{font-size:18px;line-height:1.6;}
.ap-layout-fullsite .career-intro .career-benefits p{font-size:14px;line-height:1.8;}
@media(max-width:991px){.ap-layout-fullsite .career-hero-inner{grid-template-columns:1fr;padding:32px 20px;gap:28px;}.ap-layout-fullsite .career-intro{background:none;padding:0;}.ap-layout-fullsite .career-intro .career-benefits{margin-top:20px;}}
@media(max-width:380px){.ap-layout-fullsite .career-intro .career-benefits{grid-template-columns:1fr;}}
.ap-layout-fullsite #main-content.fs-subpage .contact-page-hero { padding:48px 20px; text-align:center; }
.ap-layout-fullsite #main-content.fs-subpage .contact-page-hero h1 { color:#fff!important; font-size:32px; font-weight:800; line-height:1.5; margin:0; }
.fs-subpage .contact-page-content>.mb-5 { margin-bottom:32px!important; }
.fs-subpage .contact-page-content>.mb-5 h2 { font-size:26px; }
.fs-subpage .contact-page-content>.row { --bs-gutter-x:32px; --bs-gutter-y:24px; }
.fs-subpage .contact-page-content #contactForm { background:#fff; padding:32px; border:1px solid #14475018; border-radius:24px; }
.fs-subpage .contact-page-content .form-label { font-size:15px; font-weight:600; color:var(--fs-teal); }
.fs-subpage .contact-page-content #contactForm button { background:var(--fs-teal)!important; color:#fff; min-height:48px; width:100%; border-radius:999px!important; }
.fs-subpage .contact-page-content textarea { min-height:140px; resize:vertical!important; }
.fs-subpage .contact-info-column .social-icon { background:var(--fs-teal); border-radius:12px; }
@media(max-width:700px){.ap-layout-fullsite #main-content.fs-subpage .contact-page-hero h1{font-size:24px;}.fs-subpage .contact-page-content #contactForm{padding:24px 20px;}}
.fs-subpage .contact-page-hero p { font-size:15px; line-height:1.7; margin:10px auto 0; max-width:700px; color:#ffffffc7!important; }
.social-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}.social-feed-card{background:#fff;border:1px solid #14475018;border-radius:24px;padding:24px;min-width:0;}.social-feed-card header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;}.social-feed-card h2{font-size:24px;margin:0;}.social-feed-card header a{font-size:14px;text-decoration:underline;}.social-feed-window{height:600px;overflow:auto;max-width:100%;}.social-feed-window iframe{max-width:100%!important;}.social-account-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px;}.social-account-links a{display:flex;align-items:center;gap:16px;padding:24px;background:var(--fs-sand);border-radius:20px;}.social-account-links i{font-size:28px;}.social-account-links span{margin-inline-start:auto;font-size:14px;}@media(max-width:700px){.social-feed-grid,.social-account-links{grid-template-columns:1fr;}.social-feed-card{padding:20px;}.social-account-links a{flex-wrap:wrap;}.social-feed-window{height:520px;}}
.social-snap-card { grid-column:1/-1; }.social-snap-window { max-width:416px; margin:auto; min-height:600px; }.social-snap-window iframe { max-width:100%!important; border:0; border-radius:20px; }
/* Compact social feed cards, including a portrait Snap player. */
.social-feed-grid { align-items:start; }
.social-snap-card { grid-column:auto; }
.social-snap-window { width:100%; max-width:320px; min-height:0; margin:0 auto; }
.social-snap-window .snapchat-embed { max-width:320px!important; width:100%!important; min-width:0!important; margin:0 auto!important; }
.social-snap-window iframe { width:100%!important; max-width:320px!important; height:540px!important; border:0; border-radius:16px; }
.social-account-links { grid-template-columns:minmax(0,1fr); max-width:580px; margin:28px auto 0; }
@media(max-width:700px){.social-snap-window iframe{height:510px!important;}.social-feed-card header{gap:12px;}.social-feed-card header h2{font-size:22px;}}
/* Responsive audit fixes: pagination and leadership text. */
.ap-layout-fullsite .fs-subpage #news-pagination { flex-wrap:wrap; gap:8px; }
.ap-layout-fullsite .fs-subpage .member-card { display:flex; flex-direction:column; align-items:center; width:100%; min-width:0; padding-top:24px; }
.ap-layout-fullsite .fs-subpage .member-info { position:static; inset:auto; transform:none; width:100%; max-width:100%; padding:12px 8px; white-space:normal; }
.ap-layout-fullsite .fs-subpage .member-info h3 { display:block!important; font-size:18px!important; white-space:normal; overflow-wrap:anywhere; line-height:1.8; }
.ap-layout-fullsite .fs-subpage .member-info .triangle-icon { display:none; }
.ap-layout-fullsite .fs-subpage .member-photo { max-width:100%; }
.ap-layout-fullsite .fs-subpage .inv-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; max-width:100%; }
.ap-layout-fullsite .fs-subpage #logoPreview[src=""] { display:none; }
.social-feed-window:not(:has(iframe)) { height:auto; min-height:140px; }.social-snap-window:not(:has(iframe)) { min-height:140px; }
/* Leadership gallery: portraits and information in one balanced card. */
.ap-layout-fullsite #main-content.fs-subpage .leadership-hero { padding:48px 20px; text-align:center; }
.ap-layout-fullsite #main-content.fs-subpage .leadership-hero h1 { font-size:32px; line-height:1.5; color:#fff!important; margin:0; }
.leadership-page { max-width:1240px; margin:auto; padding:48px 40px 32px; }
.leadership-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.leadership-card { min-width:0; background:#fff; border:1px solid #14475014; border-radius:24px; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.leadership-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px #1447500c; }
.leadership-portrait { background:linear-gradient(150deg,#f2ece3,#e6eeeb); height:300px; padding:20px 20px 0; display:flex; justify-content:center; align-items:flex-end; }
.leadership-portrait img { display:block; width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.leadership-info { padding:24px; text-align:center; }
.leadership-rule { display:block; width:36px; height:3px; border-radius:3px; background:var(--fs-gold,#b79a6e); margin:0 auto 16px; }
.leadership-info h2 { font-size:20px; line-height:1.8; margin:0 0 8px; overflow-wrap:anywhere; }
.leadership-info p { font-size:15px; color:#526b70; line-height:1.8; margin:0; }
@media(max-width:1000px){.leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}.leadership-portrait{height:280px;}}
@media(max-width:600px){.leadership-page{padding:32px 20px;}.leadership-grid{grid-template-columns:minmax(0,1fr);gap:24px;max-width:420px;margin:auto;}.leadership-portrait{height:300px;}.ap-layout-fullsite #main-content.fs-subpage .leadership-hero h1{font-size:24px;}}
@media(prefers-reduced-motion:reduce){.leadership-card{transition:none;}.leadership-card:hover{transform:none;}}

/* Mobile audit: consistent spacing, readable inputs and usable controls. */
@media(max-width:700px){
 .ap-layout-fullsite .fs-subpage-nav{display:none}
 .ap-layout-fullsite #main-content.fs-subpage .news-page-hero,
 .ap-layout-fullsite #main-content.fs-subpage .opportunities-page-hero,
 .ap-layout-fullsite #main-content.fs-subpage .contact-page-hero,
 .ap-layout-fullsite #main-content.fs-subpage .ap-approved .hero-banner{padding:28px 18px;border-radius:0 0 24px 24px}
 .ap-layout-fullsite .fs-subpage>main.container,.ap-layout-fullsite .fs-subpage>.container{padding-inline:16px;padding-top:24px!important}
 .ap-layout-fullsite .fs-subpage input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
 .ap-layout-fullsite .fs-subpage select,.ap-layout-fullsite .fs-subpage textarea{font-size:16px!important;max-width:100%;min-width:0}
 .ap-layout-fullsite .fs-subpage input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
 .ap-layout-fullsite .fs-subpage select{min-height:48px}
 .ap-layout-fullsite .fs-subpage textarea{resize:vertical}
 .ap-layout-fullsite .fs-subpage button,.ap-layout-fullsite .fs-subpage .btn{white-space:normal;overflow-wrap:anywhere}
 .ap-layout-fullsite .fs-subpage .btn,.ap-layout-fullsite .fs-subpage button:not(.ss-option):not(.inv-search-clear):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out){min-height:44px}
 .ap-layout-fullsite .fs-subpage .inv-pagination{flex-wrap:wrap;gap:6px}
 .ap-layout-fullsite .fs-subpage .ss-display{font-size:16px;min-height:48px}
 .ap-layout-fullsite .fs-subpage .ss-dropdown{max-height:260px;overflow-y:auto;overscroll-behavior:contain}
 .ap-layout-fullsite .fs-subpage .ss-option{min-height:44px;white-space:normal;font-size:14px;display:flex;align-items:center}
 .ap-layout-fullsite .fs-subpage #formCard{padding:22px 16px}
 .ap-layout-fullsite .fs-subpage .step-label{font-size:13px;line-height:1.6;white-space:normal}
 .ap-layout-fullsite .fs-subpage .stepper-wrapper{padding-inline:16px;overscroll-behavior-inline:contain}
 .ap-layout-fullsite .fs-subpage .attach-row{flex-wrap:wrap;overflow-wrap:anywhere}
 .ap-layout-fullsite .fs-subpage .attach-row>*{min-width:0;max-width:100%}
 .ap-layout-fullsite .fs-subpage .table-responsive{overscroll-behavior-inline:contain}
 .ap-layout-fullsite .fs-subpage .legal-document{padding:24px 18px}
 .ap-layout-fullsite .fs-subpage .contact-page-content #contactForm{padding:24px 18px}
}
