/* COLORS AND DESIGN TOKENS */
:root {
  --ink:#191919;
  --muted:#5d5e5c;
  --paper:#f7f7f2;
  --wash:#efefeb;
  --yellow:#f2cb44;
  --line:#deded8;
  --orange:#a44718;
  --blue:#173c66
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  font:16px/1.65 Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--paper)
}
a {
  color:inherit;
  text-decoration:none
}
a:hover {
  text-decoration:underline
}
a:focus-visible,summary:focus-visible {
  outline:3px solid #8a5c00;
  outline-offset:3px
}
.container {
  width:min(1168px,calc(100% - 40px));
  margin:auto
}
.skip {
  position:absolute;
  left:-9999px
}
.skip:focus {
  left:10px;
  top:10px;
  z-index:10;
  background:white;
  padding:10px
}
/* TOP BAR AND NAVIGATION */
.utility {
  background:#1b1b1b;
  color:white;
  font-size:13px
}
.utility-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  min-height:46px
}
.utility-links {
  display:flex;
  gap:21px;
  align-items:center
}
.utility-links a:first-child {
  background:var(--yellow);
  color:#222;
  padding:6px 12px;
  border-radius:10px;
  font-weight:bold
}
.utility-inner>span {
  color:#ddd
}
.site-header {
  background:white;
  border-bottom:1px solid #ddd
}
.nav-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:82px
}
.brand {
  display:flex;
  align-items:center;
  line-height:1;
  min-width:260px
}
.brand-letters {
  font:55px/.85 Georgia,serif;
  color:var(--orange);
  letter-spacing:-8px;
  margin-right:12px
}
.brand-words {
  font-weight:800;
  color:var(--blue);
  font-size:17px;
  letter-spacing:-.04em;
  white-space:nowrap
}
.brand-words small {
  display:block;
  color:var(--orange);
  letter-spacing:.34em;
  font-size:11px;
  text-align:center;
  margin-top:5px
}
.nav-inner nav {
  display:flex;
  gap:22px;
  align-items:center
}
.nav-inner nav a {
  font-weight:700;
  font-size:14px;
  white-space:nowrap
}
.nav-inner nav a[aria-current] {
  text-decoration:underline;
  text-decoration-color:var(--yellow);
  text-decoration-thickness:3px;
  text-underline-offset:7px
}
.btn {
  display:inline-block;
  background:var(--yellow);
  border:1px solid var(--yellow);
  border-radius:11px;
  padding:14px 18px;
  color:#222;
  font-weight:800;
  font-size:14px;
  text-align:center;
  line-height:1.3;
  box-shadow:0 7px 18px #0000000b
}
.btn:hover {
  background:#e6bd2b;
  text-decoration:none
}
.btn-outline {
  background:white;
  border-color:#c9c9c4;
  box-shadow:none
}
.btn-outline:hover {
  background:#eee
}
/* HERO AND PAGE LAYOUT */
.hero {
  background:var(--wash);
  border-bottom:1px solid #ccc
}
.hero-grid {
  display:grid;
  grid-template-columns:1.18fr 1fr;
  gap:65px;
  align-items:center;
  padding:70px 0
}
.kicker,.eyebrow {
  display:inline-block;
  background:#fff3be;
  border-radius:20px;
  padding:5px 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  color:#4b431e;
  text-transform:uppercase
}
.hero h1 {
  font-size:clamp(2.7rem,4.5vw,4.5rem);
  letter-spacing:-.055em;
  line-height:1.04;
  margin:24px 0
}
.hero p {
  font-size:18px;
  line-height:1.6;
  color:#50514f;
  max-width:620px;
  margin:0 0 28px
}
.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}
.trust {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  font-weight:700;
  font-size:13px;
  margin-top:26px
}
.hero-panel {
  background:#1b1b1b;
  color:white;
  border-radius:26px;
  padding:28px;
  box-shadow:0 16px 40px #00000012
}
.panel-overline {
  font-size:13px;
  color:#c4c4c4
}
.hero-panel h2 {
  font-size:25px;
  line-height:1.2;
  margin:8px 0 22px
}
.hero-panel ul {
  list-style:none;
  padding:0;
  margin:0
}
.hero-panel li {
  background:#292929;
  margin:9px 0;
  padding:12px 15px;
  border-radius:12px;
  font-weight:700;
  font-size:15px
}
.hero-panel li span {
  color:var(--yellow);
  margin-right:13px
}
.breadcrumb {
  padding:20px 0;
  font-size:14px;
  color:#555
}
.breadcrumb a {
  text-decoration:underline
}
.breadcrumb span {
  margin:0 4px
}
.section-intro {
  max-width:740px;
  margin-bottom:32px
}
.section-intro h2,.split h2,.process h2,.related h2 {
  font-size:clamp(2rem,3.4vw,3rem);
  letter-spacing:-.04em;
  line-height:1.18;
  margin:17px 0
}
.section-intro p,.split p {
  font-size:18px;
  color:#555
}
/* CONTENT SECTIONS */
.home-content,.blog-list,.recent {
  padding:70px 0
}
.service-grid,.post-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}
.service-grid article,.post-card {
  background:white;
  border:1px solid var(--line);
  border-radius:18px;
  padding:26px;
  display:flex;
  flex-direction:column
}
.service-grid h3,.post-card h3 {
  font-size:23px;
  line-height:1.25;
  margin:15px 0
}
.service-grid p,.post-card p {
  color:#565656;
  margin:0 0 20px
}
.service-grid article>a,.post-card .text-link {
  font-weight:800;
  margin-top:auto;
  color:var(--blue)
}
.card-mark {
  font-weight:800;
  color:#865900
}
.surface-section {
  background:#f0f0ec;
  padding:78px 0
}
.split {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:75px;
  align-items:center
}
.note {
  background:#fff3bf;
  border:1px solid #e5d690;
  border-radius:20px;
  padding:24px
}
.note h3 {
  font-size:23px
}
.note li {
  margin:10px 0
}
.process {
  padding:72px 0
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}
.steps>div {
  border-top:3px solid var(--yellow);
  padding-top:20px
}
.steps b {
  background:var(--yellow);
  border-radius:50%;
  padding:7px 14px
}
.steps h3 {
  font-size:22px;
  margin:21px 0 7px
}
.steps p {
  color:#555
}
.contact-band {
  background:#1d1d1d;
  color:white;
  padding:65px 0
}
.contact-band h2 {
  font-size:clamp(2rem,3vw,3rem);
  margin:16px 0
}
.contact-band p {
  font-size:18px;
  color:#ddd
}
.article-layout {
  display:grid;
  grid-template-columns:minmax(0,750px) minmax(220px,1fr);
  gap:75px;
  padding:55px 0
}
.article {
  min-width:0
}
.article .lead {
  font-size:21px;
  line-height:1.6;
  color:#3b3c3a
}
.article section:not(.article-cta) {
  border-bottom:1px solid var(--line);
  padding:21px 0
}
.article h2 {
  font-size:clamp(1.6rem,2.4vw,2.15rem);
  letter-spacing:-.03em;
  line-height:1.25;
  margin:0 0 15px
}
.article p {
  font-size:18px;
  color:#444;
  line-height:1.75
}
.article-aside .sticky {
  position:sticky;
  top:25px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:24px
}
.article-aside h2 {
  font-size:20px;
  margin:0
}
.article-aside ol {
  padding-left:20px
}
.article-aside li {
  margin:11px 0;
  line-height:1.4
}
.article-aside a:hover {
  color:var(--blue)
}
.article-aside p {
  font-size:14px;
  border-top:1px solid var(--line);
  padding-top:15px
}
.faq details {
  border-top:1px solid var(--line);
  padding:13px 0
}
.faq summary {
  cursor:pointer;
  font-weight:700;
  font-size:17px
}
.faq details p {
  margin-bottom:0
}
.article-cta {
  background:#fff1b5;
  padding:28px;
  border-radius:20px;
  margin-top:35px
}
.article-cta h2 {
  margin-top:13px
}
.related {
  padding:15px 0 80px
}
.related-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.related-grid a {
  background:white;
  padding:22px;
  border-radius:14px;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:145px
}
.related-grid a span {
  color:var(--blue);
  font-weight:bold;
  font-size:14px;
  margin-top:15px
}
.blog-list {
  padding-top:28px
}
.post-card .eyebrow {
  align-self:flex-start
}
/* FOOTER */
.footer {
  background:#1c1c1c;
  color:#ddd;
  padding:55px 0 25px
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:60px
}
.footer h2 {
  font-size:18px;
  color:white
}
.footer a {
  display:block;
  margin:5px 0
}
.footer-brand {
  font-size:22px;
  font-weight:800;
  color:white
}
.footer p {
  font-size:15px
}
.copyright {
  border-top:1px solid #444;
  margin-top:35px;
  padding-top:20px;
  font-size:13px;
  color:#aaa
}
@media(max-width:1050px) {
  .nav-inner {
    flex-wrap:wrap;
    padding:16px 0
  }
  .nav-inner nav {
    order:3;
    width:100%;
    justify-content:center;
    flex-wrap:wrap
  }
  .nav-cta {
    margin-left:auto
  }
  .hero-grid {
    gap:30px
  }
  
}
@media(max-width:760px) {
  .utility-inner>span {
    display:none
  }
  .utility-links {
    flex-wrap:wrap;
    gap:7px 13px;
    padding:6px 0
  }
  .utility-links a {
    font-size:12px
  }
  .nav-inner {
    gap:10px
  }
  .brand {
    min-width:0
  }
  .brand-letters {
    font-size:43px
  }
  .brand-words {
    font-size:13px
  }
  .nav-cta {
    display:none
  }
  .nav-inner nav {
    justify-content:flex-start;
    gap:10px 18px
  }
  .hero-grid,.split,.article-layout {
    grid-template-columns:1fr
  }
  .hero-grid {
    padding:48px 0
  }
  .hero h1 {
    font-size:clamp(2.5rem,10vw,3.5rem)
  }
  .hero-panel {
    padding:20px
  }
  .service-grid,.post-grid,.steps,.related-grid,.footer-grid {
    grid-template-columns:1fr
  }
  .article-layout {
    gap:18px;
    padding:25px 0
  }
  .article-aside {
    order:-1
  }
  .article-aside .sticky {
    position:static
  }
  .article-aside ol {
    columns:2
  }
  .surface-section,.home-content,.process,.recent {
    padding:50px 0
  }
  .footer-grid {
    gap:25px
  }
  
}


