/* Focused guides and service pages, using the existing T&E brand. */
.knowledge-hero { padding-bottom: 48px; }
.knowledge-hero h1 { max-width: 1000px; font-size: clamp(2.8rem, 5vw, 5rem); line-height: 1.05; }
.knowledge-hero .sub-intro { max-width: 780px; }
.breadcrumb { flex-wrap: wrap; line-height: 1.5; }
.knowledge-section { padding-top: 40px; padding-bottom: 55px; }
.knowledge-section > h2, .knowledge-split h2, .knowledge-faq > h2, .knowledge-related > h2 { font-size: clamp(1.8rem, 2.6vw, 2.6rem); line-height: 1.15; margin-bottom: 26px; }
.knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.knowledge-card { padding: 30px; border: 1px solid #dbe3ec; border-radius: 14px; background: #f6f8fb; min-width: 0; }
.knowledge-card h3, .knowledge-card h2 { font-size: 26px; line-height: 1.15; margin-bottom: 16px; }
.knowledge-card p { font-size: 18px; line-height: 1.55; margin-bottom: 0; }
.knowledge-card .text-link { display: inline-block; margin-top: 24px; }
.knowledge-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; padding-top: 38px; padding-bottom: 65px; align-items: start; }
.knowledge-split > div > p { font-size: 19px; line-height: 1.6; }
.knowledge-split > div > p + p { margin-top: 20px; }
.preparation { background: #edf3f9; border-radius: 14px; padding: 32px; }
.preparation h2 { font-size: 25px; margin-bottom: 20px; }
.preparation p { font-size: 18px; line-height: 1.5; margin-bottom: 16px; }
.preparation ul { margin: 0; padding-left: 20px; }
.preparation li { font-size: 18px; line-height: 1.5; margin-top: 12px; padding-left: 4px; }
.preparation a:not(.button) { text-decoration: underline; text-underline-offset: 4px; }
.knowledge-faq { padding-top: 35px; padding-bottom: 55px; border-top: 1px solid #dbe3ec; }
.knowledge-faq .faq-list { max-width: 900px; }
.knowledge-related { padding-top: 35px; padding-bottom: 55px; border-top: 1px solid #dbe3ec; }
.knowledge-related > div { display: flex; flex-wrap: wrap; gap: 16px 32px; }
.knowledge-related a, .guide-sources a, .learning-comparison a { font-size: 17px; font-weight: 600; color: #002e73; text-decoration: underline; text-decoration-color: #a2b5cd; text-underline-offset: 5px; }
.knowledge-related a:hover, .guide-sources a:hover { text-decoration-color: #002e73; }
.guide-sources { padding-top: 0; padding-bottom: 45px; display: flex; flex-wrap: wrap; gap: 10px 25px; }
.guide-sources > p { flex-basis: 100%; font-size: 14px; color: #526b87; margin: 0; }
.guide-sources a { font-size: 14px; font-weight: 400; }
.product-hub-featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.product-hub-card { border: 1px solid #ccd7e3; border-radius: 16px; padding: 38px; background: #f3f6fa; }
.product-hub-card > img { width: 240px; max-width: 100%; height: 65px; object-fit: contain; object-position: left center; margin-bottom: 30px; }
.product-hub-card h2 { font-size: 29px; line-height: 1.15; }
.product-hub-card p { font-size: 19px; line-height: 1.55; margin: 20px 0; }
.hub-quick-links { display: flex; flex-wrap: wrap; gap: 15px 24px; border-top: 1px solid #ccd7e3; margin-top: 28px; padding-top: 22px; }
.hub-quick-links a { font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.other-software { margin-top: 26px; }
.learning-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 32px; }
.learning-heading h2 { font-size: clamp(2.3rem, 3.4vw, 3.3rem); line-height: 1.08; }
.learning-heading p { font-size: 19px; margin: 20px 0 0; }
.learning-heading > a { flex-shrink: 0; margin-bottom: 5px; }
.home-learning { padding-top: 10px; padding-bottom: 75px; }
.product-learning-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.product-learning-links > a { display: block; background: #f3f6fa; border: 1px solid #dbe3ec; border-radius: 14px; padding: 30px; color: #002e73; transition: border-color .2s, background .2s; }
.product-learning-links > a:hover { border-color: #91a8c5; background: #edf3f9; }
.product-learning-links h3 { font-size: 28px; line-height: 1.15; }
.product-learning-links p { font-size: 18px; line-height: 1.5; margin: 15px 0 0; }
.product-learning-links span { display: inline-block; font-size: 16px; font-weight: 600; margin-top: 22px; text-decoration: underline; text-underline-offset: 5px; }
.learning-comparison { font-size: 17px; margin-top: 25px; }
.comparison-scroll { overflow-x: auto; border: 1px solid #ccd7e3; border-radius: 12px; }
.comparison-table { border-collapse: collapse; width: 100%; min-width: 680px; font-size: 18px; line-height: 1.5; text-align: left; }
.comparison-table th, .comparison-table td { padding: 22px; border-bottom: 1px solid #dbe3ec; vertical-align: top; }
.comparison-table thead th { background: #002e73; color: #fff; font-size: 20px; }
.comparison-table th:first-child { width: 23%; }
.comparison-table tbody th { font-weight: 600; color: #002e73; background: #f3f6fa; }
.comparison-table td { width: 38.5%; }
.comparison-table tr:last-child > * { border-bottom: 0; }
.guide-note { font-size: 16px; line-height: 1.5; margin: 20px 0 0; max-width: 850px; }
.reading-width { max-width: 850px; font-size: 20px; line-height: 1.6; }
.checklist-guide { max-width: 1000px; }
.checklist-guide > h2:not(:first-child) { margin-top: 48px; }
.review-checklist { list-style: none; margin: 0; padding: 0; }
.review-checklist li { padding: 22px 0 22px 31px; border-top: 1px solid #dbe3ec; position: relative; }
.review-checklist li::before { content: ''; position: absolute; left: 0; top: 28px; width: 13px; height: 13px; border: 1px solid #8399b6; border-radius: 2px; }
.review-checklist h3 { font-size: 24px; margin: 0 0 10px; }
.review-checklist p { font-size: 19px; line-height: 1.55; margin: 0; }
.resource-group { display: grid; grid-template-columns: .8fr 1.5fr; gap: 60px; padding: 38px 0; border-top: 1px solid #ccd7e3; }
.resource-group h2 { font-size: 35px; line-height: 1.1; }
.resource-group > div > p { font-size: 18px; margin-top: 15px; }
.resource-list { display: flex; flex-direction: column; gap: 15px; }
.resource-list a { padding: 25px 28px; background: #f3f6fa; border: 1px solid #dbe3ec; border-radius: 12px; }
.resource-list a:hover { border-color: #91a8c5; }
.resource-list h3 { font-size: 26px; line-height: 1.15; }
.resource-list p { font-size: 18px; line-height: 1.5; margin: 10px 0 0; }
.about-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; padding: 30px 0; border-top: 1px solid #ccd7e3; border-bottom: 1px solid #ccd7e3; }
.about-facts strong { display: block; color: #002e73; font: 800 36px/1.2 Barlow; margin-bottom: 8px; }
.about-facts span { font-size: 16px; }
.contact-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.contact-options h2 { font-size: 29px; }
.contact-options a { display: block; width: fit-content; font-size: 19px; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; margin-top: 20px; }
.contact-options .contact-hours { margin-top: 25px; }
.service-detail .text-link { display: inline-block; margin-top: 22px; }
/* Keep the wider navigation and footer usable without hiding destinations. */
.nav { gap: 20px; }
.nav > a:nth-child(4) { display: block; }
.footer-directory { grid-template-columns: 1.45fr repeat(4, minmax(0, 1fr)); gap: 30px; }
.footer-logo { width: 225px; }
@media (max-width: 1180px) and (min-width: 1051px) { .header-inner { gap: 18px; } .logo { width: 205px; } .nav { gap: 18px; font-size: 15px; } }
@media (max-width: 1050px) {
  .menu-button { display: block; }
  .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #002e73; padding: 20px 28px; box-shadow: 0 20px 25px #002e7312; align-items: stretch; }
  .nav.open { display: flex; flex-direction: column; max-height: calc(100dvh - 92px); overflow-y: auto; }
  .nav > a:nth-child(4) { display: block; }
  .software-menu-toggle { width: 100%; justify-content: space-between; }
  .software-submenu { position: static; transform: none; width: 100%; margin: 10px 0 4px; padding: 6px; box-shadow: none; }
  .knowledge-split { gap: 35px; }
  .knowledge-card { padding: 24px; }
  .footer-directory { grid-template-columns: 1.4fr 1fr 1fr; gap: 35px; }
  .footer-brand { grid-row: span 2; }
  .expanded-footer .footer-links { grid-column: auto; display: flex; flex-direction: column; gap: 13px; align-items: flex-start; }
}
@media (max-width: 760px) {
  .nav { padding: 20px; }
  .nav.open { max-height: calc(100dvh - 81px); }
  .knowledge-hero { padding-bottom: 30px; }
  .knowledge-hero h1 { font-size: clamp(2.7rem, 8.5vw, 4rem); }
  .knowledge-hero h1 br { display: none; }
  .knowledge-section { padding-top: 28px; padding-bottom: 38px; }
  .knowledge-grid, .knowledge-split, .product-hub-featured, .product-learning-links, .contact-options { grid-template-columns: minmax(0, 1fr); }
  .knowledge-grid { gap: 18px; }
  .knowledge-card { padding: 26px; }
  .knowledge-split { gap: 28px; padding-top: 25px; padding-bottom: 40px; }
  .knowledge-split > div > p { font-size: 18px; }
  .preparation { padding: 26px; }
  .knowledge-faq, .knowledge-related { padding-top: 30px; padding-bottom: 40px; }
  .knowledge-related > div { flex-direction: column; align-items: flex-start; gap: 20px; }
  .knowledge-related a { line-height: 1.5; }
  .product-hub-card { padding: 28px; }
  .product-hub-card h2 { font-size: 27px; }
  .learning-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
  .product-learning-links > a { padding: 26px; }
  .home-learning { padding-top: 10px; padding-bottom: 45px; }
  .resource-group { grid-template-columns: minmax(0, 1fr); gap: 25px; padding: 30px 0; }
  .resource-list a { padding: 24px; }
  .review-checklist p { font-size: 18px; }
  .about-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px; }
  .about-facts strong { font-size: 29px; }
  .footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px 25px; }
  .footer-brand { grid-column: 1/-1; grid-row: auto; }
  .expanded-footer .footer-links { grid-column: auto; display: flex; }
}
@media (prefers-reduced-motion: reduce) { .product-learning-links > a { transition: none; } }
.software-menu-all { border-top: 1px solid #dbe3ec; margin-top: 5px !important; padding-top: 5px !important; }
.nav .software-menu-all a { font-size: 15px; font-weight: 600; }
.resource-jumps{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:28px;padding-bottom:28px;border-bottom:1px solid #d5dfed}.resource-jumps a{font-size:1rem;text-decoration:underline;text-underline-offset:5px}.resource-location{font-size:1rem;color:#526c87;margin-top:30px}.free-resource-group{padding:55px 0;scroll-margin-top:120px;border-bottom:1px solid #d5dfed}.free-resource-heading{display:flex;justify-content:space-between;gap:40px;align-items:start;margin-bottom:30px}.free-resource-heading h2{font-size:clamp(2rem,3.5vw,3rem)}.free-resource-heading>p{max-width:390px;font-size:1.125rem;line-height:1.5}.free-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.free-resource-card{display:flex;flex-direction:column;padding:28px;background:#f3f6fa;border:1px solid #d5dfed;border-radius:12px;transition:background .2s,border-color .2s}.free-resource-card:hover{background:#e9f0f9;border-color:#002e73}.free-resource-card:focus-visible{outline:3px solid #002e73;outline-offset:4px}.free-resource-card h3{font-size:1.5rem;line-height:1.2;margin-bottom:14px}.free-resource-card p{font-size:1.125rem;line-height:1.5;margin-bottom:24px}.free-resource-card>span{font-size:1rem;text-decoration:underline;text-underline-offset:4px;margin-top:auto;font-weight:600}#software-guides{scroll-margin-top:120px}.resource-guides-intro{max-width:680px;margin:20px 0 38px;font-size:1.2rem}@media(max-width:900px){.free-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.free-resource-heading{display:block}.free-resource-heading>p{margin-top:16px;max-width:650px}}@media(max-width:560px){.free-resource-grid{grid-template-columns:1fr}.free-resource-group{padding:38px 0}.free-resource-card{padding:24px}.resource-jumps{gap:15px 20px}}@media(prefers-reduced-motion:reduce){.free-resource-card{transition:none}}

/* Official Costed product screenshots on the comparison guide. */
.costed-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:32px; }
.costed-gallery-item { margin:0; min-width:0; }
.costed-gallery-item:first-child { grid-column:1/-1; }
.costed-image-button { display:block; position:relative; width:100%; padding:0; border:1px solid #ccd7e3; border-radius:14px; overflow:hidden; background:#152033; cursor:zoom-in; }
.costed-image-button img { display:block; width:100%; height:auto; }
.costed-image-button span { position:absolute; bottom:14px; right:14px; padding:8px 12px; border-radius:6px; color:white; background:#002e73; font:600 15px 'Source Sans Pro',sans-serif; }
.costed-gallery-item figcaption { padding-top:18px; }
.costed-gallery-item h3 { margin:0 0 6px; }
.costed-gallery-item figcaption p { margin:0; }
@media(max-width:640px) { .costed-gallery-grid { grid-template-columns:1fr; gap:28px; } }

/* Separate the two decision points without crowding their supporting copy. */
.costed-decision > div > h2 { margin-bottom:20px; }
.costed-decision > div > h3 { margin:32px 0 16px; line-height:1.2; }
.audience-home .product-learning-links{margin-top:30px}.enquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;scroll-margin-top:120px}.enquiry-layout h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.15;margin-bottom:24px}.enquiry-layout>div>p{margin:0 0 22px}.enquiry-form{background:#f3f6fa;padding:30px;border:1px solid #d5dfed;border-radius:16px}.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.enquiry-fields label{display:flex;flex-direction:column;gap:8px;font-size:17px;font-weight:600}.enquiry-fields label span{font-weight:400}.enquiry-fields input,.enquiry-fields select,.enquiry-fields textarea{width:100%;min-width:0;border:1px solid #9caec5;border-radius:6px;background:white;color:#08264d;padding:12px;font:inherit;font-weight:400}.enquiry-fields select{appearance:none;padding-right:34px;background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23002e73' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center}.enquiry-fields textarea{resize:vertical}.enquiry-wide{grid-column:1/-1}.enquiry-note{font-size:16px;line-height:1.5;margin:24px 0}.enquiry-copy{border:0;background:none;cursor:pointer}.enquiry-copy[hidden]{display:none}#enquiry-status{margin-top:20px;font-size:17px;line-height:1.5}.enquiry-layout a{text-underline-offset:4px}.enquiry-fields :focus-visible{outline:3px solid #ffc729;outline-offset:3px}@media(max-width:850px){.enquiry-layout{grid-template-columns:1fr;gap:26px}}@media(max-width:500px){.enquiry-fields{grid-template-columns:1fr}.enquiry-form{padding:20px}.enquiry-wide{grid-column:auto}}

.enquiry-fields .field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.field-label-row strong{font-weight:600}.enquiry-fields .field-label-row small{font-size:14px;font-weight:400;color:#52657c}

.audience-work{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:stretch}.audience-work-photo{margin:0;min-height:540px;border-radius:18px;overflow:hidden}.audience-work-photo img{width:100%;height:100%;object-fit:cover;display:block}.audience-work h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.15;margin-bottom:26px}.audience-work .knowledge-grid{grid-template-columns:1fr;gap:16px}.audience-work .knowledge-card{padding:24px}.audience-card-photo{display:block;width:100%;height:230px;object-fit:cover;border-radius:10px;margin-bottom:24px}.audience-home .product-learning-links>a:has(.audience-card-photo){overflow:hidden}@media(max-width:760px){.audience-work{grid-template-columns:1fr;gap:28px}.audience-work-photo{min-height:0;aspect-ratio:4/3}.audience-work-photo img{object-position:center 40%}.audience-card-photo{height:210px}}

.audience-photo-builders img{object-position:25% center}.audience-photo-quantity-surveyors img{object-position:60% center}

/* Contextual images across services and learning pages. */
.editorial-photo-story{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding-top:56px;padding-bottom:35px}.editorial-photo-story figure{margin:0;border-radius:16px;overflow:hidden;height:350px}.editorial-photo-story img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}.editorial-photo-story h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.15;margin-bottom:24px}.editorial-photo-story p{font-size:20px;line-height:1.6}.editorial-screens{padding-top:48px;padding-bottom:24px}.editorial-screen-grid{max-width:970px;margin:auto}.editorial-screen-grid.paired{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:none}.editorial-screen-grid figure{margin:0;min-width:0}.editorial-screen-grid img{display:block;width:100%;height:auto;max-height:490px;object-fit:contain;background:#edf2f8}.editorial-screen-grid figcaption{font-size:16px;line-height:1.5;color:#52657c;margin-top:14px}.editorial-screen-grid .screen-top{gap:16px}.editorial-screen-grid .enlarge-screen{white-space:nowrap}.news-visual{background:#fff;border:1px solid #dbe3ec;border-radius:10px;min-height:115px;display:flex;align-items:center;justify-content:center;padding:24px}.news-visual img{width:100%;max-width:230px;height:65px;object-fit:contain}.news-visual.photo{padding:0;overflow:hidden}.news-visual.photo img{max-width:none;height:160px;object-fit:cover}.news-article>.news-visual{margin-bottom:30px}.news-article>.news-visual.photo img{height:270px}@media(max-width:760px){.editorial-photo-story{grid-template-columns:1fr;gap:28px;padding-top:32px}.editorial-photo-story figure{height:290px}.editorial-photo-story p{font-size:18px}.editorial-screen-grid.paired{grid-template-columns:1fr}.editorial-screens{padding-top:32px}.editorial-screen-grid .screen-top{padding:14px;font-size:15px}}

.audience-advice > div > p + .button{margin-top:28px}
