/* Vespella | services portrait presentation and tighter internal mastheads.
   The approved artwork, service cards, pricing and main page remain untouched. */
@media (min-width:980px){
 body[data-page="services"] .services-opening{
   display:grid;grid-template-columns:minmax(320px,36%) minmax(0,1fr);
   min-height:100dvh;padding-top:var(--hero-header-height,84px);
   background:#10191b;align-items:start;
 }
 body[data-page="services"] .services-opening-image{
   position:fixed;top:var(--hero-header-height,84px);left:0;
   width:36%;height:calc(100vh - var(--hero-header-height,84px));
   overflow:hidden;margin:0;min-width:0;min-height:0;z-index:0;
   background:#192025;
 }
 body[data-page="services"] .services-opening-image picture,
 body[data-page="services"] .services-opening-image img{
   display:block;width:100%;height:100%;max-height:none;object-fit:cover;
   object-position:50% 50%;
 }
 body[data-page="services"] .services-opening-image:after{
   content:"";position:absolute;inset:0;
   background:linear-gradient(90deg,transparent 78%,#10191b35 100%);
   pointer-events:none;
 }
 body[data-page="services"] .services-opening-body{
   grid-column:2;position:relative;z-index:1;min-width:0;
   padding:0 clamp(26px,4.2vw,78px) 42px clamp(26px,4vw,76px);
 }
 body[data-page="services"] .services-heading.compact-heading{
   max-width:none;width:auto;padding:35px 0 0;margin:0;text-align:left;
 }
 body[data-page="services"] .services-heading h1{
   max-width:none;font-size:clamp(30px,3.05vw,52px);line-height:1.2;
   white-space:normal;letter-spacing:-.045em;text-align:left;
 }
 body[data-page="services"] .services-heading>p:last-child{
   max-width:670px;margin:12px 0 0;font-size:13px;line-height:1.75;
 }
 body[data-page="services"] .services-opening-copy{
   padding:clamp(20px,2vw,30px) 0 0;min-width:0;align-self:stretch;
 }
 /* No image jump when reaching the end of the intro: detailed service sections cover the fixed panel. */
 body[data-page="services"] .services-detail-flow{
   position:relative;z-index:2;background:#10191b;
 }
 body[data-page="services"] main#main > .tarot-practice{
   background:#10191b;
 }
 body[data-page="services"] main#main > .individual-practice{
   background:#10191b;
 }
 body[data-page="services"] main#main > .practice-choice{
   background:#10191b;
 }
 body[data-page="services"] main#main > section:nth-of-type(even).individual-practice{
   background:#111d20;
 }
 body[data-page="services"] .site-footer{position:relative;z-index:2;background:#10191b;}
}
@media (min-width:980px) and (max-width:1250px){
 body[data-page="services"] .services-opening{grid-template-columns:minmax(285px,33%) minmax(0,1fr)}
 body[data-page="services"] .services-opening-image{width:33%}
 body[data-page="services"] .services-opening-body{padding-inline:26px}
 body[data-page="services"] .services-heading h1{font-size:clamp(30px,3.3vw,42px)}
}
@media (max-width:979px){
 body[data-page="services"] .services-opening{
   display:grid;grid-template-columns:minmax(0,1fr);
   grid-template-areas:"heading" "photo" "copy";
   min-height:0;align-items:initial;
 }
 body[data-page="services"] .services-opening-body{display:contents;}
 body[data-page="services"] .services-heading.compact-heading{
   grid-area:heading;box-sizing:border-box;width:100%;max-width:910px;
   margin:0 auto;padding:calc(var(--hero-header-height,74px) + 24px) max(26px,5vw) 23px;
 }
 body[data-page="services"] .services-opening-image{
   grid-area:photo;position:relative;top:auto;margin:0;
   height:clamp(200px,35vw,290px);min-height:0;overflow:hidden;
 }
 body[data-page="services"] .services-opening-image picture,
 body[data-page="services"] .services-opening-image img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;}
 body[data-page="services"] .services-opening-copy{
   grid-area:copy;box-sizing:border-box;width:100%;max-width:910px;margin:0 auto;
   padding:28px max(26px,5vw) 42px;
 }
}
@media (max-width:699px){
 body[data-page="services"] .services-heading.compact-heading{
   padding:calc(var(--hero-header-height,74px) + 20px) max(20px,5.5vw) 21px;
 }
 body[data-page="services"] .services-opening-image{height:clamp(205px,53vw,260px)}
 body[data-page="services"] .services-opening-copy{padding:25px max(20px,5.5vw) 38px}
}
/* Move every internal title closer to the fixed header, without altering home hero or content. */
body:is([data-page="how"],[data-page="contacts"],[data-page="tarot-space"]) .page-heading.compact-heading{
  padding-top:calc(var(--hero-header-height,84px) + 29px);
}
body[data-page="consultations"] .tariff-intro h1{margin-top:13px;}
body[data-page="booking"] .page-heading{padding-top:calc(var(--hero-header-height,84px) + 29px);}
body:has(.legal-prose) .page-heading{padding-top:calc(var(--hero-header-height,84px) + 29px);}
@media(max-width:1199px){
 body:is([data-page="how"],[data-page="contacts"],[data-page="tarot-space"]) .page-heading.compact-heading{
   padding-top:calc(var(--hero-header-height,74px) + 24px);
 }
}
@media(max-width:979px){
 body[data-page="consultations"] .tariff-intro h1{margin-top:11px;}
}
@media(max-width:699px){
 body:is([data-page="how"],[data-page="contacts"],[data-page="tarot-space"]) .page-heading.compact-heading{
   padding-top:calc(var(--hero-header-height,74px) + 20px);
 }
 body[data-page="consultations"] .tariff-intro h1{margin-top:10px;}
 body[data-page="booking"] .page-heading,
 body:has(.legal-prose) .page-heading{padding-top:calc(var(--hero-header-height,74px) + 20px);}
}