.nav-inner {
  gap:18px
}
.nav-inner nav {
  gap:15px
}
.nav-inner nav a {
  font-size:13px
}
.nav-cta {
  white-space:nowrap
}
.coverage {
  background:#e9eae5;
  padding:70px 0
}
.coverage-card {
  border:1px solid #e0d18d;
  background:#fff4c4;
  border-radius:20px;
  padding:28px
}
.coverage-card strong {
  font-size:22px
}
.coverage-card p {
  font-size:17px;
  color:#454545
}
/* SOCIAL LINKS */
.social-profiles {
  background:#f0f0ec;
  padding:65px 0
}
.social-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:60px;
  align-items:center
}
.social-profiles h2 {
  font-size:clamp(1.8rem,3vw,2.7rem);
  line-height:1.2;
  margin:16px 0
}
.social-profiles p {
  font-size:18px;
  color:#555
}
.social-links {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
}
.social-links a,.share-links a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#fff;
  border:1px solid #d8d8d2;
  border-radius:12px;
  padding:15px;
  font-weight:700
}
.social-links a:hover,.share-links a:hover {
  background:#fff4c4;
  text-decoration:none
}
.social-share {
  margin-top:28px;
  padding:26px!important;
  background:#f0f0ec;
  border:0!important;
  border-radius:18px
}
.social-share h2 {
  margin:14px 0 4px
}
.social-share p {
  margin:0 0 18px
}
.share-links {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px
}
.footer-grid {
  grid-template-columns:1.7fr 1.2fr 1fr 1fr;
  gap:32px
}
.footer-grid p span {
  display:block
}
.footer-bottom {
  border-top:1px solid #444;
  margin-top:35px;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  flex-wrap:wrap
}
.footer-bottom .copyright {
  border:0;
  margin:0;
  padding:0
}
.footer-bottom .copyright strong {
  color:#ee8f55;
  font:24px Georgia,serif;
  margin-right:8px
}
.footer-note {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:12px;
  color:#aaa
}
.footer-note a {
  margin:0;
  color:#ddd
}
@media(max-width:1100px) {
  .nav-inner nav {
    gap:10px
  }
  .nav-inner nav a {
    font-size:12px
  }
  .nav-cta {
    padding:11px
  }
  
}
@media(max-width:760px) {
  .social-grid {
    grid-template-columns:1fr;
    gap:18px
  }
  .social-links {
    grid-template-columns:1fr
  }
  .share-links {
    grid-template-columns:1fr 1fr
  }
  .footer-grid {
    grid-template-columns:1fr 1fr
  }
  .coverage {
    padding:50px 0
  }
  .footer-note {
    gap:8px
  }
  
}
@media(max-width:520px) {
  .footer-grid {
    grid-template-columns:1fr
  }
  .share-links {
    grid-template-columns:1fr
  }
  .nav-inner nav {
    gap:8px 14px
  }
  .nav-inner nav a {
    font-size:13px
  }
  
}


