/* 08: keep the title with the bottom copy, leaving the artwork visible above. */
#philosophie .philosophy-content h2{margin-top:auto;margin-bottom:1rem;line-height:1.02;font-size:clamp(2.7rem,4vw,4.3rem)}
#philosophie .philosophy-bottom{margin-top:0;padding-top:0;gap:12%}
#philosophie .philosophy-bottom>p{line-height:1.35}
#philosophie .philosophy-bottom .philosophy-promise{line-height:1.12}
/* Equal frames for all three supplied artwork files, without clipping the lettering. */
#options .supplied-photo{position:relative;width:100%;aspect-ratio:16/9;height:auto;min-height:0;overflow:hidden;background:#300b14;align-self:start;flex:none}
#options .supplied-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.travel-note{margin-top:1.3rem;font-size:.9rem;line-height:1.6;color:var(--muted);max-width:1280px}
.footer-contacts{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:1rem 2rem;font-style:normal;font-size:.98rem}
.footer-contacts a{display:inline-flex;align-items:center;gap:.65rem;color:var(--red);transition:color .2s,transform .2s}
.footer-contacts a:hover{color:var(--dark);transform:translateY(-2px)}
.footer-contacts svg{width:21px;height:21px;flex-shrink:0}
.footer-contacts span{overflow-wrap:anywhere}
@media(max-width:900px){
 #header{z-index:1000;background:#fff;isolation:isolate;transform:none;overflow:visible;height:78px}
 #header #nav{top:78px;height:calc(100dvh - 78px);padding:1.4rem 8%;gap:.2rem;justify-content:flex-start;overscroll-behavior:contain;background:#fff}
 #header #nav a{font-size:1.65rem;line-height:1.1;padding:.65rem 0;letter-spacing:.025em;min-height:44px}
 #menuToggle{position:relative;z-index:2}
 /* No nested pinned panels around the price rail or after it. */
 html.stack-enabled main>#packages,html.stack-enabled main>#contact{position:relative!important;top:auto!important;bottom:auto!important;transform:none!important}
 #packages{overflow:visible;isolation:isolate}
 #packages .package-controls{position:relative;top:auto;z-index:auto;background:#fff}
 #packages .package-grid{position:relative;display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:6%;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;perspective:none;scroll-behavior:auto}
 #packages .package-card{transform:none!important;transition:box-shadow .2s;flex:0 0 84%;scroll-snap-align:start;scroll-snap-stop:normal;backface-visibility:visible}
 #packages [data-flow]{opacity:1!important;transform:none!important;visibility:visible!important}
 #packages .package-card::before{display:none}
 #philosophie .philosophy-content h2{font-size:3.1rem;max-width:none}
 #philosophie .philosophy-bottom{gap:1rem}
}
@media(max-width:600px){
 /* Move the picture within the covering video; the container still fills the hero. */
 .hero video{object-position:calc(65% + 150px) center}
 #jeremy .profile-portrait{width:100%;max-width:none;margin:1.1rem auto 0}
 #jeremy .profile-portrait img{width:100%;height:clamp(540px,155vw,700px);object-fit:contain}
 .portrait-motion .profile-portrait img{opacity:0;transform:translate3d(0,48px,0) scale(.93);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
 .portrait-motion .profile-portrait.is-visible img{opacity:1;transform:translate3d(0,0,0) scale(1)}
 #prestation .inclusion li.is-scroll-active{background:#fff;color:var(--red);transform:translateX(3px);box-shadow:0 8px 20px #39071025}
 #philosophie .philosophy-content h2{font-size:2.85rem;margin-bottom:.85rem}
 #philosophie .philosophy-bottom>p{line-height:1.3}
 #philosophie .philosophy-bottom .philosophy-promise{line-height:1.08}
 .footer-contacts{grid-column:1/-1;flex-direction:column;gap:.85rem;font-size:.95rem}
}
@media(prefers-reduced-motion:reduce){
 .portrait-motion .profile-portrait img{opacity:1!important;transform:none!important;transition:none!important}
 #prestation .inclusion li.is-scroll-active{transform:none;transition:none}
}
