/* UI refinement, October 2026. New selectors deliberately avoid the legacy
   offer/header/list selectors and their !important overrides in site.css. */
html body * { text-transform:none!important; font-variant-caps:normal!important; }
.ux-home-brand { flex-basis:36px!important; width:36px; }
.ux-home-brand img { width:32px!important; height:38px!important; }
.site-header .site-brand img[src*="mindentmegoldunk-mark"] { width:32px!important; height:38px!important; object-fit:contain; }
.home-page .ux-ref-home-editorial { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:64px 24px; max-width:1280px; margin:auto; }
.ux-ref-editorial-heading h2 { font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-1.2px; margin:16px 0 0; color:#081d13; }
.ux-ref-editorial-copy p { font-size:16px; line-height:1.7; color:#617068; margin:0 0 24px; }
.home-page .ux-ref-process-showcase { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:0 24px 64px; max-width:1280px; margin:auto; }
.ux-ref-process-feature { border:1px solid #dce6df; border-radius:18px; padding:28px; background:#fff; }
.ux-ref-process-feature-dark { background:#123b27; color:#fff; border-color:#123b27; }
.ux-ref-process-label { font-size:12px; font-weight:600; color:#617068; }
.ux-ref-process-feature-dark .ux-ref-process-label { color:#b9d3c4; }
.ux-ref-process-feature h3 { font-size:25px; line-height:1.2; letter-spacing:-.7px; margin:20px 0 16px; }
.ux-ref-process-feature p { font-size:14px; line-height:1.65; color:#617068; margin:0; }
.ux-ref-process-feature-dark p { color:#d0e0d5; }
.ux-ref-process-feature > a { display:inline-block; color:inherit; font-weight:700; font-size:14px; margin-top:24px; text-decoration:underline; text-underline-offset:5px; }
.ux-ref-home-testimonials-inner { max-width:1280px; margin:auto; padding:48px 24px; display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.ux-ref-home-testimonials-intro h2 { font-size:28px; line-height:1.15; letter-spacing:-.8px; margin:12px 0; }
.ux-ref-home-testimonials-intro p { font-size:14px; line-height:1.6; color:#617068; }
.ux-ref-home-testimonial-actions { display:flex; gap:10px; margin-top:18px; }
.ux-ref-home-testimonial-actions .btn { flex:1; font-size:12px; text-align:center; min-height:44px; }
.ux-ref-home-testimonial-empty { border:1px solid #dce6df; border-radius:16px; padding:28px 24px; display:flex; flex-direction:column; justify-content:center; min-height:200px; gap:12px; }
.ux-ref-home-testimonial-empty span { font-size:11px; letter-spacing:.12em; color:#617068; }
.ux-ref-home-testimonial-empty strong { font-size:22px; line-height:1.25; }
.home-page .ux-ref-trust-band { display:grid; grid-template-columns:1fr 1fr; gap:48px; background:#123b27; color:#fff; padding:56px 32px; max-width:1232px; margin:24px auto; }
.ux-ref-trust-band-copy h2 { font-size:clamp(32px,3.5vw,46px); line-height:1.08; letter-spacing:-1px; margin:20px 0; }
.ux-ref-trust-band-copy .eyebrow { color:#b9d3c4; }
.ux-ref-trust-band-points > div { display:flex; gap:14px; border-bottom:1px solid #ffffff20; padding:20px 0; }
.ux-ref-trust-band-points > div:last-child { border-bottom:0; }
.ux-ref-trust-band-points > div > strong { color:#9ecb72; }
.ux-ref-trust-band-points b { display:block; font-size:16px; }
.ux-ref-trust-band-points small { display:block; font-size:12px; line-height:1.6; margin-top:6px; color:#d0e0d5; }
.home-page .ux-ref-pro-landing-cta { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:56px 24px; max-width:1280px; margin:auto; }
.ux-ref-pro-landing-cta h2 { max-width:760px; font-size:clamp(30px,3.5vw,44px); line-height:1.1; letter-spacing:-1px; margin:14px 0; }
.ux-privacy-footer { background:#102d20; padding-top:32px; }
.ux-privacy-footer .ux-footer-link-column { max-width:600px; }
.ux-privacy-footer .ux-footer-link-column a { min-height:44px; }
@media(max-width:768px) {
 .home-page .ux-ref-home-editorial { grid-template-columns:1fr; gap:22px; padding:48px 16px 40px; }
 .ux-ref-editorial-heading h2 { font-size:38px; max-width:380px; }
 .ux-ref-editorial-copy p { font-size:14px; line-height:1.75; }
 .home-page .ux-ref-process-showcase { grid-template-columns:1fr; gap:34px; padding:12px 16px 44px; }
 .ux-ref-process-feature { position:relative; padding:24px 20px; }
 .ux-ref-process-feature:not(:last-child)::after { content:''; position:absolute; bottom:-29px; left:calc(50% - 8px); font-size:24px; line-height:24px; color:#648c68; }
 .ux-ref-process-feature h3 { font-size:25px; margin:18px 0 16px; }
 .ux-ref-home-testimonials-inner { grid-template-columns:1fr; padding:32px 16px 40px; gap:24px; }
 .ux-ref-home-testimonials-intro h2 { font-size:27px; }
 .ux-ref-home-testimonial-actions { align-items:stretch; }
 .home-page .ux-ref-trust-band { grid-template-columns:1fr; gap:20px; margin:0; padding:48px 16px; }
 .ux-ref-trust-band-copy h2 { font-size:36px; margin:18px 0; }
 .ux-ref-trust-band-points > div { padding:20px 0; }
 .home-page .ux-ref-pro-landing-cta { flex-direction:column; align-items:flex-start; padding:48px 16px; gap:12px; }
 .ux-ref-pro-landing-cta h2 { font-size:32px; max-width:390px; }
 .ux-privacy-footer { padding:28px 16px 18px; }
}
:root {
  --ux-green: #164c36;
  --ux-soft: #eff6f0;
  --ux-ink: #17392b;
  --ux-muted: #617068;
  --ux-line: #dce6df;
  --ux-radius: 18px;
}
.ux-partners-empty { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px; border:1px solid var(--ux-line); border-radius:18px; background:var(--ux-soft); }
.ux-partners-empty p { margin:0; color:var(--ux-muted); }
.ux-site-footer { background:#123b27; color:#fff; padding:36px 24px 20px; margin-top:40px; }
.ux-footer-inner { max-width:1280px; margin:auto; }
.ux-footer-main-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:32px; }
.ux-footer-brand-column { min-width:0; }
.ux-footer-logo { display:block; width:220px; max-width:100%; }
.ux-footer-logo img { display:block; width:100%; height:auto; filter:brightness(0) invert(1); }
.ux-footer-brand-column > p { font-size:13px; line-height:1.5; margin:12px 0 18px; color:#d0e0d5; }
.ux-footer-direct-contact { display:grid; gap:6px; }
.ux-footer-direct-contact-row { display:flex; align-items:center; gap:10px; min-height:44px; font-size:13px; color:#fff; }
.ux-footer-direct-contact-icon { flex:0 0 22px; }
.ux-footer-direct-contact-icon svg { display:block; width:22px; height:22px; }
.ux-footer-direct-contact-phones { display:flex; flex-wrap:wrap; align-items:center; column-gap:8px; }
.ux-footer-direct-contact-phones a { display:inline-flex; align-items:center; min-height:44px; color:#fff; }
.ux-footer-direct-contact-value { overflow-wrap:anywhere; }
.ux-footer-socials { display:flex; align-items:center; gap:10px; margin-top:12px; }
.ux-footer-social-link { display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff38; border-radius:12px; }
.ux-footer-social-link img { width:20px; height:20px; filter:brightness(0) invert(1); }
.ux-footer-socials small { display:none; }
.ux-footer-link-column { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ux-footer-link-column b { font-size:11px; letter-spacing:.04em; margin:0 0 10px; color:#b9d3c4; }
.ux-footer-link-column a { display:flex; align-items:center; min-height:36px; color:#fff; font-size:13px; line-height:1.4; }
.ux-site-footer a:hover { text-decoration:underline; }
.ux-site-footer a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.ux-footer-support { justify-content:flex-start; padding-bottom:20px; }
.ux-footer-support .btn { background:#fff; color:#164c36; border:0; font-size:13px; min-height:44px; }
.ux-footer-legal-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; border-top:1px solid #ffffff24; margin-top:24px; padding-top:16px; color:#b9d3c4; font-size:10px; line-height:1.5; }
@media(max-width:960px) {
  .ux-footer-main-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
}
@media(max-width:600px) {
  .ux-site-footer { padding:24px 18px 18px; margin-top:28px; }
  .ux-footer-main-grid { gap:24px 16px; }
  .ux-footer-brand-column { grid-column:1/-1; }
  .ux-footer-logo { width:200px; }
  .ux-footer-brand-column > p { margin:10px 0; }
  .ux-footer-link-column:last-child { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
  .ux-footer-link-column:last-child b { grid-column:1/-1; margin-bottom:4px; }
  .ux-footer-link-column a { min-height:44px; font-size:12px; }
  .ux-footer-legal-line > span:last-child { display:none; }
  .ux-partners-empty { flex-direction:column; align-items:flex-start; padding:20px; }
}
.ux-home-header { position: fixed; inset: 0 0 auto; z-index: 90; color: white; background: transparent; }
.ux-home-header-inner { display: flex; align-items: center; gap: 24px; width: min(1600px,100%); padding: 24px 32px; margin: auto; }
.ux-home-brand { display: block; flex: 0 0 160px; }
.ux-home-brand img { display: block; width: 100%; height: 42px; object-fit: contain; filter: brightness(0) invert(1); }
.ux-home-nav { display: flex; align-items: center; justify-content: flex-end; gap: 18px; flex: 1; }
.ux-home-nav a, .ux-home-account a, .ux-home-account button { color: white; font-size: 11px; font-weight: 650; letter-spacing: .02em; }
.ux-home-nav a { padding: 10px 0; border-bottom: 1px solid transparent; }
.ux-home-nav a:hover { border-bottom-color: white; }
.ux-home-account { display: flex; align-items: center; gap: 12px; }
.ux-home-account .nav-cta { background: transparent; padding: 8px 0; }
.ux-home-account .user-chip { font-size: 11px; }
.ux-home-menu { display: none; background: transparent; border: 0; width: 44px; height: 44px; padding: 10px; }
.ux-home-menu span:first-child { display: block; height: 2px; width: 24px; margin: 6px 0; background: #fff; }
.ux-home-menu span:last-child { display: block; height: 2px; width: 24px; margin: 6px 0; background: #fff; }
.ux-home-mobile-nav { display: none; position: fixed; inset: 78px 16px auto; z-index: 89; max-height: calc(100dvh - 94px); overflow-y: auto; background: white; border: 1px solid var(--ux-line); border-radius: 18px; padding: 18px; box-shadow: 0 12px 40px #071a1933; }
.ux-home-mobile-nav.open { display: block; }
.ux-home-mobile-inner { display: flex; flex-direction: column; gap: 6px; }
.ux-home-mobile-inner > a { padding: 10px; min-height: 44px; font-size: 14px; border-radius: 10px; color: var(--ux-green); }
.ux-home-mobile-inner > a:hover { background: var(--ux-soft); }
.ux-home-mobile-inner .mobile-account { padding: 12px 10px; display: flex; gap: 18px; border-top: 1px solid var(--ux-line); margin-top: 8px; }
.ux-hero-cta { max-width: 430px; }
.ux-hero-cta p { color: #fff; font-size: 14px; line-height: 1.5; margin: 12px 0 0; }
.ux-discover { position:absolute; z-index:5; bottom:30px; left:50%; margin-left:-57px; display:flex; align-items:center; gap:7px; width:114px; min-height:36px; background:transparent; color:#fff; font-size:12px; animation:ux-discover 2.5s ease-in-out infinite; }
.ux-discover svg { width:30px; height:30px; flex-shrink:0; fill:#65996618; stroke:#659966; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-page .home-hero.luxury-hero > .luxury-hero-content { transform:translateY(-50px); }
.ux-home-mobile-inner .mobile-account, .mobile-nav-inner .mobile-account { flex-direction:column!important; align-items:stretch!important; gap:8px!important; }
.mobile-account > a { display:flex; align-items:center; justify-content:center; min-height:44px; }
@media(max-width:600px) {
 .ux-site-footer .ux-footer-desktop-links { display:none!important; }
 .ux-site-footer .ux-footer-legal-links { grid-column:1/-1; display:flex!important; border-top:1px solid #ffffff24; padding-top:24px; }
 .ux-site-footer .ux-footer-legal-links b { margin-bottom:10px; }
 .ux-footer-socials { justify-content:center; }
}
@keyframes ux-discover { 50% { transform: translateY(5px); } }
.ux-solution-dialog { width: min(680px,calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--ux-line); border-radius: 24px; background: #fafcf9; color: var(--ux-ink); overflow: auto; box-shadow: 0 20px 65px #09251933; }
.ux-solution-dialog::backdrop { background: #07180cb3; }
.ux-dialog-heading, .ux-partners-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ux-dialog-heading h2 { font-size: 28px; letter-spacing: -.8px; margin: 6px 0 20px; }
.ux-dialog-close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid var(--ux-line); border-radius: 50%; background: white; color: var(--ux-ink); font-size: 24px; cursor: pointer; }
.ux-solution-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ux-solution-option { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid var(--ux-line); border-radius: var(--ux-radius); background: white; color: var(--ux-ink); }
.ux-solution-option:hover { border-color: var(--ux-green); background: var(--ux-soft); }
.ux-solution-option strong { font-size: 18px; }
.ux-solution-option p { font-size: 13px; line-height: 1.5; color: var(--ux-muted); margin: 0; }
.ux-solution-option > span:last-child { margin-top: auto; font-size: 13px; font-weight: 700; }
.ux-solution-icon { display: grid; place-items: center; width: 38px; height: 38px; background: var(--ux-soft); border-radius: 12px; font-size: 24px; }
.ux-solution-account { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--ux-line); }
.ux-solution-account .btn { font-size: 12px; min-height: 44px; text-align: center; }
.ux-login-link { grid-column: 1/-1; text-align: center; padding: 10px; font-size: 13px; text-decoration: underline; }
.ux-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ux-partners { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; gap: 20px 12px; }
.ux-partners-heading { grid-column: 1; grid-row: 1; min-width: 0; }
.ux-partners-heading h2 { font-size: clamp(26px,3vw,40px); margin: 8px 0 0; letter-spacing: -1px; }
.ux-partners > [data-partner-prev] { grid-column: 2; grid-row: 1; align-self: center; }
.ux-partners > [data-partner-next] { grid-column: 3; grid-row: 1; align-self: center; }
.ux-partners > .ux-partner-track { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
.ux-partners > .ux-carousel-progress { grid-column: 1 / -1; grid-row: 3; margin-top: 0; }
.ux-partners > .ux-partners-empty { grid-column: 1 / -1; }
.ux-carousel-arrow { border: 1px solid var(--ux-line); border-radius: 50%; width: 44px; height: 44px; background: #fff; color: var(--ux-green); font-size: 20px; cursor: pointer; }
.ux-carousel-arrow:disabled { opacity: .4; cursor: default; }
.ux-partner-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px)/4); gap: 16px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.ux-partner-track::-webkit-scrollbar { display: none; }
.ux-partner-card { border: 1px solid var(--ux-line); border-radius: var(--ux-radius); overflow: hidden; background: #fff; scroll-snap-align: start; min-width: 0; }
.ux-partner-card-link { display: flex; flex-direction: column; height: 100%; color: var(--ux-ink); }
.ux-partner-card-image { position: relative; height: 215px; flex: 0 0 215px; background: var(--ux-soft); display: grid; place-items: center; overflow: hidden; }
.ux-partner-card-image > span { font-size: 70px; font-weight: 700; color: var(--ux-green); }
.ux-partner-card-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; object-position: center; }
.ux-partner-card-image img.ux-partner-image-logo { object-fit: contain; padding: 28px; }
.ux-partner-card-copy { padding: 16px; display: flex; flex-direction: column; flex: 1; gap: 8px; }
.ux-partner-card-copy h3 { font-size: 18px; margin: 0; letter-spacing: -.3px; }
.ux-partner-card-copy p { font-size: 12px; line-height: 1.5; margin: 0; color: var(--ux-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ux-partner-card-cta { margin-top: auto; font-size: 12px; font-weight: 700; padding-top: 6px; }
.ux-partner-card-demo .ux-partner-card-copy h3 { overflow-wrap: anywhere; }
.ux-partner-card-demo .ux-partner-card-copy p { display: block; }
.ux-partner-demo-cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--ux-green); color: #fff; border-radius: 10px; padding: 11px 14px; margin-top: 8px; }
.ux-partner-card-demo .ux-partner-card-link:hover .ux-partner-demo-cta { background: #234c35; }
.ux-partner-badge { display: inline-flex; align-items: center; width: fit-content; padding: 5px 9px; border-radius: 999px; background: #eaf4e9; color: var(--ux-green); font-size: 11px; font-weight: 650; line-height: 1.4; }
.ux-carousel-progress { height: 3px; margin-top: 20px; border-radius: 3px; background: var(--ux-line); overflow: hidden; }
.ux-carousel-progress[hidden] { display: none; }
.ux-carousel-progress span { display: block; height: 100%; width: 0; background: var(--ux-green); border-radius: inherit; transition: width 550ms cubic-bezier(.22, 1, .36, 1); }
.ux-partner-profile, .ux-partner-editor { background: #fff; border: 1px solid var(--ux-line); border-radius: 24px; padding: clamp(18px,3vw,36px); }
.ux-partner-profile-head { display: flex; gap: 22px; align-items: center; margin-bottom: 24px; }
.ux-partner-profile-head > div { flex: 1; min-width: 0; }
.ux-partner-profile-head h1 { font-size: clamp(30px,4vw,48px); letter-spacing: -1px; margin: 12px 0; overflow-wrap: anywhere; }
.ux-partner-profile-head p { margin: 0; color: var(--ux-muted); }
.ux-partner-logo { width: 100px; height: 100px; object-fit: contain; border: 1px solid var(--ux-line); border-radius: 18px; padding: 10px; }
.ux-partner-gallery { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 16px 0 24px; }
.ux-partner-gallery > img, .ux-partner-gallery label > img { width: 260px; height: 180px; object-fit: cover; border-radius: 14px; scroll-snap-align: start; }
.ux-partner-profile-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 36px; }
.ux-partner-profile-grid h2 { font-size: 21px; letter-spacing: -.4px; margin: 12px 0; }
.ux-partner-profile-grid p { color: var(--ux-muted); line-height: 1.65; font-size: 14px; overflow-wrap: anywhere; }
.ux-partner-profile-grid aside { border-left: 1px solid var(--ux-line); padding-left: 28px; }
.ux-partner-services { display: flex; flex-wrap: wrap; gap: 8px; }
.ux-partner-service { border-bottom: 1px solid var(--ux-line); padding: 16px 0; }
.ux-partner-service p { margin: 6px 0; }
.ux-partner-service > small { display: block; color: var(--ux-muted); }
.ux-partner-admin-list { display: grid; gap: 12px; }
.ux-partner-admin-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 1px solid var(--ux-line); padding: 20px; border-radius: 16px; background: #fff; }
.ux-partner-admin-row h2 { margin: 0 0 6px; font-size: 19px; }
.ux-partner-admin-row small { display: block; color: var(--ux-muted); margin-top: 6px; }
.ux-partner-editor { display: grid; gap: 18px; max-width: 900px; }
.ux-partner-editor label { display: grid; gap: 8px; font-size: 14px; font-weight: 600; }
.ux-partner-flags { display: flex; gap: 18px; flex-wrap: wrap; }
.ux-partner-flags label { display: flex; align-items: center; }
.ux-partner-flags input, .ux-partner-editor input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--ux-green); }
.ux-direct-request { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 16px 20px; margin-bottom: 20px; background: var(--ux-soft); border: 1px solid var(--ux-line); border-radius: 16px; }
.ux-direct-request > span:last-child { font-size: 13px; color: var(--ux-muted); }
.ux-nav-notice { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; background: #b8ef9a; color: #17392b; border-radius: 99px; font-size: 11px; font-weight: 800; }
.ux-nav-notice[hidden] { display: none; }
.ux-offer-workspace { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.3fr); gap: 24px; align-items: start; }
.ux-offer-job-column { display: grid; gap: 14px; }
.ux-offer-job-info { padding: 20px; background: white; border: 1px solid var(--ux-line); border-radius: 18px; }
.ux-offer-job-heading h2 { font-size: 23px; line-height: 1.25; letter-spacing: -.5px; margin: 12px 0 18px; }
.ux-offer-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ux-offer-info-item { display: grid; gap: 6px; }
.ux-offer-info-item small { font-size: 11px; color: var(--ux-muted); }
.ux-offer-info-item b { font-size: 14px; }
.ux-offer-info-item span { font-size: 12px; color: var(--ux-muted); }
.ux-offer-form-heading h2 { font-size: 24px; line-height: 1.2; letter-spacing: -.5px; margin: 0 0 20px; }
.ux-offer-form-card { padding: 24px; box-shadow: 0 8px 32px #123f2508; }
.ux-offer-form-card .field-heading { margin-bottom: 18px; }
.ux-offer-form-card form { display: grid; gap: 16px; }
.ux-offer-form-card fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ux-offer-form-card legend { font-size: 15px; font-weight: 700; margin-bottom: 10px; }
.ux-offer-form-card legend small { font-weight: 500; font-size: 12px; color: var(--ux-muted); }
.ux-payment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ux-radio-card { position: relative; display: flex; gap: 9px; align-items: flex-start; padding: 14px; border: 1px solid var(--ux-line); border-radius: 13px; background: #fff; cursor: pointer; min-width: 0; }
.ux-radio-card > input { width: 18px; height: 18px; margin: 2px 0 0; flex: 0 0 18px; accent-color: var(--ux-green); box-shadow: none; }
.ux-radio-card > span { display: grid; gap: 6px; min-width: 0; }
.ux-radio-card b { font-size: 14px; line-height: 1.4; }
.ux-radio-card small { font-size: 12px; line-height: 1.45; color: var(--ux-muted); font-weight: 400; }
.ux-radio-card:has(input:checked), .ux-radio-card.is-selected { background: var(--ux-soft); border-color: var(--ux-green); box-shadow: inset 0 0 0 1px var(--ux-green); }
.ux-radio-card:focus-within { outline: 2px solid var(--ux-green); outline-offset: 3px; }
.ux-radio-card.is-unavailable { opacity: .55; cursor: default; }
.ux-type-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.ux-type-options legend, .ux-type-options > .error { grid-column: 1/-1; }
.ux-legacy-offer-type { grid-column: 1/-1; grid-row: 3; }
.ux-legacy-offer-type summary { font-size: 12px; padding: 9px 0; cursor: pointer; color: var(--ux-muted); }
.ux-offer-price-fields { padding: 16px; background: var(--ux-soft); border: 1px solid var(--ux-line); border-radius: 14px; }
.ux-offer-form-card label:not(.ux-radio-card) { display: flex; flex-direction: column; gap: 8px; font-weight: 600; font-size: 14px; }
.ux-offer-price-fields input { font-size: 24px; font-weight: 700; letter-spacing: -.5px; }
.ux-offer-form-card textarea { min-height: 120px; }
.ux-offer-form-card .offer-price-guidance { margin: -8px 0 0; font-size: 12px; line-height: 1.5; }
.ux-offer-form-card .btn { min-height: 46px; }
.ux-offer-form-card .mm-contract-accept-notice { margin: 0; font-size: 12px; line-height: 1.6; }
.ux-offer-row { padding: 20px; background: #fff; border: 1px solid var(--ux-line); border-radius: 18px; display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 20px; align-items: center; }
.ux-offer-summary { display: grid; grid-template-columns: 112px minmax(0,1fr) auto; gap: 18px; align-items: center; color: var(--ux-ink); }
.ux-offer-summary.ux-no-media, .ux-no-media .ux-offer-summary { grid-template-columns: minmax(0,1fr) auto; }
.ux-offer-media { height: 96px; overflow: hidden; border-radius: 12px; background: var(--ux-soft); }
.ux-offer-media img, .ux-offer-media video { width: 100%; height: 100%; object-fit: cover; }
.ux-offer-main h3 { font-size: 20px; line-height: 1.25; letter-spacing: -.4px; margin: 8px 0; }
.ux-offer-main p { font-size: 12px; margin: 0; color: var(--ux-muted); }
.ux-offer-price { display: grid; gap: 5px; }
.ux-offer-price strong { font-size: 23px; letter-spacing: -.4px; }
.ux-offer-price small { font-size: 11px; color: var(--ux-muted); }
.ux-offer-status { display: grid; gap: 10px; }
.ux-offer-status > span { font-size: 12px; padding: 8px 10px; border-radius: 10px; }
.ux-offer-status > .status-accepted, .ux-offer-status > .status-completed { background: var(--ux-soft); color: var(--ux-green); font-weight: 700; }
.ux-offer-status .btn { min-height: 44px; font-size: 12px; }
.ux-job-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.ux-job-card { position: relative; display: flex; flex-direction: column; border: 1px solid var(--ux-line); background: #fff; border-radius: 18px; overflow: hidden; }
.ux-card-hit { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ux-job-cover { height: 180px; overflow: hidden; background: var(--ux-soft); }
.ux-job-cover img, .ux-job-cover video { width: 100%; height: 100%; object-fit: cover; }
.ux-job-body { padding: 20px; display: grid; gap: 10px; flex: 1; }
.ux-job-body h3 { font-size: 21px; line-height: 1.25; letter-spacing: -.4px; margin: 0; }
.ux-job-body p { font-size: 13px; margin: 0; color: var(--ux-muted); }
.ux-job-card-facts { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--ux-muted); }
.ux-job-card-facts strong { color: var(--ux-ink); font-size: 16px; }
.ux-job-card-actions { position: relative; z-index: 2; display: grid; gap: 8px; }
.ux-job-card-actions .btn { min-height: 44px; font-size: 12px; }
.ux-market-labels { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 18px 0; }
.ux-new-jobs { min-width: 220px; min-height: 48px; }
.ux-billing-fields label { font-size: 13px; font-weight: 500; }
.ux-billing-fields input { font-size: 13px; font-weight: 400; }
.ux-billing-fields input[type=checkbox], .ux-billing-fields input[type=radio] { width: 18px; height: 18px; }
.ux-create-recommendation { display: flex; align-items: center; gap: 16px; padding: 18px 20px; margin-bottom: 24px; background: var(--ux-green); color: white; border-radius: 16px; }
.ux-create-recommendation > span:nth-child(2) { display: grid; gap: 6px; }
.ux-create-recommendation small { font-size: 12px; line-height: 1.5; color: #e0ece4; }
.ux-invoice-stats { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 12px; }
.ux-invoice-stats > div { padding: 20px; border: 1px solid var(--ux-line); border-radius: 16px; display: grid; gap: 8px; background: #fafcf9; }
.ux-invoice-stats small { font-size: 10px; letter-spacing: .05em; color: var(--ux-muted); }
.ux-invoice-stats strong { font-size: clamp(22px,3vw,32px); letter-spacing: -.8px; }
.ux-invoice-stats .total { position: relative; overflow: hidden; background: var(--ux-green); color: white; border: 0; }
.ux-invoice-stats .total small { color: #e7f0e7; }
.ux-invoice-stats .total::after { content: ''; pointer-events: none; position: absolute; width: 120px; height: 120px; border-radius: 50%; right: -25px; top: -55px; background: radial-gradient(circle,#ffffff24,transparent 70%); }
.ux-footer-support { display: flex; justify-content: flex-end; padding-bottom: 20px; }
.ux-footer-support .btn { min-height: 44px; }
.footer-direct-contact-icon svg { width: 24px; height: 24px; display: block; }
/* Preserve legal notices and workflow controls; only the presentation wrapper changes. */
.ux-communication-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: stretch; margin: 20px 0; }
.ux-communication-grid > section { height: auto; min-height: 0; }
.ux-communication-grid .btn { min-height: 44px; }
.ux-offer-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; margin-bottom: 14px; border-bottom: 1px solid var(--ux-line); }
@media (max-width: 1250px) {
  .ux-home-nav, .ux-home-account { display: none; }
  .ux-home-menu { display: block; margin-left: auto; }
  .ux-partner-track { grid-auto-columns: calc((100% - 32px)/3); }
  .ux-offer-row { grid-template-columns: minmax(0,1fr) 220px; gap: 16px; }
  .ux-offer-summary { grid-template-columns: 80px minmax(0,1fr); }
  .ux-offer-price { grid-column: 2; }
  .ux-no-media .ux-offer-price { grid-column: auto; }
}
@media (max-width: 960px) {
  .ux-offer-workspace { grid-template-columns: 1fr; }
  .ux-offer-job-column .offer-privacy { display: none; }
  .ux-job-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ux-partner-track { grid-auto-columns: calc((100% - 16px)/2); }
  .ux-partner-profile-head { flex-wrap: wrap; }
  .ux-partner-profile-grid { grid-template-columns: 1fr; gap: 18px; }
  .ux-partner-profile-grid aside { border-left: 0; border-top: 1px solid var(--ux-line); padding: 18px 0 0; }
}
@media (max-width: 600px) {
  .ux-home-header-inner { padding: 16px 20px; }
  .ux-home-brand { flex-basis: 140px; }
  .ux-solution-dialog { padding: 18px; border-radius: 20px; }
  .ux-dialog-heading h2 { font-size: 24px; margin-bottom: 14px; }
  .ux-solution-options { grid-template-columns: 1fr; gap: 9px; }
  .ux-solution-option { padding: 14px; display: grid; grid-template-columns: 38px minmax(0,1fr); column-gap: 12px; row-gap: 5px; }
  .ux-solution-icon { grid-row: 1/4; }
  .ux-solution-option strong { font-size: 16px; }
  .ux-solution-option p, .ux-solution-option > span:last-child { grid-column: 2; }
  .ux-solution-account { grid-template-columns: 1fr; gap: 8px; margin-top: 12px; padding-top: 12px; }
  .ux-partners { grid-template-columns: 44px minmax(0, 1fr) 44px; column-gap: 6px; }
  .ux-partners-heading { grid-column: 1 / -1; text-align: center; justify-content: center; }
  .ux-partners > [data-partner-prev] { grid-column: 1; grid-row: 2; }
  .ux-partners > [data-partner-next] { grid-column: 3; grid-row: 2; }
  .ux-partners > .ux-carousel-arrow { display: grid; place-items: center; box-sizing: border-box; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; border-radius: 50%; line-height: 1; }
  .ux-partners > .ux-partner-track { grid-column: 2; grid-row: 2; grid-auto-columns: 100%; gap: 12px; scroll-snap-type: x mandatory; }
  .ux-partners > .ux-carousel-progress { grid-column: 2; }
  .ux-partner-card { scroll-snap-align: center; scroll-snap-stop: always; }
  .ux-partner-card-copy h3 { overflow-wrap: anywhere; }
  .ux-partner-card-image { height: 205px; flex-basis: 205px; }
  .ux-partners-heading h2 { font-size: 25px; }
  .ux-partner-profile-head { gap: 14px; }
  .ux-partner-profile-head > .btn { width: 100%; }
  .ux-partner-logo { width: 72px; height: 72px; }
  .ux-partner-admin-row { flex-direction: column; align-items: flex-start; padding: 16px; }
  .ux-partner-flags { flex-direction: column; gap: 12px; }
  .ux-offer-form-card { padding: 18px; border-radius: 18px; }
  .ux-offer-form-card form { gap: 14px; }
  .ux-payment-grid { gap: 8px; }
  .ux-radio-card { padding: 12px 10px; gap: 6px; }
  .ux-radio-card b { font-size: 13px; }
  .ux-radio-card small { font-size: 11px; }
  .ux-type-options { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .ux-type-options > .ux-radio-card:last-of-type { grid-column: 1/-1; }
  .ux-legacy-offer-type { grid-row: auto; }
  .ux-offer-price-fields { padding: 12px; }
  .ux-offer-price-fields input { font-size: 22px; }
  .ux-offer-row, .ux-offer-summary, .ux-no-media .ux-offer-summary { grid-template-columns: 1fr; }
  .ux-offer-summary { gap: 12px; }
  .ux-offer-media { height: 145px; }
  .ux-offer-price { grid-column: auto; }
  .ux-offer-row { gap: 14px; padding: 16px; }
  .ux-offer-status { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .ux-offer-status > span { grid-column: 1/-1; }
  .ux-offer-status:not(:has(button)) > a { grid-column: 1/-1; }
  .ux-job-grid { grid-template-columns: 1fr; gap: 14px; }
  .ux-job-body { padding: 16px; }
  .ux-job-cover { height: 165px; }
  .ux-invoice-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .ux-invoice-stats .total { grid-column: 1/-1; }
  .ux-invoice-stats > div { padding: 16px; }
  .ux-invoice-stats strong { font-size: 25px; }
  .ux-communication-grid { grid-template-columns: 1fr; gap: 12px; margin: 14px 0; }
  .ux-new-jobs { min-width: 160px; }
  .ux-footer-support { justify-content: flex-start; padding-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ux-discover { animation: none; }
  .ux-partner-track { scroll-behavior: auto; }
}
/* Navigation, registration chooser and contact refinements. */
.ux-page-brand { display:block; flex:0 0 36px; width:36px; line-height:1; }
.ux-page-brand img { display:block; width:32px; height:38px; object-fit:contain; }
[data-site-header].header-on-dark .ux-page-brand img { filter:brightness(0) invert(1); }
.ux-home-mobile-inner > a, .mobile-nav-inner > a { font-weight:600; }
.mobile-account > a { justify-content:flex-start!important; text-align:left!important; padding:10px 12px!important; font-weight:650; }
.home-page .eyebrow, .home-page .ux-ref-process-label, .home-page .ux-ref-home-testimonial-empty > span, .home-page .process-label { font-size:14px!important; line-height:1.5; letter-spacing:.02em!important; }
.ux-footer-brand-column { display:flex; flex-direction:column; }
.ux-footer-brand-column .ux-footer-support { margin-top:14px; padding:0; }
.ux-footer-brand-column .ux-footer-support .btn { font-size:11px; padding:8px 12px; min-height:36px; width:fit-content; white-space:nowrap; }
.ux-trades-back { display:inline-flex; gap:10px; align-items:center; min-height:44px; padding:10px 16px; margin-bottom:24px; border:1px solid #dce6df; border-radius:999px; color:#164c36; background:#f1f6f0; font-size:14px; font-weight:600; letter-spacing:0; transition:background .15s; }
.ux-trades-back:hover { background:#e0ecde; }
.ux-trades-back:focus-visible { outline:2px solid #164c36; outline-offset:3px; }
.ux-role-select-hero { max-width:1200px; margin:auto; padding:80px 24px; display:grid; grid-template-columns:1fr 1.2fr; gap:56px; align-items:center; }
.ux-role-select-copy h1 { font-size:clamp(38px,4vw,58px); line-height:1.05; letter-spacing:-1.6px; margin:16px 0 24px; }
.ux-role-select-copy h1 strong { color:#659966; }
.ux-role-select-copy > p { color:#617068; font-size:15px; line-height:1.6; }
.ux-role-login-prompt { display:flex; gap:18px; align-items:center; border-top:1px solid #dce6df; padding-top:18px; margin-top:22px; font-size:14px; }
.ux-role-login-prompt a { font-weight:650; color:#164c36; }
.ux-role-select-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ux-role-select-card { display:flex; flex-direction:column; gap:20px; border:1px solid #dce6df; border-radius:20px; padding:24px; color:#17392b; background:#fff; min-width:0; }
.ux-role-professional { background:#123b27; border-color:#123b27; color:#fff; }
.ux-role-card-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:#eff6f0; }
.ux-role-card-icon svg { width:28px; height:28px; fill:none; stroke:#164c36; stroke-width:1.5; }
.ux-role-professional .ux-role-card-icon { background:#659966; }
.ux-role-professional .ux-role-card-icon svg { stroke:white; }
.ux-role-card-copy > span { font-size:13px; font-weight:600; }
.ux-role-card-copy h2 { font-size:28px; line-height:1.1; letter-spacing:-.6px; margin:12px 0; }
.ux-role-card-copy p { font-size:14px; line-height:1.6; margin:0; }
.ux-role-card-footer { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #dce6df; padding-top:16px; margin-top:auto; font-size:12px; }
.ux-role-professional .ux-role-card-footer { border-color:#ffffff26; }
@media(max-width:960px) { .ux-role-select-hero { gap:28px; padding:48px 24px; } .ux-role-select-grid { grid-template-columns:1fr; } }
@media(max-width:600px) {
 .ux-role-select-hero { display:flex; flex-direction:column; align-items:stretch; padding:24px 16px 40px; gap:28px; }
 .ux-role-select-copy h1 { font-size:36px; margin:14px 0 18px; }
 .ux-role-select-copy h1 br { display:none; }
 .ux-role-select-copy h1 br::after { content:' '; }
 .ux-role-select-copy h1 strong { display:block; margin-top:4px; }
 .ux-role-select-copy > p { font-size:14px; }
 .ux-role-select-card { padding:20px; gap:16px; }
 .ux-role-card-copy h2 { font-size:27px; }
 .ux-footer-brand-column { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 10px; }
 .ux-footer-logo, .ux-footer-brand-column > p, .ux-footer-phone-row, .ux-footer-socials { grid-column:1/-1; }
 .ux-footer-direct-contact { display:contents; }
 .ux-footer-direct-contact > a { grid-column:1; font-size:11px; gap:6px; }
 .ux-footer-brand-column .ux-footer-support { grid-column:2; grid-row:4; align-self:center; margin:0; }
 .ux-footer-socials { margin-top:14px; }
}
.register-role-page .ux-role-select-copy h1 { font-size:clamp(34px,4vw,58px)!important; line-height:1.08!important; }
.register-role-page .ux-role-select-copy h1 strong { font-size:inherit!important; line-height:inherit!important; }
.register-role-page .ux-role-select-copy h1 strong span { display:inline!important; font-size:inherit!important; line-height:inherit!important; }
@media(max-width:600px) { .register-role-page .ux-role-select-copy h1 { font-size:34px!important; } }
/* Mobile-first refinement: aligned menu and a clearer About page. */
.ux-home-mobile-inner .mobile-account { padding-left:0!important; padding-right:0!important; }
.ux-home-mobile-inner > a, .ux-home-mobile-inner .mobile-account > a { padding-left:10px!important; }
.register-role-page .ux-role-select-copy > .eyebrow, .pro-onboarding-page .eyebrow, .onboarding-section-head > span { font-size:14px!important; letter-spacing:.02em!important; line-height:1.5!important; }
.ux-about-page { max-width:1200px; margin:auto; padding:32px 24px 56px; color:#123b27; }
.ux-about-hero { display:grid; grid-template-columns:1.4fr 1fr; gap:32px; align-items:center; margin-bottom:36px; }
.ux-about-hero-copy .eyebrow { font-size:14px; letter-spacing:.02em; }
.ux-about-hero-copy h1 { font-size:clamp(34px,4vw,54px); line-height:1.1; letter-spacing:-1.2px; margin:16px 0 20px; }
.ux-about-hero-copy p { color:#617068; font-size:15px; line-height:1.7; }
.ux-about-hero-card { position:relative; overflow:hidden; border:1px solid #76ad7933; border-radius:24px; background:radial-gradient(ellipse at top right,#39734c 0%,#123b27 65%); color:white; padding:28px; box-shadow:0 12px 36px #387b431a; }
.ux-about-hero-card::after { content:''; position:absolute; right:24px; top:24px; width:42px; height:3px; background:#b1dc91; border-radius:3px; box-shadow:0 0 18px #a9db98; }
.ux-about-hero-card > span { display:block; font-size:13px; color:#c4e0bc; margin-bottom:18px; }
.ux-about-hero-card > strong { font-size:22px; line-height:1.5; }
.ux-about-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:32px; counter-reset:about-card; }
.ux-about-card { position:relative; border:1px solid #dce6df; border-radius:20px; background:linear-gradient(135deg,#f4f8f1,#fff 70%); padding:24px; counter-increment:about-card; }
.ux-about-card::before { content:'0' counter(about-card); display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; background:#e5efdf; border-radius:12px; font-size:12px; font-weight:700; margin-bottom:16px; }
.ux-about-card h2 { font-size:22px; line-height:1.25; letter-spacing:-.4px; margin:0 0 14px; }
.ux-about-card p { font-size:14px; line-height:1.7; margin:0; color:#617068; }
.ux-about-mission { position:relative; overflow:hidden; background:radial-gradient(ellipse at top right,#2d6344,#102f20 65%); color:#fff; border-radius:24px; padding:36px; margin-bottom:24px; }
.ux-about-mission .eyebrow { color:#c4e0bc; font-size:14px; letter-spacing:.02em; }
.ux-about-mission h2 { font-size:32px; line-height:1.25; letter-spacing:-.6px; margin:20px 0; }
.ux-about-goal-line { display:block; }
.ux-about-mission p { font-size:14px; line-height:1.75; color:#dce9df; margin:0; border-top:1px solid #a4d49440; padding-top:20px; }
.ux-about-social { border:1px solid #dce6df; border-radius:24px; padding:28px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ux-about-social .eyebrow { font-size:14px; letter-spacing:.02em; }
.ux-about-social h2 { font-size:28px; letter-spacing:-.6px; margin:10px 0; }
.ux-about-social p { font-size:14px; line-height:1.6; color:#617068; }
.ux-about-social-links { display:flex; gap:12px; }
.ux-about-social-links a { display:grid; place-items:center; width:48px; height:48px; border:1px solid #b8cdbb; background:#eff6f0; border-radius:14px; }
.ux-about-social-links img { width:22px; height:22px; }
.ux-carousel-arrow:empty::before, .testimonial-carousel-arrow:empty::before { content:''; width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); display:inline-block; }
[data-partner-prev]:empty::before, [data-testimonial-prev]:empty::before { transform:rotate(-135deg); }
@media(max-width:600px) {
 .ux-about-page { padding:24px 16px 40px; }
 .ux-about-hero { grid-template-columns:1fr; gap:24px; margin-bottom:24px; }
 .ux-about-hero-copy h1 { font-size:36px; }
 .ux-about-hero-card { padding:24px; }
 .ux-about-hero-card > strong { font-size:20px; }
 .ux-about-grid { grid-template-columns:1fr; gap:14px; }
 .ux-about-card { padding:22px; }
 .ux-about-card h2 { font-size:22px; }
 .ux-about-mission { padding:26px 22px; }
 .ux-about-mission h2 { font-size:28px; }
 .ux-about-social { flex-direction:column; align-items:flex-start; padding:24px 22px; gap:12px; }
}
.professional-register-page .eyebrow { font-size:14px!important; letter-spacing:.02em!important; line-height:1.5!important; }
/* Text actions use clean, tactile buttons instead of arrow decorations. */
.ux-ref-editorial-copy .text-link { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid #cadbca; border-radius:12px; background:#eff6f0; color:#164c36; text-decoration:none!important; font-size:14px; font-weight:650; letter-spacing:0; }
.ux-ref-process-feature > a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border-radius:12px; background:#e6f1df; color:#123b27; text-decoration:none!important; font-size:14px; letter-spacing:0; }
.ux-ref-editorial-copy .text-link:hover { background:#e1eddc; }
.ux-ref-process-feature > a:hover { background:#d4e8cb; }
/* Visible secondary actions and mobile contact emphasis. */
html body :is(a,button).btn.secondary,
html body :is(a,button).secondary-button,
html body a.text-link,
html body a.ux-login-link {
 display:inline-flex!important; align-items:center; justify-content:center;
 min-height:44px; padding:11px 16px!important;
 border:1px solid #b5cab9!important; border-radius:12px!important;
 background:#edf4eb!important; color:#164c36!important;
 box-shadow:0 2px 6px #123b2709; text-decoration:none!important;
 font-size:14px; font-weight:650; letter-spacing:0!important;
 transition:background .15s,border-color .15s,box-shadow .15s;
}
html body :is(a,button).btn.secondary:hover,
html body :is(a,button).secondary-button:hover,
html body a.text-link:hover,
html body a.ux-login-link:hover { background:#e0eddc!important; border-color:#86aa8c!important; box-shadow:0 3px 10px #123b2712; }
html body :is(a,button).btn.secondary:focus-visible,
html body :is(a,button).secondary-button:focus-visible,
html body a.text-link:focus-visible,
html body a.ux-login-link:focus-visible { outline:2px solid #39764c; outline-offset:3px; }
.ux-partners-empty { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:12px; }
.ux-partners-empty > .btn { align-self:flex-start; margin:0!important; width:auto!important; }
.ux-ref-trust-band-points > div > strong {
 display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px;
 border:1px solid #a5d88870; border-radius:9px; color:#c0ef9d;
 background:radial-gradient(circle,#88b76b36,#88b76b10);
 box-shadow:0 0 14px #93cb5c30,inset 0 0 8px #a6d97b14;
 font-size:15px; line-height:1; margin-top:1px;
}
@media(max-width:600px) {
 .ux-footer-direct-contact > a { font-size:12px!important; }
 .ux-footer-direct-contact-value { font-size:12px; }
 .ux-footer-brand-column .ux-footer-support .btn { font-size:10px!important; padding:8px 10px!important; min-height:36px!important; }
}
/* Header contrast follows the surface beneath each control. */
.ux-home-header.logo-on-light .ux-home-brand img { filter:none; }
.ux-home-header.logo-on-dark .ux-home-brand img { filter:brightness(0) invert(1); }
.ux-home-header.menu-on-light .ux-home-menu span { background:#164c36; }
.ux-home-header.menu-on-dark .ux-home-menu span { background:#fff; }
.ux-home-header.nav-on-light .ux-home-nav a,
.ux-home-header.account-on-light .ux-home-account :is(a,button) { color:#164c36; }
.testimonial-page .testimonial-page-actions a.btn.primary { background:#123b27!important; color:#fff!important; -webkit-text-fill-color:#fff!important; opacity:1!important; }
/* Join the two white process cards into a continuous mobile sequence. */
@media(max-width:768px) {
 .ux-ref-process-feature:not(.ux-ref-process-feature-dark):not(:last-child)::after {
  content:''; position:absolute; left:calc(50% - 1px); top:100%; bottom:auto;
  width:2px; height:35px; background:linear-gradient(#bdcfbe,#78a47b,#bdcfbe);
  border-radius:2px; pointer-events:none;
 }
 .ux-ref-process-feature:not(.ux-ref-process-feature-dark):last-child::before {
  content:''; position:absolute; left:calc(50% - 4px); top:-5px;
  width:8px; height:8px; border-radius:50%; background:#78a47b;
  border:2px solid #fff; box-shadow:0 0 0 1px #bdcfbe; pointer-events:none;
 }
}
@media(max-width:768px) {
 .ux-ref-process-feature:not(.ux-ref-process-feature-dark):last-child { margin-top:-16px; }
 .ux-ref-process-feature:not(.ux-ref-process-feature-dark):not(:last-child)::after {
  left:50%; transform:translateX(-50%); height:19px;
 }
 .ux-ref-process-feature:not(.ux-ref-process-feature-dark):last-child::before {
  box-sizing:border-box; left:50%; transform:translateX(-50%); top:-4px;
 }
}
/* More readable sign-in and registration field labels. */
html body .auth-card form > label,
html body .professional-register-page .onboarding-section .grid2 > label {
 font-size:14px!important; font-weight:650; line-height:1.5;
}
html body .auth-card .remember-row > span,
html body .auth-card .registration-preference > span,
html body .professional-register-page .registration-preference > span,
html body .auth-card .registration-preference > span > a,
html body .professional-register-page .registration-preference > span > a {
 font-size:14px!important; line-height:1.5!important;
}
html body .auth-card .registration-preference,
html body .professional-register-page .registration-preference {
 min-height:44px; align-items:center; padding-top:9px; padding-bottom:9px;
}
/* Desktop-only homepage alignment; approved mobile rules stay unchanged. */
@media(min-width:769px) {
 body.home-page { --ux-desktop-gutter:clamp(44px,3.5vw,60px); --ux-desktop-width:min(1440px,calc(100vw - 2 * var(--ux-desktop-gutter))); }
 html:root body.home-page .home-hero.luxury-hero > .luxury-hero-content {
  width:var(--ux-desktop-width)!important; max-width:1440px!important;
  margin-inline:auto!important; padding-left:0!important; padding-right:0!important;
 }
 html:root body.home-page :is(.ux-partners,.ux-ref-home-editorial,.ux-ref-process-showcase,.ux-ref-home-testimonials-inner,.ux-ref-trust-band,.ux-ref-pro-landing-cta) {
  width:var(--ux-desktop-width)!important; max-width:1440px!important;
  margin-left:auto!important; margin-right:auto!important; box-sizing:border-box;
 }
 html:root body.home-page :is(.ux-partners,.ux-ref-home-editorial,.ux-ref-process-showcase,.ux-ref-home-testimonials-inner,.ux-ref-pro-landing-cta) {
  padding-left:0!important; padding-right:0!important;
 }
 body.home-page .ux-ref-home-testimonial-actions .btn.primary {
  background:#246441!important; color:#fff!important; -webkit-text-fill-color:#fff!important;
  border:1px solid #347752!important;
 }
 body.home-page .ux-ref-home-testimonial-actions .btn.primary:hover { background:#2d754d!important; }
 body.home-page .ux-ref-trust-band { border-radius:24px; overflow:hidden; }
 body.home-page .ux-footer-inner { width:var(--ux-desktop-width); max-width:1440px; margin-inline:auto; }
 .ux-footer-brand-column .ux-footer-socials { justify-content:flex-start; }
 .ux-footer-brand-column .ux-footer-support { display:flex; justify-content:flex-start; align-self:flex-start; margin-top:14px; }
}
/* Requested CTA finish on desktop and tighter partner-section spacing. */
html:root body.home-page .ux-partners { padding-top:40px!important; padding-bottom:32px!important; margin-top:0!important; margin-bottom:0!important; }
html:root body.home-page .ux-partners + .ux-ref-home-editorial { padding-top:32px; }
@media(min-width:769px) {
 html:root body.home-page .home-hero .hero-actions .hero-primary {
  background:rgba(101,153,102,.9)!important;
  border:1px solid rgba(165,229,126,.55)!important;
  box-shadow:0 0 12px #a5e57e14; color:#fff!important;
 }
 html:root body.home-page .home-hero .hero-actions .hero-primary:hover { background:rgba(111,167,108,.95)!important; border-color:rgba(165,229,126,.8)!important; }
}
@media(max-width:768px) {
 html:root body.home-page .ux-partners { padding-top:28px!important; padding-bottom:24px!important; }
 html:root body.home-page .ux-partners + .ux-ref-home-editorial { padding-top:24px; }
}
html:root body.home-page .home-hero .hero-actions .ux-hero-description-button {
 display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
 gap:8px; width:100%; max-width:430px; padding:18px 20px; text-align:left; white-space:normal;
}
.ux-hero-description-button > strong { font-size:14px; font-weight:700; width:100%; text-align:left; }
.ux-hero-description-button > span { font-size:13px; font-weight:400; line-height:1.5; letter-spacing:0; }
/* Desktop header: align the brand with the hero and animate navigation emphasis. */
@media(min-width:961px) {
 body.home-page .ux-home-header-inner {
  width:var(--ux-desktop-width); max-width:1440px; margin-inline:auto;
  padding-left:0; padding-right:0; gap:32px; box-sizing:border-box;
 }
 .ux-home-nav { gap:clamp(20px,1.7vw,32px); }
 .ux-home-account { gap:20px; }
 .ux-home-nav a, .ux-home-account a, .ux-home-account button { font-size:13px; }
 .ux-home-nav a { position:relative; border-bottom:0; }
 .ux-home-nav a::after {
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
 }
 .ux-home-nav a:hover { border-bottom:0; }
 .ux-home-nav a:hover::after, .ux-home-nav a:focus-visible::after { transform:scaleX(1); }
 html:root body.home-page .ux-ref-trust-band { margin-top:32px!important; margin-bottom:32px!important; }
}
@media(prefers-reduced-motion:reduce) {
 .ux-home-nav a::after { transition:none; }
}
@media(min-width:769px) {
 html:root body.home-page .home-hero .hero-copy { padding-left:0!important; margin-left:0!important; }
 html:root body.home-page .home-hero .hero-kicker { padding-left:0!important; margin-left:0!important; left:auto!important; transform:none!important; }
 html:root body.home-page .ux-partners { margin-top:12px!important; margin-bottom:12px!important; }
}
@media(min-width:961px) {
 /* The SVG drawing begins 12 viewBox units inside the image. At 38px height,
    that is 12 * 38 / 224 = 2.035714px; offset only the desktop emblem. */
 .ux-home-brand img { object-position:left center; transform:translateX(-2.035714px); }
}
@media(min-width:769px) {
 html:root body.home-page .ux-partners { margin-top:32px!important; margin-bottom:32px!important; }
}
/* Desktop service accordions retain their own height when a neighbour opens. */
@media(min-width:769px) {
 .trades-directory-page .trades-directory-grid { align-items:start; }
 .trades-directory-page .trades-directory-group { align-self:start; height:auto; }
}
/* Desktop forms and directory refinements; mobile is intentionally unchanged. */
@media(min-width:769px) {
 html:root body:has(.trades-directory-page) [data-site-header],
 html:root body.beauty-quick-help-page [data-site-header] {
  background:transparent!important; background-image:none!important;
  box-shadow:none!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
 }
 .ux-trades-back { justify-content:center; text-align:center; }
 .ux-trades-back > span:empty { display:none; }
 html:root body.register-role-page .ux-role-select-hero {
  width:min(1400px,calc(100% - 96px)); max-width:1400px;
  padding:120px 0 80px; gap:56px; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
 }
 html:root body.register-role-page .ux-role-select-copy h1 { font-size:clamp(44px,4vw,64px)!important; line-height:1.1!important; }
 .register-role-page .ux-role-select-copy > p { font-size:17px; }
 .register-role-page .ux-role-select-card { padding:32px; gap:24px; }
 .register-role-page .ux-role-card-copy h2 { font-size:32px; }
 .register-role-page .ux-role-card-copy p { font-size:16px; }
 html:root body .auth-shell:has(.customer-register-copy) {
  width:min(1280px,calc(100% - 96px)); max-width:1280px; padding:64px 0 80px;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; align-items:center;
 }
 html:root body .customer-register-copy { min-width:0; }
 html:root body .customer-register-copy h1 {
  font-size:clamp(42px,4.2vw,64px)!important; line-height:1.15!important;
  letter-spacing:-1.6px!important; margin:22px 0 28px!important;
 }
 html:root body .customer-register-copy .eyebrow {
  font-family:inherit!important; font-size:14px!important; letter-spacing:.02em!important; font-weight:600!important;
 }
 html:root body.professional-register-page .pro-onboarding-simple {
  width:min(1360px,calc(100% - 96px)); max-width:1360px; margin-inline:auto;
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:48px; align-items:start;
 }
 html:root body.professional-register-page .pro-onboarding-intro { min-width:0; width:auto; }
 html:root body.professional-register-page .pro-onboarding-intro h1 {
  font-size:clamp(32px,2.7vw,42px)!important; line-height:1.15!important;
  letter-spacing:-1px!important; max-width:100%; overflow-wrap:anywhere;
 }
 html:root body.professional-register-page .onboarding-card { min-width:0; width:auto!important; }
 html:root body.professional-register-page .onboarding-section-head {
  display:block!important; text-align:left!important; grid-template-columns:none!important; padding-left:0!important;
 }
 html:root body.professional-register-page .onboarding-section-head > span { display:none!important; }
 html:root body.professional-register-page .onboarding-section-head > div { margin-left:0!important; padding-left:0!important; }
 html:root body.professional-register-page .onboarding-section-head h2 { font-size:28px!important; line-height:1.2!important; margin-top:0; }
}
/* Desktop directory/wellness: transparent header and white page canvas. */
@media(min-width:769px) {
 html:root body.beauty-quick-help-page,
 html:root body.beauty-quick-help-page .site-main,
 html:root body.beauty-quick-help-page .quick-page,
 html:root body.beauty-quick-help-page .quick-shell { background:#fff!important; background-image:none!important; }
 html:root body.beauty-quick-help-page header.site-header[data-site-header],
 html:root body:has(.trades-directory-page) header.site-header[data-site-header],
 html:root body.beauty-quick-help-page header.site-header[data-site-header] .header-inner,
 html:root body:has(.trades-directory-page) header.site-header[data-site-header] .header-inner {
  background:transparent!important; background-image:none!important; box-shadow:none!important;
  border-color:transparent!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
 }
}
@media(min-width:769px) {
 html:root body.beauty-quick-help-page .quick-hero.premium-quick {
  background:#fff!important; background-image:none!important;
 }
 html:root body.beauty-quick-help-page .quick-hero.premium-quick::before,
 html:root body.beauty-quick-help-page .quick-hero.premium-quick::after {
  background:none!important; background-image:none!important;
 }
}
@media(min-width:769px) {
 html:root body.beauty-quick-help-page .quick-card:has(.quick-login-required) {
  background:transparent!important; border:0!important; box-shadow:none!important;
  padding:0!important; border-radius:0!important;
 }
}
/* Desktop professional signup CTA matches the approved green action color. */
@media(min-width:769px) {
 html:root body.home-page .ux-ref-pro-landing-cta > a.btn.primary {
  background:#246441!important; border:1px solid #347752!important;
  color:#fff!important; -webkit-text-fill-color:#fff!important;
 }
 html:root body.home-page .ux-ref-pro-landing-cta > a.btn.primary:hover { background:#2d754d!important; }
}
/* Desktop wellness and services share the registration page's soft canvas. */
@media(min-width:769px) {
 html:root body.beauty-quick-help-page,
 html:root body.beauty-quick-help-page .site-main,
 html:root body.beauty-quick-help-page .quick-hero.premium-quick,
 html:root body.beauty-quick-help-page .quick-shell,
 html:root body:has(.trades-directory-page),
 html:root body:has(.trades-directory-page) .site-main,
 html:root body .trades-directory-page {
  background:#eff2ec!important; background-image:none!important;
 }
}
/* About, solution chooser and footer finishing touches. */
.ux-about-card::before { content:none; display:none; }
.ux-solution-dialog::backdrop { background:rgba(0,0,0,.7); }
.ux-solution-icon svg { display:block; width:24px; height:24px; }
@media(max-width:600px) {
 .ux-footer-brand-column { display:flex; flex-direction:column; align-items:flex-start; }
 .ux-footer-direct-contact { display:grid; width:100%; gap:6px; }
 .ux-footer-brand-column .ux-footer-support { order:1; align-self:flex-start; margin-top:12px; }
 .ux-footer-brand-column .ux-footer-support .btn { min-height:44px!important; font-size:12px!important; padding:11px 16px!important; }
 .ux-footer-brand-column .ux-footer-socials { order:2; justify-content:flex-start; margin-top:14px; }
}
@media(min-width:601px) {
 .ux-footer-brand-column .ux-footer-support { width:152px; }
 .ux-footer-brand-column .ux-footer-support .btn { width:100%!important; box-sizing:border-box; justify-content:center; }
}

/* Carry the About page's gradient panels and luminous accent into the homepage. */
.home-page .ux-ref-process-feature-dark,
.home-page .ux-ref-trust-band {
 position:relative;
 isolation:isolate;
 overflow:hidden;
 border:1px solid #76ad7933;
 border-radius:24px;
 background:radial-gradient(ellipse at top right,#39734c 0%,#123b27 65%);
 box-shadow:0 12px 36px #387b431a;
}
.home-page .ux-ref-process-feature-dark::before,
.home-page .ux-ref-trust-band::before {
 content:'';
 position:absolute;
 right:24px;
 top:24px;
 width:42px;
 height:3px;
 background:#b1dc91;
 border-radius:3px;
 box-shadow:0 0 18px #a9db98;
 pointer-events:none;
}
.home-page .ux-ref-process-feature-dark .ux-ref-process-label,
.home-page .ux-ref-trust-band-copy .eyebrow {
 display:block;
 padding-right:56px;
 color:#c4e0bc;
}
.home-page .ux-ref-process-feature:not(.ux-ref-process-feature-dark),
.home-page .ux-ref-home-testimonial-empty,
.home-page .home-testimonial-card {
 background:linear-gradient(135deg,#f4f8f1,#fff 70%);
}
@media(max-width:600px) {
 .home-page .ux-ref-trust-band { border-radius:0; }
}

@media(min-width:769px) {
 html:root body.home-page .ux-ref-home-editorial { margin-top:32px; margin-bottom:32px; }
 html:root body.home-page .ux-ref-process-showcase { padding-bottom:24px; }
 html:root body.home-page .ux-partners { margin-top:0!important; padding-top:24px!important; }
 .home-page .ux-partner-track { grid-auto-columns:calc((100% - 32px)/3); }
}

/* Professional navigation, offer panels and partner inquiries. */
html:root body.professional-account.home-page .hero-actions {
  justify-content: flex-start !important;
  gap: 8px !important;
}
html:root body.professional-account.home-page .hero-actions .hero-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.professional-account .profile-nav-link,
.professional-account .profile-nav-link:hover,
.professional-account .profile-nav-link:focus-visible {
  text-decoration: none !important;
  border-bottom-color: transparent !important;
}
.professional-account .profile-nav-link::after,
.dashboard-profile-button::before,
.dashboard-profile-button::after { display: none !important; }
.dashboard-metrics .dashboard-profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 24px;
  margin: 0;
  border: 1px solid #bed7b1;
  border-radius: 12px;
  background: #dcebd4;
  color: #17392b;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
}
.dashboard-metrics .dashboard-profile-button:hover { background: #c8dfbc; text-decoration: none !important; }
.my-jobs-empty { margin-inline: 18px; grid-column: 1 / -1; }
.ux-partner-card .ux-partner-card-cta.btn.secondary {
  align-self: flex-start;
  margin-top: auto;
  padding: 10px 14px;
  border: 1px solid var(--ux-line);
  border-radius: 10px;
  background: #f1f6f1;
  color: var(--ux-green);
  text-align: center;
}
.partner-inquiry-page { max-width: 760px; margin: auto; padding: 60px 24px 80px; }
.partner-inquiry-page > .eyebrow { display: block; margin-top: 24px; }
.partner-inquiry-page h1 { font-size: clamp(32px, 5vw, 52px); line-height: 1.08; }
.partner-inquiry-page > p { color: var(--ux-muted); line-height: 1.7; }
.partner-inquiry-form { display: grid; gap: 20px; padding: 28px; border: 1px solid var(--ux-line); border-radius: 20px; background: #fff; }
.partner-inquiry-form label { display: grid; gap: 8px; font-size: 14px; }
.partner-inquiry-form input, .partner-inquiry-form textarea { width: 100%; min-width: 0; font-size: 16px; }
.partner-inquiry-form .field-validation-error { color: #a43131; font-size: 13px; }
.partner-inquiry-privacy { margin: 0; color: var(--ux-muted); font-size: 12px; line-height: 1.6; }
.partner-inquiry-privacy a { text-decoration: underline; }
.inquiry-admin-page { max-width: 1280px; margin: auto; padding: 28px; }
.inquiry-admin-page > .page-head { padding: 0 0 24px; }
.inquiry-filters { display: flex; gap: 16px; align-items: flex-end; margin-bottom: 24px; }
.inquiry-filters label { display: grid; gap: 8px; flex: 1; }
.inquiry-list { display: grid; gap: 16px; }
.inquiry-list-card { display: flex; justify-content: space-between; gap: 24px; border: 1px solid var(--ux-line); border-radius: 18px; background: white; color: var(--ux-ink); padding: 24px; }
.inquiry-list-card > div { min-width: 0; }
.inquiry-list-card h2 { font-size: 22px; margin: 8px 0; }
.inquiry-list-card p { overflow-wrap: anywhere; }
.inquiry-list-card > div:last-child { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; flex-shrink: 0; }
.inquiry-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--ux-muted); }
.inquiry-pagination { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 24px; }
.inquiry-admin-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.inquiry-admin-actions .support-reply-form { min-width: 0; margin: 0; }
.inquiry-admin-page .support-message header { flex-wrap: wrap; overflow-wrap: anywhere; }
.inquiry-status-form { margin-top: 24px; }
@media (min-width: 769px) {
  .professional-offers-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
  .professional-offers-grid .ux-offer-row { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 18px; min-width: 0; padding: 24px; box-shadow: 0 8px 28px #17392b08; }
  .professional-offers-grid .ux-offer-summary,
  .professional-offers-grid .ux-no-media .ux-offer-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .professional-offers-grid .ux-offer-media { height: 180px; }
  .professional-offers-grid .ux-offer-main h3 { overflow-wrap: anywhere; }
  .professional-offers-grid .ux-offer-price { padding: 16px; background: var(--ux-soft); border-radius: 12px; }
  .professional-offers-grid .ux-offer-status { margin-top: auto; }
  .professional-offers-grid .ux-offer-status > span { max-width: none; text-align: left; }
  .professional-offers-grid .ux-offer-status .btn { font-size: 12px; min-height: 44px; }
  .professional-offers-grid > .empty-state { grid-column: 1 / -1; }
}
@media (min-width: 1280px) { .professional-offers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px) {
  .my-jobs-empty { margin-inline: 6px; }
  .inquiry-admin-actions { grid-template-columns: 1fr; }
  .inquiry-filters, .inquiry-list-card { flex-direction: column; align-items: stretch; }
  .inquiry-list-card > div:last-child { align-items: flex-start; }
  .inquiry-admin-page { padding: 20px 12px; }
  .dashboard-metrics .dashboard-profile-button { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 600px) {
  html:root body.home-page .ux-partners { grid-template-columns: 32px minmax(0, 1fr) 32px; column-gap: 4px; padding-left: 8px !important; padding-right: 8px !important; }
  .ux-partners > .ux-carousel-arrow { width: 32px; min-width: 32px; height: 44px; min-height: 44px; border-radius: 10px; }
  .partner-inquiry-page { padding: 36px 16px 56px; }
  .partner-inquiry-form { padding: 20px 16px; }
}
@media (min-width: 961px) {
  html:root body.professional-account .ux-home-brand { flex-basis: 44px; }
  html:root body.professional-account :is(.ux-home-header-inner, .header-inner) { gap: 18px; }
  html:root body.professional-account :is(.ux-home-nav, .desktop-nav) { gap: 14px; min-width: 0; }
  html:root body.professional-account :is(.ux-home-nav, .desktop-nav) a { font-size: 12px; letter-spacing: 0; white-space: nowrap; }
  html:root body.professional-account :is(.ux-home-account, .desktop-account) .user-chip { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (min-width: 769px) and (max-width: 1200px) {
  html:root body.professional-account :is(.ux-home-nav, .desktop-nav, .ux-home-account, .desktop-account) { display: none !important; }
  html:root body.professional-account :is(.ux-home-menu, .mobile-menu-button) { display: block !important; margin-left: auto; }
}
@media (max-width: 768px) {
  html:root body.home-page .home-hero .hero-actions .ux-hero-description-button {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ux-carousel-progress span { transition: none; }
}

.ux-partner-card { display: flex; flex-direction: column; }
.ux-partner-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ux-partner-card-heading h3 { min-width: 0; overflow-wrap: anywhere; }
.ux-partner-card .ux-partner-profile-button { flex: 0 0 auto; padding: 8px 10px; border: 1px solid var(--ux-line); border-radius: 9px; background: #f1f6f1; color: var(--ux-green); font-size: 10px; line-height: 1.3; text-decoration: none; letter-spacing: 0; }
.ux-partner-card .ux-partner-quote-button { margin-top: auto; width: 100%; min-height: 44px; padding: 12px 16px; border-radius: 10px; background: var(--ux-green); color: white; font-size: 12px; text-align: center; text-decoration: none; }
.ux-partner-card .ux-partner-quote-button:hover { background: #234c35; }
/* Keep company names on one line; stack both actions at full card width. */
.ux-partner-card .ux-partner-card-heading { gap: 8px; }
.ux-partner-card .ux-partner-card-heading h3 {
  flex: 1;
  font-size: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
}
html:root body.home-page .ux-partner-card .ux-partner-profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  height: auto;
  padding: 11px 14px;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
  border-radius: 7px;
}
/* Registration must retain white text inside every collapsed navigation menu. */
html:root body :is(.ux-home-mobile-nav, .mobile-nav) .mobile-account > a.nav-cta,
html:root body :is(.ux-home-mobile-nav, .mobile-nav) .mobile-account > a.nav-cta:is(:hover, :focus-visible, :active) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Partner profile: open layout, compact actions and a focused image viewer. */
body.partner-profile-page .ux-partner-profile { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: clamp(18px, 3vw, 36px); }
body.partner-profile-page .ux-partner-profile-head { gap: 22px; margin-bottom: 32px; }
body.partner-profile-page .ux-partner-profile-head h1 { line-height: 1.12; margin: 14px 0 10px; }
body.partner-profile-page .ux-partner-profile-head p { font-size: 15px; line-height: 1.6; }
html:root body.partner-profile-page .ux-partner-profile-quote { min-height: 40px; height: auto; padding: 10px 20px; font-size: 12px; line-height: 1.4; border-radius: 12px; }
body.partner-profile-page .ux-partner-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.partner-profile-page .ux-partner-section-heading h2 { font-size: 18px; margin: 0; letter-spacing: -.3px; }
body.partner-profile-page .ux-partner-section-heading > span { color: var(--ux-muted); font-size: 12px; }
body.partner-profile-page .ux-partner-gallery { gap: 14px; margin: 16px 0 36px; padding-bottom: 8px; }
.ux-partner-gallery-item { position: relative; display: block; flex: 0 0 clamp(180px, 23vw, 260px); border-radius: 16px; overflow: hidden; scroll-snap-align: start; background: var(--ux-soft); }
.ux-partner-gallery-item img { display: block; width: 100%; height: 220px; object-fit: cover; transition: transform .2s ease; }
.ux-partner-gallery-item > span { position: absolute; right: 10px; bottom: 10px; background: #102a20cc; color: #fff; padding: 6px 10px; border-radius: 8px; font-size: 11px; }
.ux-partner-gallery-item:hover img { transform: scale(1.025); }
.ux-partner-gallery-item:focus-visible, .ux-partner-more-services summary:focus-visible { outline: 3px solid var(--ux-green); outline-offset: 3px; }
body.partner-profile-page .ux-partner-profile-grid { gap: 40px; align-items: start; }
.ux-partner-profile-content { min-width: 0; }
.ux-partner-profile-section + .ux-partner-profile-section { margin-top: 30px; }
body.partner-profile-page .ux-partner-profile-grid h2 { margin: 0 0 14px; font-size: 22px; line-height: 1.25; }
body.partner-profile-page .ux-partner-profile-grid p { margin-top: 0; font-size: 15px; line-height: 1.75; }
body.partner-profile-page .ux-partner-services { gap: 8px; align-items: flex-start; }
body.partner-profile-page .ux-partner-services .badge { display: inline-flex; align-items: center; padding: 9px 13px; border: 0; background: #edf1eb; color: #183a2b; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; white-space: normal; }
.ux-partner-more-services { display: contents; }
.ux-partner-more-services summary { cursor: pointer; list-style: none; }
.ux-partner-more-services summary::-webkit-details-marker { display: none; }
.ux-partner-less-label, .ux-partner-more-services[open] .ux-partner-more-label { display: none; }
.ux-partner-more-services[open] .ux-partner-less-label { display: inline; }
.ux-partner-extra-services { display: flex; flex-wrap: wrap; gap: 8px; flex-basis: 100%; padding-top: 4px; }
body.partner-profile-page .ux-partner-profile-grid .ux-partner-profile-info { border: 0; border-radius: 18px; padding: 24px; background: #f4f7f2; }
.ux-partner-facts { margin: 0; display: grid; gap: 20px; }
.ux-partner-facts dt { font-size: 11px; font-weight: 650; color: var(--ux-muted); margin-bottom: 5px; }
.ux-partner-facts dd { margin: 0; color: #183a2b; font-size: 14px; font-weight: 550; line-height: 1.6; overflow-wrap: anywhere; }
body.partner-profile-page .ux-partner-proof { margin: 18px 0 0; }
.ux-partner-review-link { display: inline-flex; gap: 8px; color: var(--ux-green); font-size: 12px; font-weight: 650; line-height: 1.5; margin-top: 24px; text-underline-offset: 4px; }
html:root body .ux-partner-lightbox { position: fixed; inset: 0; margin: auto; width: min(1200px, 96vw); max-width: 96vw; height: min(900px, 94dvh); max-height: 94dvh; padding: 0; border: 0; border-radius: 18px; background: #101915; color: #fff; box-shadow: 0 24px 90px #0008; overflow: hidden; }
.ux-partner-lightbox::backdrop { background: #050c09df; backdrop-filter: blur(6px); }
.ux-partner-lightbox[open] { display: flex; flex-direction: column; }
.ux-partner-lightbox-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; gap: 16px; flex-shrink: 0; font-size: 13px; color: #d8e4dc; }
html:root body .ux-partner-lightbox button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 1px solid #ffffff26; border-radius: 50%; background: #ffffff12; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
html:root body .ux-partner-lightbox button:hover { background: #ffffff26; }
html:root body .ux-partner-lightbox button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
html:root body .ux-partner-lightbox button[hidden] { display: none; }
.ux-partner-lightbox-stage { position: relative; display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 0; flex: 1; padding: 0 18px; }
.ux-partner-lightbox-stage img { display: block; width: calc(100% - 120px); height: 100%; min-width: 0; object-fit: contain; border-radius: 8px; }
.ux-partner-lightbox-caption { flex-shrink: 0; margin: 0; padding: 14px 20px 20px; text-align: center; color: #d8e4dc; font-size: 12px; line-height: 1.5; }
@media (max-width: 768px) {
  body.partner-profile-page .ux-partner-profile-head { gap: 16px; margin-bottom: 28px; }
  body.partner-profile-page .ux-partner-logo { width: 76px; height: 76px; padding: 8px; border-radius: 16px; }
  body.partner-profile-page .ux-partner-profile-head h1 { font-size: clamp(24px, 5vw, 36px); letter-spacing: -.7px; }
  body.partner-profile-page .ux-partner-badge { font-size: 10px; }
  body.partner-profile-page .ux-partner-profile-head p { font-size: 13px; }
  html:root body.partner-profile-page .ux-partner-profile-quote { width: 100%; min-height: 40px; padding: 10px 16px; }
  body.partner-profile-page .ux-partner-profile-grid { gap: 28px; }
  body.partner-profile-page .ux-partner-profile-grid .ux-partner-profile-info { padding: 20px; }
  .ux-partner-gallery-item { flex-basis: 70%; max-width: 260px; }
  .ux-partner-gallery-item img { height: 220px; }
  .ux-partner-lightbox-stage { padding: 0 10px; }
  .ux-partner-lightbox-stage img { width: 100%; }
  .ux-partner-lightbox-stage button { position: absolute; z-index: 1; top: 50%; transform: translateY(-50%); }
  .ux-partner-lightbox-stage [data-partner-image-prev] { left: 14px; }
  .ux-partner-lightbox-stage [data-partner-image-next] { right: 14px; }
}
@media (prefers-reduced-motion: reduce) { .ux-partner-gallery-item img { transition: none; } }

/* Layered, looping partner gallery. The original links remain a no-script fallback. */
.ux-partner-coverflow-stage { display: none; }
.ux-partner-coverflow { position: relative; margin: 16px 0 36px; }
.ux-partner-coverflow.is-enhanced { --gallery-size: clamp(230px, 29vw, 350px); --gallery-step: clamp(90px, 15vw, 180px); }
.ux-partner-coverflow.is-enhanced .ux-partner-coverflow-stage { position: relative; display: block; height: calc(var(--gallery-size) + 88px); overflow: hidden; isolation: isolate; touch-action: pan-y; }
body.partner-profile-page .ux-partner-coverflow [data-partner-gallery-source][hidden] { display: none; }
.ux-partner-coverflow-card { --offset: 0; --size-scale: 1; --blur: 0px; --rotation: 0deg; --opacity: 1; position: absolute; top: 50%; left: 50%; width: var(--gallery-size); height: var(--gallery-size); max-width: none; aspect-ratio: 1; margin: 0; border-radius: 22px; background: #e6ece4; opacity: var(--opacity); transform: translate(calc(-50% + var(--offset) * var(--gallery-step)), -50%) scale(var(--size-scale)) rotate(var(--rotation)); filter: blur(var(--blur)); box-shadow: 0 10px 18px #173c251a; transition: transform 420ms cubic-bezier(.22,1,.36,1), filter 420ms ease, opacity 420ms ease; will-change: transform; -webkit-user-select: none; user-select: none; }
.ux-partner-coverflow-card img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; -webkit-user-drag: none; }
.ux-partner-coverflow-card[data-position="0"] { z-index: 5; cursor: zoom-in; }
.ux-partner-coverflow-card[data-position="-1"] { --offset: -1; --size-scale: .86; --blur: 2px; --rotation: -7deg; --opacity: 1; z-index: 3; }
.ux-partner-coverflow-card[data-position="1"] { --offset: 1; --size-scale: .86; --blur: 2px; --rotation: 7deg; --opacity: 1; z-index: 3; }
.ux-partner-coverflow-card[data-position="-2"] { --offset: -2; --size-scale: .72; --blur: 4px; --rotation: -12deg; --opacity: 1; z-index: 2; }
.ux-partner-coverflow-card[data-position="2"] { --offset: 2; --size-scale: .72; --blur: 4px; --rotation: 12deg; --opacity: 1; z-index: 2; }
.ux-partner-coverflow-card[data-position="-3"] { --offset: -3; --size-scale: .6; --opacity: 0; pointer-events: none; z-index: 0; }
.ux-partner-coverflow-card[data-position="3"] { --offset: 3; --size-scale: .6; --opacity: 0; pointer-events: none; z-index: 0; }
.ux-partner-coverflow-card.is-recycled { transition: none; }
.ux-partner-coverflow-card:not([data-position="0"]) .ux-partner-zoom-icon { opacity: 0; }
.ux-partner-gallery-item > .ux-partner-zoom-icon { display: flex; align-items: center; justify-content: center; right: 14px; bottom: 14px; width: 38px; height: 38px; padding: 0; border: 1px solid #ffffff75; border-radius: 12px; background: #ffffff70; color: #173c2b; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 4px 14px #0002; }
.ux-partner-zoom-icon svg { width: 22px; height: 22px; filter: drop-shadow(0 1px 2px #ffffff80); }
.ux-partner-coverflow-card:hover img { transform: none; }
html:root body.partner-profile-page .ux-partner-gallery-arrow { position: absolute; z-index: 6; top: calc(var(--gallery-size) / 2 + 44px); transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; min-height: 42px; padding: 0; border: 1px solid #dce5d9; border-radius: 50%; background: #ffffffb3; color: var(--ux-green); backdrop-filter: blur(12px); font-size: 28px; line-height: 1; cursor: pointer; }
.ux-partner-gallery-prev { left: 0; }
.ux-partner-gallery-next { right: 0; }
html:root body.partner-profile-page .ux-partner-gallery-arrow[hidden] { display: none; }
.ux-partner-gallery-position { margin: 4px 0 0; color: var(--ux-muted); font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
.ux-partner-coverflow.is-single .ux-partner-coverflow-card:not([data-position="0"]) { opacity: 0; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  .ux-partner-coverflow-card[data-position="0"]:hover { transform: translate(-50%, -50%) scale(1.035); }
}
@media (max-width: 768px) {
  .ux-partner-coverflow.is-enhanced { --gallery-size: min(62vw, 280px); --gallery-step: 24vw; }
  .ux-partner-coverflow-card { border-radius: 20px; }
  .ux-partner-coverflow-card[data-position="-2"], .ux-partner-coverflow-card[data-position="2"] { --opacity: 0; pointer-events: none; }
  html:root body.partner-profile-page .ux-partner-gallery-arrow { display: none; }
  .ux-partner-gallery-item > .ux-partner-zoom-icon { width: 34px; height: 34px; right: 12px; bottom: 12px; border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) { .ux-partner-coverflow-card { transition: none; } }

/* Keep the blurred cards opaque; darken their image surface instead. */
.ux-partner-coverflow-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: #071a10; opacity: 0; pointer-events: none; transition: opacity 420ms ease; }
.ux-partner-coverflow-card[data-position="-1"]::after, .ux-partner-coverflow-card[data-position="1"]::after { opacity: .3; }
.ux-partner-coverflow-card[data-position="-2"]::after, .ux-partner-coverflow-card[data-position="2"]::after { opacity: .42; }
.ux-partner-coverflow-card .ux-partner-zoom-icon { z-index: 1; }
@media (prefers-reduced-motion: reduce) { .ux-partner-coverflow-card::after { transition: none; } }

html:root body.partner-profile-page .ux-partner-review-link.btn.secondary { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; padding: 11px 16px; border: 1px solid #426a54 !important; border-radius: 12px; background: transparent !important; color: #31513f !important; -webkit-text-fill-color: #31513f !important; text-decoration: none; font-size: 12px; line-height: 1.4; text-align: center; }
html:root body.partner-profile-page .ux-partner-review-link.btn.secondary:hover { background: rgba(49,81,63,.06) !important; border-color: #31513f !important; }
.partner-inquiry-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.partner-inquiry-back { flex-shrink: 0; min-height: 40px; padding: 10px 16px; border-radius: 12px; letter-spacing: 0; }
.partner-inquiry-kicker { display: block; margin: 0; font-size: 15px; font-weight: 650; letter-spacing: 0; color: #747e78; }
.partner-inquiry-page h1 { margin: 12px 0 18px; }
.partner-inquiry-upload { min-width: 0; }
.partner-inquiry-form .partner-upload-zone { position: relative; display: grid; grid-template-columns: 40px minmax(0,1fr); align-items: center; gap: 14px; padding: 22px; border: 1px dashed #a8c3b0; border-radius: 16px; background: #f6f9f6; cursor: pointer; }
.partner-upload-zone:focus-within { outline: 2px solid var(--ux-green); outline-offset: 3px; }
.partner-upload-icon { display: grid; place-items: center; width: 40px; height: 40px; color: var(--ux-green); }
.partner-upload-icon svg { width: 28px; height: 28px; }
.partner-upload-copy { display: grid; gap: 7px; min-width: 0; }
.partner-upload-copy strong { font-size: 14px; line-height: 1.5; }
.partner-upload-help { font-size: 13px; font-weight: 400; line-height: 1.6; color: var(--ux-muted); }
.partner-inquiry-upload input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.partner-upload-browse { grid-column: 1/-1; justify-self: start; padding: 11px 16px; border: 1px solid var(--ux-line); border-radius: 10px; background: #fff; color: var(--ux-green); font-size: 13px; font-weight: 650; }
.partner-upload-selection { margin: 12px 0 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; color: var(--ux-green); }
@media(max-width:400px) { .partner-inquiry-topline { gap: 10px; } .partner-inquiry-back { padding: 10px 12px; font-size: 11px; } .partner-inquiry-kicker { font-size: 15px; } .partner-inquiry-form .partner-upload-zone { padding: 16px; gap: 10px; } }