.nav-inner nav {
  gap:17px
}
/* SUBMENUS */
.nav-dropdown {
  position:relative;
  font-weight:700;
  font-size:14px;
  line-height:1.65
}
.nav-dropdown summary {
  list-style:none;
  cursor:pointer;
  white-space:nowrap
}
.nav-dropdown summary::-webkit-details-marker {
  display:none
}
.nav-dropdown summary::after {
  content:"⌄";
  font-size:16px;
  margin-left:5px
}
.nav-dropdown[open] summary::after {
  content:"⌃"
}
.nav-submenu {
  position:absolute;
  top:calc(100% + 18px);
  left:-18px;
  min-width:220px;
  z-index:20;
  display:grid;
  padding:9px;
  background:#fff;
  border:1px solid #deded8;
  border-radius:13px;
  box-shadow:0 18px 30px #0002
}
.nav-submenu a {
  padding:8px 11px;
  white-space:nowrap
}
.nav-submenu a:hover {
  background:#fff3bf;
  text-decoration:none;
  border-radius:7px
}
.home-projects,.project-group {
  padding:66px 0
}
.home-projects {
  border-top:1px solid #e1e1d9
}
/* PROJECT GALLERY */
.project-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}
.project-card {
  background:#fff;
  border:1px solid #deded8;
  border-radius:18px;
  overflow:hidden
}
.project-card>a {
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#e7e7e2
}
.project-card img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s
}
.project-card>a:hover img {
  transform:scale(1.035)
}
.project-card-body {
  padding:20px
}
.project-card-body .eyebrow {
  font-size:11px
}
.project-card h3 {
  font-size:22px;
  line-height:1.22;
  margin:12px 0 7px
}
.project-card p {
  color:#555;
  margin:0 0 14px
}
.project-card .text-link {
  color:#173c66;
  font-weight:700
}
.project-all {
  text-align:center;
  margin:28px 0 0
}
.project-group+.project-group {
  border-top:1px solid #deded8
}
.project-group .section-intro h2 {
  margin-bottom:8px
}
@media(max-width:1050px) {
  .nav-submenu {
    top:100%
  }
  .project-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  
}
@media(max-width:760px) {
  .nav-inner nav {
    align-items:center
  }
  .nav-dropdown {
    font-size:13px
  }
  .nav-submenu {
    position:absolute;
    top:100%;
    left:0;
    min-width:190px
  }
  .project-grid {
    grid-template-columns:1fr 1fr
  }
  .home-projects,.project-group {
    padding:50px 0
  }
  
}
@media(max-width:520px) {
  .project-grid {
    grid-template-columns:1fr
  }
  .nav-submenu {
    left:auto;
    right:0
  }
  
}

