/* Shared Transport-sized artwork for service introductions. */
#page-transport .tx-shell>.tx-hero,#page-equipements .te-hero,#page-pro .pp-hero,#page-pieces .pe-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:360px;padding-block:32px;gap:40px;}
#page-transport .tx-hero h1,#page-equipements .te-hero h1,#page-pro .pp-hero h1,#page-pieces .pe-hero h1{font-size:clamp(34px,3.7vw,46px);line-height:1.08;}
#page-transport .tx-hero .tx-visual,#page-equipements .te-visual,#page-pro .pp-visual{height:236px;width:100%;max-width:480px;position:relative;isolation:isolate;overflow:visible;margin-inline:auto;}
#page-transport .tx-hero .tx-orbit,#page-equipements .te-ribbon,#page-pro .pp-ribbon{inset:-35px -35px -25px -25px;transform:skewY(-13deg);}
#page-equipements .te-main-photo,#page-pro .pp-visual>img{box-sizing:border-box;width:100%;height:100%;object-fit:cover;object-position:center 55%;border:4px solid white;border-radius:6px;}
@media(max-width:760px){
#page-transport .tx-shell>.tx-hero,#page-equipements .te-hero,#page-pro .pp-hero,#page-pieces .pe-hero{grid-template-columns:1fr;min-height:0;padding-block:24px;gap:32px;}
#page-transport .tx-hero .tx-visual,#page-equipements .te-visual,#page-pro .pp-visual{height:auto;aspect-ratio:1.8;max-width:430px;}
#page-transport .tx-hero .tx-orbit,#page-equipements .te-ribbon,#page-pro .pp-ribbon{inset:-10px -14px;}
#page-equipements .te-main-photo,#page-pro .pp-visual>img{position:absolute;inset:0;}
}

/* Give the terrace photo more vertical presence inside the existing backdrop. */
@media(min-width:761px){
 #page-equipements .te-main-photo{position:absolute;left:0;top:50%;height:300px;transform:translateY(-50%);object-position:center 55%;}
 #page-equipements.active .te-main-photo{animation:terrace-photo-tall-arrive 900ms var(--tx-reveal-ease) both;}
}
@keyframes terrace-photo-tall-arrive{from{opacity:0;transform:translate(16px,calc(-50% + 10px));}to{opacity:1;transform:translate(0,-50%);}}
@media(max-width:760px){#page-equipements .te-visual{aspect-ratio:1.5;}}
@media(prefers-reduced-motion:reduce){#page-equipements.active .te-main-photo{animation:none;}}

@media(min-width:761px){
 #page-pro .pp-visual>img{position:absolute;left:0;top:50%;height:300px;transform:translateY(-50%);object-position:center;}
 #page-pro.active .pp-visual>img{animation:terrace-photo-tall-arrive 900ms var(--tx-reveal-ease) both;}
}
#page-equipements .te-photo-label,#page-pro .pp-photo-note{padding:14px 18px;left:-42px;max-width:205px;border-radius:6px;}
#page-equipements .te-photo-label span,#page-pro .pp-photo-note span{font-size:9px;letter-spacing:.8px;}
#page-equipements .te-photo-label strong,#page-pro .pp-photo-note strong{font-size:17px;line-height:1.25;}
@media(max-width:760px){#page-pro .pp-visual{aspect-ratio:1.5;}#page-equipements .te-photo-label,#page-pro .pp-photo-note{left:-8px;padding:12px 15px;}}
@media(prefers-reduced-motion:reduce){#page-pro.active .pp-visual>img{animation:none;}}

/* Leave breathing room between the artwork and the section divider. */
#page-equipements .te-hero,#page-pro .pp-hero{padding-bottom:56px;}
@media(max-width:760px){#page-equipements .te-hero,#page-pro .pp-hero{padding-bottom:44px;}}

/* Account for the divider extending below the hero: leave 32px before the estimator. */
#page-transport .tx-shell>.tx-hero{margin-bottom:calc(64px - var(--site-guide-gap));}
@media(max-width:760px){
 #page-transport .tx-shell>.tx-hero{margin-bottom:calc(48px - var(--site-guide-gap));}
}

/* Bring the Pro divider closer to its introduction and soften its full-width rule. */
#page-pro .pp-hero{padding-bottom:44px;margin-bottom:12px;}
#page-pro #ppCatalogue::before{top:-12px;opacity:.55;}
@media(max-width:760px){#page-pro .pp-hero{padding-bottom:36px;margin-bottom:12px;}}
@media(max-width:760px){#page-pro #ppCatalogue::before{top:-8px;}}
