/* Bright Betapro palette and readable layouts, from phone to desktop. */
:root{--blue:#1769d2;--yellow:#ffd925;--navy:#102b53;--navy2:#173c6d;--ink:#102b53;--muted:#4d6381;--paper:#f0f7ff;--line:#d2dfef}
body{background:#fff}
.hero{background:#f0f7ff;background-image:radial-gradient(ellipse at 88% 12%,#deecff,transparent 65%);color:var(--ink)}
.hero-heading h1{font-size:clamp(38px,4.1vw,58px);line-height:1.13}
.hero-heading h1 span{color:var(--blue)}
.hero-heading .eyebrow{color:#3f5e86;font-size:11px;letter-spacing:.12em}
.hero-heading .tiny-line{background:var(--yellow)}
.hero .hero-grid{grid-template-columns:minmax(270px,.72fr) minmax(0,1.4fr);gap:36px}
.hero-copy>p{color:#405a7e;font-size:17px;line-height:1.8}
.hero-copy .hero-actions .button{font-size:15px;min-height:48px}
.hero-actions .ghost{color:var(--blue);border-color:#b1c8e9;display:inline-flex;background:#ffffff75}
.hero-contacts{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:16px;color:#225697;font-size:14px;font-weight:600}
.hero-contacts a{min-height:44px;display:inline-flex;align-items:center;gap:8px;text-decoration:underline;text-underline-offset:4px}
.hero-copy .hero-pills{margin-top:18px;gap:8px}
.hero-copy .hero-pills span{background:white;color:#3e5c83;border:1px solid #c9d9ee;font-size:12px;padding:5px 10px}
.hero-copy .hero-secondary{margin-top:18px;gap:8px 18px;flex-wrap:wrap}
.hero-copy .hero-secondary button{color:#315d97;font-size:13px;min-height:44px}
.hero-copy .hero-foot{font-size:12px;line-height:1.7;color:#4d6585;gap:8px;flex-wrap:wrap;margin-top:16px}
.hero-foot .location-icon{color:var(--blue)}
.hero-foot .separator{color:#6c83a1}
.service-map{background:#e6f0ff;border:1px solid #c4d7f1;box-shadow:0 16px 40px #244c8410;padding:20px}
.service-map::before{background-image:linear-gradient(#5788c508 1px,transparent 1px),linear-gradient(90deg,#5788c508 1px,transparent 1px)}
.map-heading{color:#49658a;font-size:10px;letter-spacing:.07em;line-height:1.6}
.map-heading strong{color:#214b85;font-size:10px}
.map-service{background:white;color:#193b68;border:1px solid #cadbf0;border-radius:10px;box-shadow:0 3px 10px #17477407;font-size:12px;line-height:1.4;min-height:83px;padding:10px 5px;gap:8px}
.map-service .map-label{overflow-wrap:normal;word-break:normal;hyphens:auto}
.map-service .service-icon{background:#edf5ff;border:0;color:#1769d2;width:30px;height:30px;border-radius:8px}
.map-service .service-icon svg{width:22px;height:22px}
.map-service:hover,.map-service:focus-visible{background:#f9fcff;border-color:#1769d2;color:#102b53;box-shadow:0 5px 14px #1769d21a}
.map-service:hover .service-icon{color:#1769d2;background:#ffed91}
.map-core{gap:9px;padding:14px 2px}
.map-core::before{border-color:#7fa3d339}
.map-core::after{background:linear-gradient(90deg,#7ca2d8,transparent 30%,transparent 70%,#7ca2d8)}
.map-core img{width:100px;height:91px;border-color:#c4d7ef;border-radius:14px;padding:6px;box-shadow:0 7px 20px #1e52931a}
.map-core strong{color:#193b68;font-size:13px}
.map-core>span{color:#46658d;font-size:12px;line-height:1.7}
.map-note{color:#45668f;font-size:10px;letter-spacing:.02em;line-height:1.7}
.map-note span:last-child{color:#1c559e;font-weight:600}
.capability-strip{border-color:#d0def0;color:#4e6788;font-size:13px}
.capability-strip>span{color:#264971}
.capability-strip>div span::before{color:var(--blue)}
.compact-assistant-slot,.nav-contacts{display:none}
.header-search{width:44px;height:44px}
.profile-experience{padding-top:52px;padding-bottom:24px}
.experience-intro{max-width:760px}
.experience-intro .eyebrow{font-size:11px;letter-spacing:.09em;margin-bottom:14px}
.experience-intro h2{font-size:32px;line-height:1.2;margin-bottom:14px}
.experience-description{font-size:16px;line-height:1.8;color:#4d6381;margin-bottom:24px}
.profile-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.profile-experience-card{padding:25px;border:1px solid #d6e2f1;border-radius:12px;background:#fff;box-shadow:0 5px 20px #264d8106}
.experience-sector{color:#32619d;font-size:12px;margin-bottom:16px}
.profile-experience-card h3{font-size:20px;line-height:1.35;margin-bottom:12px}
.profile-experience-card strong{font-size:13px;font-weight:600;color:#2f5b94}
.profile-experience-card p{color:#4d6381;font-size:14px;line-height:1.8;margin:12px 0 0}
.experience-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}
.experience-foot p{font-size:12px;color:#5c6e86;line-height:1.7;margin:0}
.experience-foot button{color:#225697;font-size:13px;min-height:44px;flex-shrink:0}
.contact-panel{background:#e5f0ff;background-image:none;color:#102b53;border:1px solid #ccddf2}
.contact-panel .eyebrow{color:#45658e;font-size:11px}
.contact-panel p,.contact-details p{color:#496487}
.contact-details{border-color:#c2d6f0}
.contact-details a{color:#1b508e;min-height:44px;overflow-wrap:anywhere}
.contact-label{color:#4d6584}
.assistant-launcher{background:#102b53;color:white;min-height:48px}
.assistant-notice{color:#476080;font-size:12px;line-height:1.6}
.assistant-head small{color:#c5d9f7;font-size:11px}
.assistant-head,.assistant-notice,.chat-form,.chat-footer{flex-shrink:0}
.chat-messages{min-height:0}
.chat-source{color:#4c678d;font-size:11px}
.chat-form textarea{font-size:16px}
.chat-suggestions button{font-size:12px;min-height:40px}
.assistant-head .icon-button{min-width:40px;min-height:40px}
.local-ai-button{font-size:12px}
.modal .close-dialog{min-width:44px;min-height:44px}
.search-hit small,.person-card p,.experience-card p,.resource-card p,.company-grid p{color:#4d6381}
.search-hit strong{font-size:15px}.search-hit small{font-size:13px}
.search-prompt,.quick-answer p{color:#4d6381;font-size:15px}
.search-chips button{font-size:13px;min-height:44px}
.quick-search-help,.search-section-title,.pdf-note{font-size:12px;color:#4e6483}
.capability-category{color:#4b6589;font-size:13px}
.services-section{padding-top:50px}
.service-card p,.specialty-count,.detail-note{color:#4d6381}

@media(max-width:1200px){
  .hero .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-copy>p{max-width:780px}
  .hero-copy .hero-actions{flex-direction:row;flex-wrap:wrap}
  .hero-copy .hero-actions .button{min-width:190px}
  .service-map{max-width:none;width:100%}
}
@media(max-width:1100px){
  :root{scroll-padding-top:90px}
  .wrap{width:calc(100% - 48px)}
  .nav-row{min-height:78px;gap:12px}
  .brand{gap:10px}
  .brand-logo{width:52px;height:45px}
  .brand-text{font-size:19px}
  .brand-text small{font-size:8px}
  .header-search{order:1;margin-left:auto;width:44px;height:44px;flex-shrink:0}
  .compact-assistant-slot{order:2;display:block;flex:0 0 44px;width:44px;height:44px}
  .compact-assistant-slot .assistant-launcher{position:static;width:44px;height:44px;min-height:44px;padding:0;display:flex;justify-content:center;border:1px solid #1769d2;border-radius:50%;box-shadow:none;background:#1769d2}
  .compact-assistant-slot .assistant-launcher>span:first-child{font-size:31px;color:#ffdf45}
  .compact-assistant-slot .assistant-launcher>span:nth-child(2),.compact-assistant-slot .assistant-launcher i{display:none}
  .mobile-menu{display:grid;order:3;flex:0 0 44px;width:44px;height:44px;border:1px solid #d4e1f1;border-radius:9px;background:white}
  .nav-row nav{order:4;position:absolute;top:100%;left:0;right:0;display:none;margin:0;padding:16px 24px 22px;background:#fff;border-bottom:1px solid #d2dfef;box-shadow:0 14px 26px #15345914;align-items:stretch;flex-direction:column;gap:2px;max-height:calc(100dvh - 85px);overflow-y:auto;overscroll-behavior:contain}
  .nav-row nav.open{display:flex}
  .nav-row nav>a,.nav-row nav>button:not(.button),.nav-row nav>button[data-company],.nav-row nav>button[data-resources]{display:block;text-align:left;font-size:16px;min-height:48px;padding:12px 4px}
  .nav-row nav>.button{display:flex;font-size:15px;min-height:48px;justify-content:space-between;padding:12px 16px;margin-top:8px}
  .nav-contacts{display:flex;gap:22px;font-size:14px;color:#225697;padding-top:10px;flex-wrap:wrap}
  .nav-contacts a{display:flex;align-items:center;min-height:44px}
  .hero-heading{padding-top:34px}
  .hero-heading h1{font-size:clamp(38px,5.7vw,54px)}
  .hero .hero-grid{padding-top:24px;padding-bottom:28px}
  .hero-copy>p{font-size:17px;max-width:760px}
  .service-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px;border-radius:16px}
  .map-heading{grid-column:1/-1;font-size:11px;letter-spacing:.06em;margin:0;gap:12px}
  .map-heading strong{font-size:11px}
  .map-core{grid-column:1/-1;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;gap:3px 16px;text-align:left;justify-content:start;padding:10px 0 18px;margin-bottom:3px;border-bottom:1px solid #cadcf2}
  .map-logo-button{grid-row:1/3;grid-column:1}
  .map-core img{width:72px;height:65px;padding:4px;border-radius:10px}
  .map-core strong{grid-column:2;text-align:left;align-self:end;font-size:17px}
  .map-core>span{grid-column:2;max-width:none;text-align:left;font-size:14px;line-height:1.6}
  .map-core::before,.map-core::after{display:none}
  .map-row,.map-middle,.map-flank{display:contents}
  .map-row.bottom .map-service:last-child{grid-column:auto}
  .map-service,.map-flank .map-service{min-height:88px;font-size:15px;padding:14px 12px;gap:12px;flex-direction:row;text-align:left;justify-content:flex-start}
  .map-service .service-icon{width:36px;height:36px;flex-shrink:0}
  .map-service .service-icon svg{width:25px;height:25px}
  .map-service .map-label{flex:1;overflow-wrap:normal}
  .map-note{grid-column:1/-1;font-size:11px;margin:5px 0 0}
  .capability-strip{font-size:13px;gap:14px;flex-wrap:wrap}
  .capability-strip>div{font-size:12px;gap:15px;flex-wrap:wrap}
  .assistant-panel{right:16px;bottom:16px;width:min(440px,calc(100% - 32px));height:min(720px,calc(100dvh - 105px))}
  .profile-experience-grid{grid-template-columns:1fr;gap:14px}
  .profile-experience-card{padding:22px}
  .experience-foot{align-items:flex-start;flex-wrap:wrap;gap:4px}
  .catalogue-search input,.quick-search-field input{font-size:16px}
  .catalogue-actions .button,.filter{font-size:13px;min-height:44px}
  .service-guide-callout strong{font-size:16px}
  .service-guide-callout p{font-size:14px}
  .service-guide-callout .button{font-size:13px;min-height:44px}
  .hub-tabs button{font-size:13px;min-height:44px}
  .stepper{font-size:13px}
  .modal .button{font-size:14px;min-height:44px}
  .contact-details a{font-size:16px}
}
@media(max-width:700px){
  .wrap{width:calc(100% - 32px)}
  .nav-row{min-height:72px;gap:8px}
  .brand{gap:7px}
  .brand-logo{width:43px;height:38px}
  .brand-text{font-size:16px}
  .brand-text small{font-size:6px;letter-spacing:.2em}
  .preview-bar .wrap>span:first-child{font-size:9px}
  .preview-bar .text-button{font-size:11px;min-height:30px}
  .header-search{margin-left:auto}
  .hero-heading{padding-top:28px}
  .hero-heading h1{font-size:clamp(34px,8.4vw,46px);letter-spacing:-.045em;line-height:1.15}
  .hero-heading .eyebrow{font-size:10px;margin-bottom:18px}
  .hero .hero-grid{padding-top:22px;gap:26px}
  .hero-copy>p{font-size:16px;line-height:1.8;margin-bottom:22px}
  .hero-copy .hero-actions{gap:10px;flex-direction:row;align-items:stretch}
  .hero-copy .hero-actions .button{font-size:14px;padding:13px 16px;gap:16px;min-width:0;flex:1 1 auto;justify-content:space-between;min-height:48px}
  .hero-contacts{font-size:13px;gap:2px 18px;margin-top:10px}
  .hero-copy .hero-pills span{font-size:12px;padding:5px 9px}
  .hero-copy .hero-secondary button{font-size:13px;text-align:left;line-height:1.6}
  .hero-copy .hero-foot{font-size:12px;gap:7px;margin-top:12px}
  .hero-copy .hero-foot .separator{display:none}
  .hero-copy .hero-foot>span:last-child{flex-basis:100%;padding-left:23px}
  .service-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 12px}
  .map-heading{flex-direction:column;align-items:flex-start;font-size:10px;gap:3px;line-height:1.6}
  .map-heading strong{font-size:11px}
  .map-core{grid-template-columns:60px 1fr;gap:4px 12px;padding:5px 0 15px}
  .map-core img{width:60px;height:55px;border-radius:8px}
  .map-core strong{font-size:15px;line-height:1.4}
  .map-core>span{font-size:13px;line-height:1.6}
  .map-service,.map-flank .map-service{flex-direction:column;text-align:center;justify-content:center;font-size:14px;line-height:1.5;min-height:98px;padding:12px 8px;gap:8px}
  .map-service .map-label{flex:0 1 auto}
  .map-service .service-icon{width:36px;height:36px}
  .map-service:last-child{grid-column:auto}
  .map-note{font-size:10px;letter-spacing:0;gap:8px;align-items:flex-start;flex-wrap:wrap}
  .capability-strip{padding:20px 0;gap:12px;font-size:13px}
  .capability-strip>div{font-size:12px;gap:10px 15px;justify-content:flex-start}
  .profile-experience{padding-top:36px;padding-bottom:8px}
  .experience-intro h2{font-size:28px;line-height:1.25}
  .experience-intro .eyebrow{font-size:10px;line-height:1.7}
  .experience-description{font-size:15px}
  .profile-experience-card{padding:20px}
  .profile-experience-card h3{font-size:20px}
  .profile-experience-card p{font-size:14px}
  .experience-foot p{font-size:12px}
  .services-section{padding-top:36px;padding-bottom:36px}
  .section-heading h2,.approach-intro h2{font-size:32px}
  .section-heading>p{font-size:15px;line-height:1.8}
  .filters{gap:6px;flex-wrap:wrap}
  .filter{font-size:12px;padding:9px 11px}
  .service-card{min-height:0}
  .service-card p{font-size:16px}
  .specialty-count{font-size:13px}
  .detail-link,.add-service{font-size:14px;min-height:44px}
  .service-guide-callout{flex-wrap:wrap;gap:14px}
  .service-guide-callout .button{width:100%;justify-content:space-between}
  .industry-tabs{flex-wrap:wrap;gap:4px}
  .industry-tabs button{font-size:13px;min-height:44px;flex:1 1 40%}
  .industry-detail p,.platform-preview p{font-size:15px}
  .industry-detail .button,.platform-preview .button{font-size:14px;min-height:44px}
  .mini-dashboard>div:first-child,.demo-tag{font-size:11px}
  .mini-project{font-size:15px}.mini-tasks,.mini-tasks b{font-size:12px}
  .values,.capability-links button{font-size:13px;line-height:1.8}
  .capability-links button{min-height:44px}
  .contact-panel{padding:26px 20px;gap:28px}
  .contact-panel h2{font-size:30px}
  .contact-panel p{font-size:15px}
  .contact-panel .button{font-size:14px}
  .contact-details a{font-size:15px;line-height:1.8}
  .contact-details p{font-size:14px}
  .contact-label{font-size:12px}
  .assistant-panel{width:calc(100% - 20px);right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:calc(100dvh - 94px);max-height:740px}
  .assistant-head{padding:12px;gap:8px}
  .assistant-head strong{font-size:16px}
  .assistant-head small{font-size:11px;line-height:1.5}
  .assistant-avatar{display:none}
  .assistant-notice{font-size:12px;padding:10px 14px}
  .chat-messages{padding:14px}
  .chat-message{font-size:15px;line-height:1.7}
  .chat-form textarea{font-size:16px}
  .chat-footer{font-size:11px;flex-shrink:0}
  .chat-suggestions{padding:10px 14px;flex-shrink:0}
  .chat-suggestions button{font-size:12px}
  .modal{padding:22px 18px;max-height:calc(100dvh - 24px)}
  .modal .dialog-top{gap:12px}
  .modal h2{font-size:28px}
  .dialog-top .eyebrow,.draft-badge{font-size:10px}
  .stepper{font-size:12px;gap:12px}
  .detail-intro,.detail-grid ul{font-size:15px}
  .detail-note{font-size:13px}
  .capability-actions .button{font-size:14px;min-height:48px}
  .quick-search-field{flex-wrap:wrap;gap:8px}
  .quick-search-field input{font-size:16px;min-width:0}
  .quick-search-field .button{font-size:13px;min-height:44px}
  .quick-search-modal h2{font-size:24px}
  .quick-search-help{font-size:12px}
  .catalogue-feedback .search-hit strong{font-size:14px}
  .catalogue-feedback>p{font-size:14px}
  .field label,.field-label,.service-check{font-size:14px}
  .form-hint,.consent-row,.save-actions,.save-actions button,.review-message{font-size:13px}
  .review-row{font-size:14px;grid-template-columns:1fr;gap:5px;padding:12px 0}
  .result-box p{font-size:15px}
  .enquiry-title-row p{font-size:14px}
  .hub-tabs button{font-size:13px;padding:8px 10px}
  .hub-intro,.company-grid p,.person-card p,.experience-card p,.resource-card p{font-size:15px}
  .offering-row summary{font-size:15px}.offering-row p{font-size:14px}
  .workspace-modal{padding:0}
  .workspace-sidebar nav button{font-size:12px;min-height:44px}
  .workspace-stat span,.workspace-stat small{font-size:11px}
  .workspace-stats{grid-template-columns:1fr}
  .workspace-stat{padding:14px;display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center}
  .workspace-stat strong{grid-column:2;grid-row:1/3}
  .workspace-banner,.document-row small,.ticket-item small{font-size:12px}
  .workspace-card p,.milestone-row{font-size:14px}
  .milestone-row small{font-size:11px}
  .audit-info{font-size:13px;grid-template-columns:1fr;gap:4px}
  .audit-info dd{margin-bottom:8px}
  .workflow-history li,.audit-controls,.audit-controls select{font-size:13px}
  .audit-stage span{font-size:12px}
  .site-footer{padding-bottom:28px;gap:20px;align-items:flex-start}
  .site-footer>p{font-size:13px;max-width:none}
  .site-footer>div:last-child{font-size:12px;line-height:1.8}
  .footer-extra-links{gap:14px}
  .footer-extra-links button{min-height:44px}
  .site-footer .brand-text{font-size:16px}
}
@media(max-width:370px){
  .nav-row{gap:5px}
  .brand-logo{width:36px;height:32px}
  .brand-text{font-size:14px}
  .brand-text small{font-size:5px}
  .brand{gap:5px}
  .hero-copy .hero-actions .button{flex-basis:100%}
  .hero-copy .hero-foot{font-size:11px}
  .map-service,.map-flank .map-service{font-size:13px}
  .map-core strong{font-size:14px}
  .map-core>span{font-size:12px}
  .assistant-head small{max-width:160px}
  .quick-search-field>.button{width:100%;justify-content:center}
}
@media(max-height:550px){
  .assistant-panel{height:calc(100dvh - 24px);bottom:12px;max-height:none}
  .assistant-notice,.chat-suggestions,.assistant-head small{display:none}
}

/* Owner review: close the removed strapline gap above the main headline. */
.hero-heading{padding-top:26px}
@media(max-width:1100px){.hero-heading{padding-top:24px}}
@media(max-width:650px){.hero-heading{padding-top:22px}}