/* HOMEPAGE: SERVICE GUIDE */
.service-guide{padding:78px 0;background:#e9eeef;border-top:1px solid #dce2e2;border-bottom:1px solid #dce2e2}
.service-guide-intro{max-width:680px;margin-bottom:30px}.service-guide-intro h2{max-width:600px}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.choice-card{display:flex;gap:20px;min-height:226px;padding:28px;background:#fff;border:1px solid #dce2e2;border-radius:18px;box-shadow:0 8px 22px #173c660a;transition:transform .2s,box-shadow .2s,border-color .2s}
.choice-card:hover{transform:translateY(-3px);box-shadow:0 18px 30px #173c6617;border-color:#afc1ca}
.choice-number{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:13px;background:#173c66;color:#fff;font-size:13px;font-weight:800;letter-spacing:.05em}
.choice-card:nth-child(2) .choice-number,.choice-card:nth-child(4) .choice-number{background:#e7a43c;color:#172b3d}
.choice-card>div{display:flex;flex-direction:column;align-items:flex-start}.choice-card .card-mark{font-size:11px;letter-spacing:.12em;color:#526977}.choice-card h3{font-size:24px;line-height:1.2;margin:7px 0 9px}.choice-card p{color:#4b5961;margin:0 0 15px}.choice-card a{color:#173c66;font-weight:800;margin-top:auto;text-decoration:underline;text-decoration-color:#d8a43e;text-decoration-thickness:2px;text-underline-offset:5px}
/* HOMEPAGE: SHORT PRICING PANEL */
.home-pricing{padding:58px 0}.pricing-panel{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:center;padding:38px 44px;border-radius:22px;background:#173c66;color:#fff;position:relative;overflow:hidden}.pricing-panel::after{content:"";position:absolute;width:250px;height:250px;border:1px solid #ffffff28;border-radius:50%;right:-110px;top:-145px;pointer-events:none}.pricing-copy{position:relative;z-index:1}.pricing-copy .eyebrow{color:#000000}.pricing-copy h2{font-size:clamp(28px,3vw,42px);line-height:1.15;margin:10px 0}.pricing-copy p{color:#e0eaf0;margin:0;max-width:630px}.pricing-actions{display:grid;gap:12px;position:relative;z-index:1}.pricing-actions .btn{display:block;box-shadow:none}.pricing-actions .btn-outline{border-color:#adc3d6;background:#fff;color:#173c66}
/* HOMEPAGE: QUESTIONS */
.home-faq{padding:78px 0;background:#f0f2f1;border-top:1px solid #dce2e2}.faq-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:65px;align-items:start}.faq-intro{position:sticky;top:28px}.faq-intro h2{font-size:clamp(30px,3vw,43px);line-height:1.16;margin:13px 0}.faq-intro p{color:#53616a;margin:0 0 22px}.faq-all{display:inline-flex;padding:12px 17px;border-radius:10px;background:#173c66;color:#fff;font-size:14px;font-weight:800}.faq-all:hover{background:#28557f;text-decoration:none}.faq-list{display:grid;gap:10px}.faq-list details{background:#fff;border:1px solid #d9e0e2;border-radius:13px;padding:0 21px;box-shadow:0 4px 12px #173c6608}.faq-list details[open]{border-color:#a9bdc9;box-shadow:0 9px 24px #173c6612}.faq-list summary{list-style:none;cursor:pointer;font-weight:800;font-size:17px;line-height:1.4;padding:20px 35px 20px 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:0;top:18px;color:#173c66;font-size:26px;line-height:1}.faq-list details[open] summary::after{content:"−"}.faq-list details[open] summary{color:#173c66}.faq-list p{margin:0 0 22px;color:#4b5961}.faq-list a{color:#173c66;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.faq-layout{grid-template-columns:1fr;gap:24px}.faq-intro{position:static;max-width:650px}.pricing-panel{gap:24px;padding:30px}}
@media(max-width:760px){.service-guide,.home-faq{padding:54px 0}.choice-grid,.pricing-panel{grid-template-columns:1fr}.choice-card{min-height:0}.pricing-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.choice-card{padding:21px;gap:14px}.choice-card h3{font-size:21px}.choice-number{width:40px;height:40px}.pricing-panel{padding:27px 22px}.pricing-actions{grid-template-columns:1fr}.faq-list summary{font-size:16px}.faq-list details{padding:0 17px}}
/* Expandable project images on the homepage */
.project-image-button{display:block;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#e7e7e2;overflow:hidden;cursor:zoom-in;text-align:left}
.project-image-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.project-image-button:hover img,.project-image-button:focus-visible img{transform:scale(1.055)}
.image-hint{position:absolute;bottom:12px;right:12px;padding:8px 12px;border-radius:9px;background:#fff;color:#173c66;font-size:12px;font-weight:800;box-shadow:0 4px 18px #0003}
.project-lightbox{width:min(1100px,calc(100vw - 30px));max-width:none;max-height:calc(100dvh - 24px);padding:14px;border:1px solid #ffffff55;border-radius:18px;background:#142536;color:#fff;box-shadow:0 24px 75px #0008}
.project-lightbox::backdrop{background:#07121de6;backdrop-filter:blur(7px)}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 5px 10px}.lightbox-caption{margin:0;font-size:17px;font-weight:800}.lightbox-close,.lightbox-prev,.lightbox-next{border:0;border-radius:50%;background:#ffffffeb;color:#142536;font-size:28px;line-height:1;cursor:pointer}.lightbox-close{width:40px;height:40px}.lightbox-view{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center}.lightbox-prev,.lightbox-next{width:44px;height:44px}.lightbox-view img{display:block;max-width:100%;max-height:calc(100dvh - 160px);width:auto;height:auto;margin:auto;object-fit:contain;border-radius:8px}.lightbox-count{text-align:center;margin:8px 0 0;color:#c4d4df;font-size:13px}
@media(max-width:520px){.project-lightbox{padding:10px}.lightbox-view{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}.lightbox-prev,.lightbox-next{width:32px;height:32px;font-size:24px}.lightbox-view img{max-height:calc(100dvh - 130px)}}

/* Contextual pathways in individual guides and project articles */
.topic-links{margin:26px 0;padding:20px 23px;border:1px solid #d6e0e4;border-radius:14px;background:#f1f5f5}.topic-links h2{font-size:20px;margin:0 0 11px}.topic-links>div{display:flex;gap:10px;flex-wrap:wrap}.topic-links a{display:inline-block;padding:9px 13px;border-radius:9px;background:#fff;color:#173c66;font-weight:700;border:1px solid #d6e0e4}.topic-links a:hover{background:#fff2bd;text-decoration:none}

/* Linked regional examples make area guides useful and distinct. */
.regional-projects{margin:28px 0}.regional-projects>p{margin-top:0}.regional-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.regional-project-grid article{padding:16px;border:1px solid #d8e0e2;border-radius:12px;background:#f1f5f5}.regional-project-grid h3{font-size:17px;margin:0 0 7px}.regional-project-grid a{color:#173c66}.regional-project-grid p{font-size:14px;margin:0;color:#4b5961}@media(max-width:650px){.regional-project-grid{grid-template-columns:1fr}}

.article-figure{margin:28px 0;border-radius:14px;overflow:hidden;background:#edf1f1}.article-figure img{display:block;width:100%;max-height:430px;object-fit:cover}.article-figure figcaption{padding:11px 16px;color:#4c5860;font-size:13px}.article-figure a{color:#173c66;font-weight:700}

/* Detailed service pages and decision guides */
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.detail-grid article{padding:19px;background:#f1f5f5;border:1px solid #d8e0e2;border-radius:13px}.detail-grid h3{margin:0 0 8px;font-size:19px}.detail-grid p{margin:0;font-size:15px}.check-list{padding-left:22px}.check-list li{margin-bottom:8px}.comparison-table{display:grid;margin:20px 0;border:1px solid #d8e0e2;border-radius:12px;overflow:hidden}.comparison-table>div{display:grid;grid-template-columns:1fr 1.15fr 1.15fr}.comparison-table>div>*{padding:12px 15px;border-bottom:1px solid #d8e0e2}.comparison-table>div:first-child{background:#173c66;color:#fff}.comparison-table>div:last-child>*{border-bottom:0}.new-service-links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:19px 0;border-bottom:1px solid #d8e0e2}.new-service-links a{font-weight:800;color:#173c66;text-decoration:underline;text-underline-offset:4px}@media(max-width:650px){.detail-grid{grid-template-columns:1fr}.comparison-table{font-size:12px}.comparison-table>div>*{padding:9px 7px}}
/* Navigation: hover on desktop, contained tap menu on touch screens */
.menu-toggle{display:none}
@media(min-width:901px){
  .nav-dropdown .nav-submenu{top:100%;left:-12px}
  .nav-dropdown:last-of-type .nav-submenu{left:auto;right:0}
}
@media(max-width:900px){
  .has-nav-js .menu-toggle{display:inline-flex;align-items:center;gap:9px;margin-left:auto;padding:9px 12px;border:1px solid #c8d0d3;border-radius:10px;background:#fff;color:#173c66;font:700 14px/1.3 Arial,Helvetica,sans-serif;cursor:pointer}
  .menu-icon{font-size:20px;line-height:1}.menu-toggle[aria-expanded="true"]{background:#fff3c7;border-color:#e5c75f}
  .nav-inner{justify-content:space-between;align-items:center;padding:12px 0;min-height:70px}
  .nav-cta{display:none}
  .nav-inner nav{order:3;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:8px 0 4px;border-top:1px solid #e1e5e5}
  .has-nav-js .site-header:not(.menu-open) .nav-inner nav{display:none}
  .nav-inner nav>a,.nav-dropdown>summary{display:block;width:100%;padding:12px 8px;font-size:16px;line-height:1.35;white-space:normal}
  .nav-dropdown{width:100%;font-size:16px;line-height:1.35}
  .nav-dropdown>summary{font-weight:700;min-height:44px}
  .nav-dropdown>summary::after{float:right;margin-right:5px}
  .nav-submenu{position:static;display:grid;min-width:0;width:100%;padding:3px 0 8px 14px;background:#f4f6f6;border:0;border-left:3px solid #f2cb44;border-radius:0;box-shadow:none}
  .nav-submenu a{display:block;padding:11px 12px;font-size:15px!important;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
  .nav-inner nav a[aria-current]{text-underline-offset:4px}
}

/* Price guide: readable table on small screens. */
.price-table-wrap{overflow-x:auto;margin:22px 0;border:1px solid #d6e0e4;border-radius:12px}.price-table{width:100%;min-width:580px;border-collapse:collapse;font-size:15px;text-align:left}.price-table caption{text-align:left;padding:14px 16px;font-weight:800;color:#173c66}.price-table th,.price-table td{padding:12px 15px;vertical-align:top;border-top:1px solid #d6e0e4}.price-table thead{background:#173c66;color:#fff}.price-table tbody tr:nth-child(even){background:#f2f5f6}.price-table tbody th{font-weight:700}

/* Shared links between in-depth pages. */
.related-pathways{margin:34px auto 70px;padding:25px;border:1px solid #d8e0e2;border-radius:16px;background:#f1f5f5}.related-pathways h2{font-size:22px;margin:0 0 13px}.related-pathways nav{display:flex;flex-wrap:wrap;gap:10px}.related-pathways a{display:inline-block;padding:10px 13px;border-radius:9px;background:#fff;color:#173c66;font-weight:700;border:1px solid #d6e0e4;text-decoration:underline;text-underline-offset:3px}
