.hub-page .ns-hero { background: radial-gradient(ellipse at 85% 18%,#ffecd9,transparent 65%),#fffdfa; }
.hub-page .ns-hero h1 { font-size: clamp(42px,4.8vw,64px); line-height: 1.08; max-width: 12ch; }
.hub-page .ns-hero-copy > p { max-width: 54ch; }
.hub-page .ns-hero .ns-actions { align-items: flex-start; }
.hub-page .ns-search-scene { transform: scale(.96); }
.hub-page .ns-selector { background: #faf9f6; }
.hub-page .ns-goal-panels { min-height: 190px; }
.hub-page .ns-goal-tabs button { font-weight: 600; }
.hub-page .hub-seo { align-items: center; background: #fff5eb; }
.hub-page .hub-search-visual { border-radius: 18px; background: #fff; box-shadow: 0 20px 55px #09143810; border: 1px solid #e8e4dc; padding: 26px; }
.hub-browser-top { display: flex; gap: 6px; align-items: center; margin-bottom: 24px; }
.hub-browser-top > span { width: 6px; height: 6px; border-radius: 100%; background: #d9dcd9; }
.hub-browser-top small { margin-left: auto; color: #667084; font-size: 10px; }
.hub-search-query { border: 1px solid #dedfdc; border-radius: 20px; padding: 12px 16px; font-size: 12px; display: flex; justify-content: space-between; gap: 10px; }
.hub-result { padding: 26px 8px; }
.hub-result > span { color: #a15532; font-size: 10px; letter-spacing: .12em; }
.hub-page .hub-result h3 { font-size: 28px; line-height: 1.2; margin: 12px 0; }
.hub-page .hub-result p { font-size: 13px; }
.hub-result-tags { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 20px; }
.hub-result-tags span { padding: 6px 9px; background: #f3f6f3; border-radius: 5px; font-size: 10px; }
.hub-inquiry-note { background: #091438; color: #fff; border-radius: 12px; padding: 16px; display: flex; gap: 13px; align-items: center; transition: transform .25s ease; }
.hub-search-visual:hover .hub-inquiry-note { transform: translateY(-4px); }
.hub-inquiry-note > span { color: #ffb68b; font-size: 24px; }
.hub-inquiry-note strong { display: block; font-size: 13px; }
.hub-inquiry-note small { display: block; color: #d5daea; font-size: 11px; margin-top: 5px; }
.hub-directory > header { max-width: 720px; margin-bottom: 36px; }
.hub-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.hub-service-grid article { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 28px; border: 1px solid #e2e0da; background: #fffdf9; border-radius: 16px; scroll-margin-top: 140px; }
.hub-service-grid svg { width: 32px; height: 32px; color: #ad5a34; margin-bottom: 22px; }
.hub-page .hub-service-grid h3 { font-size: 23px; margin: 0 0 14px; line-height: 1.2; }
.hub-page .hub-service-grid p { font-size: 14px; margin: 0 0 18px; }
.hub-service-grid ul { font-size: 12px; padding-left: 18px; margin: 0 0 25px; color: #536079; }
.hub-service-grid li { margin-bottom: 9px; }
.hub-page .hub-service-grid .ns-button { margin-top: auto; font-size: 11px; padding: 11px 15px; }
.hub-page .hub-process { background: #f5f7f3; }
.hub-process > p { max-width: 70ch; }
.hub-process ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; list-style: none; padding: 0; margin: 35px 0; }
.hub-process li { border-top: 2px solid #e99e74; padding-top: 18px; }
.hub-page .hub-process h3 { font-size: 21px; line-height: 1.25; }
.hub-page .hub-process li p { font-size: 14px; }
.hub-page .hub-scope-note { font-size: 12px; max-width: 90ch; }
.hub-brief { border: 1px solid #e6e0d8; border-radius: 16px; padding: 36px; background: #faf5ed; }
.hub-page .hub-brief h3 { font-size: 30px; line-height: 1.2; max-width: 18ch; margin: 20px 0; }
.hub-brief ul { padding-left: 18px; }
.hub-brief li { padding-block: 10px; border-bottom: 1px solid #e6e0d8; font-size: 14px; }
.hub-page .hub-brief p { font-size: 13px; }
.hub-page .rv-inquiry { background: #fff; }
.hub-page .rv-consult { background: radial-gradient(ellipse at 80% 0%,#31314b,#091438 70%); }
.hub-page .rv-consult h2,.hub-page .rv-consult a { color: #fff !important; }
.hub-page .rv-consult .ns-eye { color: #ffb185; }
.hub-page .rv-consult p { color: #d9ddec; }
.hub-page .rv-voices { scroll-margin-top: 120px; }
.hub-page #seo,.hub-page #service-directory { scroll-margin-top: 110px; }
@media(max-width:1000px) { .hub-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
 .hub-page .ns-hero h1 { max-width: 16ch; }
 .hub-page .ns-search-scene { transform: none; }
 .hub-service-grid,.hub-process ol { grid-template-columns: 1fr; }
 .hub-page .ns-goal-panels { min-height: 280px; }
 .hub-service-grid article { padding: 24px; }
 .hub-page .hub-search-visual,.hub-brief { padding: 24px; }
}
@media(prefers-reduced-motion:reduce) { .hub-inquiry-note { transition: none; } .hub-search-visual:hover .hub-inquiry-note { transform: none; } }

/* Separate the centered invitation from the booking calendar. */
.hub-page .hub-focus { text-align:center; background:radial-gradient(ellipse at 80% 0%,#31314b,#091438 70%); color:#fff; }
.hub-page .hub-focus>div { max-width:850px; margin-inline:auto; }
.hub-page .hub-focus h2 { color:#fff; margin-inline:auto; }
.hub-page .hub-focus p { color:#d9ddec; max-width:65ch; margin:22px auto 30px; }
.hub-page .hub-focus .ns-eye { color:#ffb185; }
.hub-page .hub-focus .ns-actions { justify-content:center; }
.hub-page .hub-focus .ns-outline { color:#fff!important; border-color:#64708c; }
.hub-page .rv-consult.hub-booking { background:#faf7f2; }
.hub-page .rv-consult.hub-booking h2,.hub-page .rv-consult.hub-booking a { color:#091438!important; }
.hub-page .rv-consult.hub-booking p { color:#536079; }
.hub-page .rv-consult.hub-booking .ns-eye { color:#a15532; }
