/* Public photography and product-specific compositions. No client portal selectors. */
.px-photo{margin:0;min-width:0;max-width:100%}
.px-photo picture{display:block;width:100%;overflow:hidden;background:#1b242b;border:1px solid #3a454c;border-radius:5px;aspect-ratio:1.5}
.px-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:100%}
body#peeryx-public:not(#_):not(#_) .fx-content .px-photo img{height:100%!important;object-fit:cover}
.px-photo figcaption{font-size:11px;line-height:1.6;color:#aebbc6;margin:8px 0 0}
.px-photo figcaption a{color:inherit;text-underline-offset:3px;text-decoration:underline}
.px-photo a:focus-visible{outline:2px solid #a5cef2;outline-offset:3px}
body#peeryx-public:not(#_):not(#_) .fo-page .fo-pricing>.fo-wrap>.fo-section-head>.fo-eyebrow{color:#a5c6e3!important}
.fo-page .fo-license{height:auto;position:sticky;top:calc(var(--fo-header-height,88px) + 88px)}
.rv-visual,.gp-visual{min-width:0}
.rv-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:7%;align-items:center;padding-block:54px}
.rv-product .fx-container{max-width:1344px}
.rv-visual .px-photo picture{height:270px;aspect-ratio:auto}
.rv-visual .px-photo img{object-position:center 45%}
.rv-visual .rv-entry{background:transparent;border:0;border-top:1px solid #3a454c;border-radius:0;padding:20px 0 0;margin-top:18px;display:grid;grid-template-columns:auto 1fr;gap:5px 20px}
.rv-entry>span:first-child{grid-column:1}
.rv-entry>strong{grid-column:1;grid-row:2;font-size:32px;align-self:center}
.rv-entry>span:nth-child(3){grid-column:1;grid-row:3;font-size:12px}
.rv-entry>p{grid-column:2;grid-row:1/4;margin:0;padding-left:20px;border-left:1px solid #3a454c;align-self:center;font-size:13px}
.rv-entry>p+p{grid-row:4;grid-column:1/-1;border:0;padding:12px 0 0;margin:0;font-size:12px}
.rv-product h1{max-width:20ch;font-size:clamp(34px,3.7vw,54px)}
.gp-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6%;align-items:center;padding-block:54px}
.gp-visual .px-photo picture{height:270px;aspect-ratio:auto}
.gp-visual .px-photo img{object-position:center 61%}
.gp-product--minecraft .px-photo img{object-position:center 72%}
.gp-visual .gp-offer{background:transparent;border:0;border-top:1px solid #3a454c;border-radius:0;padding:20px 0 0;margin-top:18px;display:grid;grid-template-columns:1fr 1.1fr;gap:6px 25px}
.gp-offer>p:first-child{grid-column:1;font-size:12px}
.gp-offer .gp-price{grid-column:1;grid-row:2;font-size:30px;margin:0}
.gp-offer>p:nth-child(3){grid-column:1;grid-row:3;font-size:12px}
.gp-offer .gp-trial{grid-column:2;grid-row:1/4;border-top:0;border-left:1px solid #3a454c;padding:0 0 0 24px;margin:0;align-self:center}
.gp-offer .gp-trial p{font-size:12px;line-height:1.7}
.gp-product .px-photo figcaption{margin-top:8px}
.gp-product .gp-kicker{color:#a8c7e0;letter-spacing:.08em;font-size:12px}
.gp-product .gp-lead{font-size:17px;line-height:1.8}
.ip-hero-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:6%;align-items:center}
.ip-hero-layout .px-photo picture{height:370px;aspect-ratio:auto}
.ip-page--hosting .px-photo img{object-position:70% center}
.ip-page--datacenter .px-photo picture{height:410px}
.ip-page--gaming .px-photo img{object-position:center 65%}
.ip-page--enterprise .px-photo img{object-position:center 35%}
.ip-page--hub .ip-hero-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
body#peeryx-public:not(#_):not(#_) .ip-page .ip-hero-copy h1{max-width:23ch!important;font-size:clamp(30px,3.15vw,46px)!important;line-height:1.17!important;text-wrap:initial!important}
body#peeryx-public:not(#_):not(#_) .ip-page .ip-hero-copy .ip-intro{font-size:16px!important;line-height:1.75!important}
body#peeryx-public:not(#_):not(#_) .ip-page .px-photo figcaption a{font-size:11px!important;color:#aebbc6!important;text-decoration:underline!important}
.fcp-diagram-brand{display:flex;justify-content:space-between;gap:15px;padding:0 0 21px;margin-bottom:26px;border-bottom:1px solid #495c6b;font-size:11px;line-height:1.6;letter-spacing:.07em;color:#b2c7d8}
.fcp-diagram-brand>span:last-child{font-size:10px;letter-spacing:0;align-self:center}
.fcp-diagram{padding:30px;background:#18242e;border-color:#4b6172;border-radius:5px}
.fcp-device{display:block;width:72px;height:48px;color:#9bc2e4;margin:0 auto 18px}
.fcp-network-node{text-align:center;padding:20px 12px;background:#111c24;border:1px solid #61798d;border-radius:4px;align-self:stretch}
.fcp-network-node>span{font-size:12px;letter-spacing:0;margin-bottom:6px}
.fcp-observer{grid-column:1/-1;padding-right:0;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding-top:24px}
.fcp-observer .fcp-export{position:relative;padding:14px 0 14px 20px;border-left:1px solid #8ba6bc;margin-left:20px;font-size:12px}
.fcp-export>span{display:inline;margin-left:5px}
.fcp-observer>div{background:#233c50;border:1px solid #7195b3;padding:18px;font-size:14px}
.fcp-observer>div>span{font-size:11px;color:#bfd5e8;margin-bottom:6px}
.fcp-diagram figcaption{border-top:1px solid #495c6b;margin-top:26px;padding-top:18px;color:#c0ccd5}
.fc-product .fx-button{text-decoration:none}
@media(max-width:1000px){
  .rv-hero,.gp-hero{gap:35px;grid-template-columns:1fr 1fr}
  .rv-visual .px-photo picture,.gp-visual .px-photo picture{height:250px}
  .ip-hero-layout{gap:32px;grid-template-columns:1.2fr 1fr}
  .ip-hero-layout .px-photo picture{height:350px}
  .fcp-diagram{padding:24px}
  .fcp-diagram-brand{flex-wrap:wrap;gap:5px}
}
@media(max-width:800px){
  .fo-page .fo-license{position:static}
  .rv-hero,.gp-hero{grid-template-columns:1fr;gap:30px;padding-block:36px}
  .rv-product h1{max-width:24ch}
  .rv-visual .px-photo picture,.gp-visual .px-photo picture{height:260px}
  .ip-hero-layout,.ip-page--hub .ip-hero-layout{grid-template-columns:1fr;gap:28px}
  .ip-hero-layout .px-photo picture{height:270px}
  body#peeryx-public:not(#_):not(#_) .ip-page .ip-hero-copy h1{max-width:26ch!important}
  .fcp-device{width:62px;height:44px}
}
@media(max-width:480px){
  .rv-visual .px-photo picture,.gp-visual .px-photo picture,.ip-hero-layout .px-photo picture{height:210px}
  .px-photo figcaption{font-size:10px}
  .rv-visual .rv-entry{gap:5px 15px}
  .rv-entry>p{padding-left:15px;font-size:12px}
  .gp-visual .gp-offer{gap:6px 15px;grid-template-columns:1fr 1.1fr}
  .gp-offer .gp-trial{padding-left:15px}
  .gp-offer .gp-price{font-size:25px}
  .gp-offer .gp-trial strong{font-size:13px}
  .gp-offer .gp-trial p{font-size:11px}
  .fcp-diagram{padding:20px 16px}
  .fcp-drawing{grid-template-columns:1fr 18px 1fr;gap:0 8px}
  .fcp-network-node{padding:16px 8px}
  .fcp-network-node strong,.fcp-observer strong{font-size:12px}
  .fcp-observer{gap:16px;grid-template-columns:.8fr 1.2fr}
  .fcp-observer>div{padding:14px 10px}
  .fcp-observer .fcp-export{font-size:10px;margin-left:10px;padding-left:12px}
  .fcp-diagram-brand{margin-bottom:20px;padding-bottom:16px}
}