/* Tall portrait tablets: avoid zooming a wide tabletop photograph into a narrow slit. */
@media (min-width:980px) and (max-width:1200px) and (max-aspect-ratio:4/5){
 body[data-page="services"] .services-opening{
   display:grid;grid-template-columns:minmax(0,1fr);
   grid-template-areas:"heading" "photo" "copy";
   min-height:0;padding-top:0;align-items:initial;
 }
 body[data-page="services"] .services-opening-body{display:contents;}
 body[data-page="services"] .services-heading.compact-heading{
   grid-area:heading;box-sizing:border-box;width:100%;max-width:910px;
   margin:0 auto;text-align:center;
   padding:calc(var(--hero-header-height,74px) + 24px) max(26px,5vw) 24px;
 }
 body[data-page="services"] .services-heading h1{text-align:center;}
 body[data-page="services"] .services-heading>p:last-child{margin:14px auto 0;text-align:center;}
 body[data-page="services"] .services-opening-image{
   grid-area:photo;position:relative;top:auto;left:auto;width:100%;
   height:clamp(220px,35vw,350px);min-height:0;
 }
 body[data-page="services"] .services-opening-image picture,
 body[data-page="services"] .services-opening-image img{
   width:100%;height:100%;object-fit:cover;object-position:center 58%;
 }
 body[data-page="services"] .services-opening-copy{
   grid-area:copy;box-sizing:border-box;width:100%;max-width:910px;
   margin:0 auto;padding:28px max(26px,5vw) 44px;
 }
}

/* Service introduction belongs to the same left text edge as the headline,
   not the old centered masthead layout. Applies on desktop and responsive widths. */
body[data-page="services"] .services-heading.compact-heading > p:last-child {
  text-align:left;
  margin-left:0;
  margin-right:0;
  max-width:670px;
}

/* Unified header baseline on internal pages; supersedes legacy independent nudges. */
body[data-page="consultations"] .tariff-intro h1{margin-top:9px!important}
body[data-page="services"] .services-heading.compact-heading{padding-top:35px!important}
body[data-page="services"] .services-heading h1{margin-top:9px!important;margin-bottom:0!important}
@media(max-width:979px){
 body[data-page="services"] .services-heading.compact-heading{padding-top:calc(var(--hero-header-height,74px) + 29px)!important}
 body[data-page="consultations"] .tariff-intro h1{margin-top:9px!important}
}
@media(max-width:699px){
 body[data-page="services"] .services-heading.compact-heading{padding-top:calc(var(--hero-header-height,74px) + 24px)!important}
}
