/* Body-only reference layouts. No shared header/footer selectors. */
.reference-page{--ref-navy:#09234c;--ref-orange:#ff8a00;--ref-line:#e0e5ed;color:var(--ref-navy);background:#fff}
.reference-shell{width:calc(100% - 68px);max-width:1320px;margin-inline:auto}
.reference-hero,.reference-hero picture{display:block}
.reference-hero img{display:block;width:100%;height:auto;object-fit:cover}
.contact-reference .reference-hero img{aspect-ratio:4.9 / 1}
.services-reference .reference-hero img{aspect-ratio:3.65 / 1}
.reference-page .pcr-icon{filter:invert(12%) sepia(43%) saturate(2288%) hue-rotate(190deg) brightness(88%) contrast(99%)}
.reference-page a:focus-visible{outline:3px solid var(--ref-orange);outline-offset:4px}
.reference-panel{border:1px solid var(--ref-line);border-radius:14px;background:#fff}
.contact-reference-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px;margin-block:28px 22px;align-items:stretch}
.contact-reference-info{padding:22px 24px 18px}
.contact-reference-info>h2{font-size:24px;text-align:center;margin:0 0 18px;padding-bottom:16px;position:relative}
.contact-reference-info>h2:after{content:"";width:48px;height:2px;background:var(--ref-orange);position:absolute;bottom:0;left:calc(50% - 24px)}
.contact-reference-intro,.contact-reference-note{font-size:14px;color:#626a78;line-height:1.9;text-align:center;margin:0}
.contact-reference-intro{margin-bottom:16px}
.contact-reference-row{display:flex;gap:18px;align-items:flex-start;border-bottom:1px dashed var(--ref-line);padding:19px 0}
.contact-reference-row>.pcr-icon{width:32px;height:32px;flex:0 0 32px;margin-top:4px}
.contact-reference-row>div{min-width:0;flex:1}
.contact-reference-row h3{font-size:17px!important;line-height:1.65;margin:0 0 3px}
.contact-reference-row p,.contact-reference-row a{font-size:14px;line-height:1.9;margin:0;overflow-wrap:anywhere;white-space:pre-line}
.contact-reference-row p{color:#626a78}
.contact-reference-row a{display:inline-flex;min-height:30px;align-items:center}
.contact-reference-row a:hover{color:var(--ref-orange)}
.contact-phone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.contact-phone-grid>div{min-width:0}
.contact-phone-grid h3{font-size:13px!important}
.contact-phone-grid a{white-space:nowrap;font-size:13px}
@media(max-width:1000px){.contact-phone-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.contact-phone-grid{grid-template-columns:1fr 1fr}}
.contact-reference-note{padding-top:14px}
.contact-reference-aside{display:flex;flex-direction:column;gap:18px;min-width:0}
.contact-reference-map{padding:22px}
.contact-reference-map-inner{border:1px solid var(--ref-line);border-radius:11px;overflow:hidden}
.contact-reference-map-inner>a{display:block}
.contact-reference-map-inner>img,.contact-reference-map-inner>a>img{display:block;aspect-ratio:1.5 / 1;width:100%;object-fit:cover}
.contact-reference-address{padding:28px 20px 30px;display:flex;gap:18px;align-items:center}
.contact-reference-address>.pcr-icon{width:32px;height:32px;flex:0 0 32px}
.contact-reference-address h2{font-size:19px;margin:0 0 10px}
.contact-reference-address p{color:#626a78;font-size:14px;line-height:1.9;margin:0}
.contact-reference-social{padding:22px 20px}
.contact-reference-social h2{font-size:20px;line-height:1.6;text-align:center;margin:0 0 20px}
.contact-reference-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-reference-social-grid>a,.contact-social-unlinked{border:1px solid #edf0f5;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px 4px;font-size:14px;min-height:112px}
.contact-reference-social-grid .pcr-icon{width:34px;height:34px}
.contact-reference-social-grid>a:hover{border-color:var(--ref-orange);background:#fffaf5}
.contact-social-unlinked{color:#626a78}
.services-reference{background:#f7f8fa;padding-bottom:12px}
.services-reference-body{position:relative;margin-top:-12px}
.services-reference-list{display:grid;gap:10px}
.services-reference-card{border:1px solid #e6e9ef;border-radius:16px;box-shadow:0 5px 14px rgba(7,31,59,.09);background:#fcfcfd;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:28px;padding:14px 20px;min-height:214px}
.services-reference-card:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.85fr)}
.services-reference-card:nth-child(even) .services-reference-image{grid-column:1;grid-row:1}
.services-reference-card:nth-child(even) .services-reference-copy{grid-column:2;grid-row:1}
.services-reference-image{display:block;position:relative;min-height:186px;border-radius:14px;overflow:hidden}
.services-reference-image img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.services-reference-image:hover img{transform:scale(1.035)}
.services-reference-copy{position:relative;padding:6px 88px 8px 8px;min-width:0}
.services-reference-card:nth-child(even) .services-reference-copy{padding:6px 8px}
.services-reference-copy>.pcr-icon{position:absolute;right:14px;top:10px;width:46px;height:46px;filter:invert(53%) sepia(99%) saturate(1870%) hue-rotate(1deg) brightness(105%) contrast(105%)}
.services-reference-card:nth-child(even) .services-reference-copy>.pcr-icon{display:none}
.services-reference-copy h2{font-size:26px;line-height:1.4;margin:0 0 8px}
.services-reference-copy h2 a:hover{color:var(--ref-orange)}
.services-reference-description{font-size:13px;line-height:1.8;color:#40434c}
.services-reference-description p{margin:0 0 12px}
.services-reference-description ul{margin:0;padding-right:18px;padding-left:110px}
.services-reference-description li::marker{color:var(--ref-orange)}
.services-reference-more{position:absolute;bottom:8px;left:8px;display:flex;align-items:center;gap:7px;font-size:13px;min-height:32px}
.services-reference-more .pcr-icon{width:18px;height:18px;filter:invert(53%) sepia(99%) saturate(1870%) hue-rotate(1deg) brightness(105%) contrast(105%)}
.services-reference-more:hover{color:var(--ref-orange)}
.services-reference-cta{display:block;border-radius:14px;overflow:hidden;margin-top:12px;box-shadow:0 4px 12px rgba(7,31,59,.12)}
.services-reference-cta picture{display:block}
.services-reference-cta img{display:block;width:100%;height:auto;aspect-ratio:9.7 / 1;object-fit:cover;object-position:center}
.services-reference .clients-section{padding:14px 0 0;background:transparent}
.services-reference .clients-section .section-head{margin-bottom:12px}
.services-reference .clients-section h2{font-size:24px}
.services-reference .client-card{min-height:132px;padding:14px}
.services-reference .client-card h3{font-size:16px!important}
.services-reference .client-card p{font-size:12px}
@media(min-width:1400px){.services-reference-card{min-height:270px}.services-reference-copy h2{font-size:30px}.services-reference-description{font-size:16px}.services-reference-image{min-height:242px}.contact-reference-grid{max-width:1240px}.contact-reference-row{padding-block:24px}.contact-reference-map-inner>img,.contact-reference-map-inner>a>img{aspect-ratio:1.5 / 1}}
@media(max-width:1000px){.reference-shell{width:calc(100% - 40px)}.contact-reference-grid{gap:18px}.contact-reference-info{padding:20px 16px}.contact-reference-row{gap:12px}.contact-reference-row h3{font-size:15px!important}.contact-reference-map{padding:16px}.contact-reference-address{padding:20px 14px}.contact-reference-social-grid{gap:8px}.contact-reference-social{padding:18px 12px}.services-reference-card{gap:18px;padding:14px}.services-reference-copy{padding-right:58px}.services-reference-copy>.pcr-icon{right:0;width:38px;height:38px}.services-reference-copy h2{font-size:23px}.services-reference-description{font-size:13px}}
@media(max-width:760px){.reference-shell{width:calc(100% - 32px)}.reference-page .reference-hero img{aspect-ratio:auto;object-fit:contain}.contact-reference-grid{grid-template-columns:1fr;margin-top:20px}.contact-reference-info{padding:22px 20px}.contact-reference-row h3{font-size:16px!important}.contact-reference-row p,.contact-reference-row a{font-size:14px}.contact-reference-map-inner>img,.contact-reference-map-inner>a>img{aspect-ratio:1.4 / 1}.contact-reference-social-grid{gap:8px}.contact-reference-social-grid>a,.contact-social-unlinked{font-size:12px;padding:12px 3px;min-height:96px}.contact-reference-social h2{font-size:18px}.services-reference-body{margin-top:16px}.services-reference-card,.services-reference-card:nth-child(even){grid-template-columns:1fr;gap:16px;padding:14px}.services-reference-image,.services-reference-card:nth-child(even) .services-reference-image{grid-column:1;grid-row:1;min-height:0;aspect-ratio:1.65 / 1}.services-reference-copy,.services-reference-card:nth-child(even) .services-reference-copy{grid-column:1;grid-row:2;padding:0 0 4px}.services-reference-copy>.pcr-icon{position:static;float:right;width:34px;height:34px;margin-left:12px}.services-reference-card:nth-child(even) .services-reference-copy>.pcr-icon{display:block}.services-reference-copy h2{font-size:23px;min-height:34px;margin-bottom:12px}.services-reference-description{font-size:14px;clear:both}.services-reference-description ul{padding-left:0}.services-reference-more{position:static;justify-content:flex-end;min-height:44px;margin-top:6px}.services-reference-cta img{aspect-ratio:auto;object-fit:contain}.services-reference .clients-section h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.services-reference-image img{transition:none}}
/* Shared section rhythm for the new page bodies, separate from card padding. */
.reference-page{--ref-section-gap:64px;--ref-panel-gap:32px}
.contact-reference-grid{margin-block:var(--ref-section-gap);row-gap:var(--ref-panel-gap)}
.contact-reference-aside{gap:var(--ref-panel-gap)}
.services-reference{padding-bottom:var(--ref-section-gap)}
.services-reference-body{margin-top:var(--ref-section-gap)}
.services-reference-list{gap:var(--ref-panel-gap)}
.services-reference-cta{margin-top:var(--ref-section-gap)}
.services-reference .clients-section{padding-top:var(--ref-section-gap)}
.services-reference .clients-section .section-head{margin-bottom:32px}
@media(max-width:1000px){.reference-page{--ref-section-gap:48px;--ref-panel-gap:28px}}
@media(max-width:760px){.reference-page{--ref-section-gap:40px;--ref-panel-gap:24px}.services-reference .clients-section .section-head{margin-bottom:24px}}

/* Let saved contact content determine height; longer rows must never be clipped. */
@media(min-width:761px){
  .contact-reference-grid{align-items:stretch}
  .contact-reference-info{box-sizing:border-box;padding:22px 24px}
  .contact-reference-info>h2{font-size:20px;line-height:1.6;margin-bottom:12px;padding-bottom:12px}
  .contact-reference-intro,.contact-reference-note{font-size:12px;line-height:1.85}
  .contact-reference-intro{margin-bottom:12px}
  .contact-reference-row{gap:14px;min-height:86px;box-sizing:border-box;padding:18px 0}
  .contact-reference-row>.pcr-icon{width:30px;height:30px;flex-basis:30px;margin-top:3px}
  .contact-reference-row h3{font-size:15px!important;line-height:1.55;margin-bottom:2px}
  .contact-reference-row p,.contact-reference-row a{font-size:12px;line-height:1.75}
  .contact-reference-note{padding-top:12px}
  .contact-reference-aside{gap:24px}
  .contact-reference-map{flex:1;box-sizing:border-box;padding:18px;display:flex;flex-direction:column}
  .contact-reference-map-inner{box-sizing:border-box;display:flex;flex:1;flex-direction:column}
  .contact-reference-map-inner>img,.contact-reference-map-inner>a>img{height:auto;aspect-ratio:1.5 / 1;object-fit:cover}
  .contact-reference-address{box-sizing:border-box;padding:22px 18px 24px;gap:14px;flex:1}
  .contact-reference-address>.pcr-icon{width:30px;height:30px;flex-basis:30px}
  .contact-reference-address h2{font-size:16px;line-height:1.6;margin-bottom:5px}
  .contact-reference-address p{font-size:12px;line-height:1.7}
  .contact-reference-social{box-sizing:border-box;padding:18px 16px}
  .contact-reference-social h2{font-size:18px;line-height:1.6;margin-bottom:10px}
  .contact-reference-social-grid{gap:14px}
  .contact-reference-social-grid>a,.contact-social-unlinked{min-height:88px;box-sizing:border-box;gap:8px;padding:12px 4px;font-size:12px}
  .contact-reference-social-grid .pcr-icon{width:30px;height:30px}
}

@media (min-width:761px) and (max-width:1100px){
  .contact-reference-grid{align-items:start}
  .contact-reference-map,.contact-reference-map-inner{flex:none}
  .contact-reference-address{flex:none}
  .services-reference-description ul{padding-left:0}
  .services-reference-more{position:static;margin-top:12px;justify-content:flex-start}
  .services-reference-copy{display:flex;flex-direction:column}
}
@media (min-width:761px) and (max-width:900px){
  .contact-reference-grid{grid-template-columns:minmax(0,1fr)}
  .contact-phone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .contact-reference-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .contact-reference-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
