/* Expansional Balance — Egyptian visual + motion layer (homepage)
   Draft implementation. Motion is progressive enhancement and fully disabled
   for users who prefer reduced motion. */

:root{
  --eb-motion-ease:cubic-bezier(.22,.61,.36,1);
  --eb-motion-slow:cubic-bezier(.16,1,.3,1);
  --eb-monument:"Cinzel",Georgia,serif;
}

/* Typography hierarchy inspired by Ayman's vintage anatomical references.
   Monument = titles/architecture, Editorial = philosophy/quotes, UI = reading/navigation. */
.eb-page h1,
.eb-page-hero h1,
.eb-home-hero h1,
.eb-section-heading h2,
.eb-service-row h2,
.eb-cta-band h2,
.eb-book-options h2,
.eb-contact-grid h2{
  font-family:var(--eb-monument);
  font-weight:600;
  letter-spacing:-.025em;
}

.eb-page .eb-kicker,
.eb-page .eb-section-index,
.eb-page .eb-service-number,
.eb-page .eb-process__number,
.eb-home-hero__footer{
  font-family:var(--eb-monument);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.eb-home-service-grid h3,
.eb-architecture-grid h3,
.eb-process h3{
  font-family:var(--eb-monument);
  font-weight:600;
  letter-spacing:-.01em;
}

.eb-richtext h2,
.eb-statement blockquote,
.eb-home-ayman h2{
  font-family:var(--eb-display);
  font-weight:500;
  letter-spacing:-.03em;
}

.eb-richtext p,
.eb-lead,
.eb-page li,
.eb-page .eb-button,
.eb-page .eb-text-link{
  font-family:var(--eb-ui);
}

/* --- Cinematic hero ------------------------------------------------------ */
.eb-home-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 28%,rgba(169,133,71,.16),transparent 26%),
    radial-gradient(circle at 12% 82%,rgba(198,164,126,.08),transparent 30%),
    linear-gradient(135deg,#090908 0%,#0d0c09 56%,#151109 100%);
  color:var(--eb-papyrus);
  border-bottom-color:rgba(242,233,216,.14);
}

.eb-home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.11;
  background:
    linear-gradient(90deg,transparent 0 5%,rgba(198,164,126,.16) 5% 5.08%,transparent 5.08% 95%,rgba(198,164,126,.16) 95% 95.08%,transparent 95.08%),
    repeating-linear-gradient(0deg,transparent 0 46px,rgba(198,164,126,.045) 46px 47px);
}

.eb-home-hero::after{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  pointer-events:none;
  border:1px solid rgba(169,133,71,.18);
}

.eb-home-hero h1{
  color:var(--eb-papyrus);
  font-family:var(--eb-monument);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:.9;
}
.eb-home-hero .eb-kicker{
  color:#c9a768;
  font-family:var(--eb-monument);
  font-weight:600;
  letter-spacing:.16em;
}
.eb-home-hero .eb-lead{color:rgba(242,233,216,.76)}
.eb-home-hero .eb-text-link{color:var(--eb-papyrus)!important;border-color:rgba(242,233,216,.55)}
.eb-home-hero .eb-text-link:hover{color:#d7b777!important;border-color:#d7b777}

.eb-home .eb-section-index,
.eb-home .eb-service-number,
.eb-home .eb-process__number,
.eb-home-hero__footer{
  font-family:var(--eb-monument);
  font-weight:600;
  letter-spacing:.12em;
}

.eb-home .eb-home-service-grid h3,
.eb-home .eb-architecture-grid h3{
  font-family:var(--eb-monument);
  font-weight:600;
  letter-spacing:-.015em;
}

.eb-home-hero .eb-button--dark{
  background:#b89555;
  border-color:#b89555;
  color:#0b0b0a!important;
}
.eb-home-hero .eb-button--dark:hover{
  background:#d2b574;
  border-color:#d2b574;
  color:#0b0b0a!important;
}

.eb-home-hero__grid,
.eb-home-hero__footer{
  position:relative;
  z-index:2;
}

.eb-home-hero__footer{
  border-top-color:rgba(242,233,216,.15);
  color:rgba(242,233,216,.58);
}

.eb-home-hero__image{
  align-self:stretch;
  min-height:650px;
  margin:34px 0;
  border:1px solid rgba(198,164,126,.38);
  clip-path:polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}

.eb-home-hero__image::before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(198,164,126,.34);
  clip-path:polygon(7% 0,100% 0,100% 93%,93% 100%,0 100%,0 7%);
}

.eb-home-hero__image::after{
  right:-18%;
  top:8%;
  width:78%;
  border-color:rgba(198,164,126,.42);
}

.eb-home-hero__image img{
  filter:saturate(.74) contrast(1.04) brightness(.9);
  transform:scale(1.01);
}

/* Decorative SVG world behind the hero. */
.eb-egyptian-hero-art{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
}

.eb-egyptian-hero-art svg{width:100%;height:100%;display:block}
.eb-egyptian-hero-art .eb-art-line{
  fill:none;
  stroke:#b89555;
  stroke-width:1.2;
  vector-effect:non-scaling-stroke;
  opacity:.44;
}
.eb-egyptian-hero-art .eb-art-soft{opacity:.18}
.eb-egyptian-hero-art .eb-art-sun{
  fill:rgba(169,133,71,.09);
  stroke:rgba(198,164,126,.42);
  stroke-width:1;
}
.eb-egyptian-hero-art .eb-art-relief{
  fill:none;
  stroke:rgba(198,164,126,.34);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}

/* Hero entrance. Initial states only exist when JS has confirmed motion. */
.eb-motion-enabled .eb-home-hero:not(.is-entered) .eb-home-hero__copy>*{
  opacity:0;
  transform:translate3d(0,24px,0);
}
.eb-motion-enabled .eb-home-hero .eb-home-hero__copy>*{
  transition:opacity .72s var(--eb-motion-ease),transform .9s var(--eb-motion-slow);
}
.eb-motion-enabled .eb-home-hero .eb-home-hero__copy>*:nth-child(1){transition-delay:.34s}
.eb-motion-enabled .eb-home-hero .eb-home-hero__copy>*:nth-child(2){transition-delay:.46s}
.eb-motion-enabled .eb-home-hero .eb-home-hero__copy>*:nth-child(3){transition-delay:.62s}
.eb-motion-enabled .eb-home-hero .eb-home-hero__copy>*:nth-child(4){transition-delay:.76s}

.eb-motion-enabled .eb-home-hero:not(.is-entered) .eb-home-hero__image{
  opacity:0;
  clip-path:polygon(8% 0,8% 0,8% 92%,8% 100%,0 100%,0 8%);
  transform:translate3d(18px,0,0);
}
.eb-motion-enabled .eb-home-hero .eb-home-hero__image{
  transition:opacity .65s ease .28s,clip-path 1.25s var(--eb-motion-slow) .28s,transform 1.15s var(--eb-motion-slow) .28s;
}

.eb-motion-enabled .eb-egyptian-hero-art .eb-art-draw{
  stroke-dasharray:1600;
  stroke-dashoffset:1600;
  transition:stroke-dashoffset 1.65s var(--eb-motion-slow) .12s;
}
.eb-motion-enabled .eb-home-hero.is-entered .eb-egyptian-hero-art .eb-art-draw{stroke-dashoffset:0}
.eb-motion-enabled .eb-egyptian-hero-art .eb-art-sun{
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  transform:scale(.72);
  transition:opacity 1.1s ease .25s,transform 1.55s var(--eb-motion-slow) .25s;
}
.eb-motion-enabled .eb-home-hero.is-entered .eb-egyptian-hero-art .eb-art-sun{opacity:1;transform:scale(1)}

/* --- Egyptian divider system -------------------------------------------- */
.eb-egyptian-divider{
  height:72px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:var(--eb-papyrus);
}
.eb-section-dark + .eb-egyptian-divider,
.eb-egyptian-divider.eb-divider--dark{background:var(--eb-obsidian)}
.eb-egyptian-divider svg{width:min(560px,72vw);height:46px;overflow:visible}
.eb-egyptian-divider .eb-divider-line,
.eb-egyptian-divider .eb-divider-mark{
  fill:none;
  stroke:#9a753c;
  stroke-width:1.25;
  vector-effect:non-scaling-stroke;
}
.eb-egyptian-divider .eb-divider-line{
  stroke-dasharray:520;
  stroke-dashoffset:520;
}
.eb-egyptian-divider .eb-divider-mark{
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  transform:scale(.78);
}
.eb-egyptian-divider.is-visible .eb-divider-line{
  animation:ebDrawDivider .9s var(--eb-motion-slow) forwards;
}
.eb-egyptian-divider.is-visible .eb-divider-mark{
  animation:ebRevealMark .6s var(--eb-motion-slow) .38s forwards;
}
@keyframes ebDrawDivider{to{stroke-dashoffset:0}}
@keyframes ebRevealMark{to{opacity:1;transform:scale(1)}}

/* --- Section depth + scroll reveals ------------------------------------- */
.eb-home .eb-section,
.eb-home .eb-cta-band{position:relative;isolation:isolate}

.eb-home-architecture{
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 22%,rgba(169,133,71,.09),transparent 24%),
    #0b0b0a;
}
.eb-home-architecture::before{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  top:-58px;
  height:210px;
  z-index:-1;
  opacity:.16;
  transform:translate3d(0,var(--eb-parallax-y,0px),0);
  background:
    linear-gradient(90deg,transparent 0 3%,rgba(198,164,126,.75) 3% 3.15%,transparent 3.15% 7%,rgba(198,164,126,.75) 7% 7.15%,transparent 7.15% 100%),
    repeating-linear-gradient(90deg,transparent 0 34px,rgba(198,164,126,.18) 34px 35px),
    linear-gradient(0deg,transparent 0 56%,rgba(198,164,126,.5) 56% 56.6%,transparent 56.6%);
  border-top:1px solid rgba(198,164,126,.32);
  border-bottom:1px solid rgba(198,164,126,.26);
}

.eb-home-architecture::after{
  content:"";
  position:absolute;
  width:min(620px,58vw);
  aspect-ratio:1;
  right:-12%;
  bottom:-58%;
  z-index:-1;
  border:1px solid rgba(169,133,71,.19);
  border-radius:50%;
}

.eb-home-architecture .eb-architecture-grid>div{
  position:relative;
  overflow:hidden;
  transition:background-color .35s ease,transform .45s var(--eb-motion-ease);
}
.eb-home-architecture .eb-architecture-grid>div::before{
  content:"";
  position:absolute;
  width:76px;
  height:76px;
  right:20px;
  top:18px;
  opacity:.16;
  border:1px solid var(--eb-gold);
  transform:rotate(45deg);
}
.eb-home-architecture .eb-architecture-grid>div:nth-child(2)::before{border-radius:50%;transform:none}
.eb-home-architecture .eb-architecture-grid>div:nth-child(3)::before{border-radius:50% 50% 0 0;transform:none;height:60px}
.eb-home-architecture .eb-architecture-grid>div:nth-child(4)::before{transform:rotate(45deg) scale(.72);box-shadow:18px 18px 0 rgba(169,133,71,.22)}
.eb-home-architecture .eb-architecture-grid>div:hover{
  background:rgba(169,133,71,.07);
  transform:translate3d(0,-4px,0);
}

/* Service cards receive a restrained symbolic glow. */
.eb-home-service-grid article{
  position:relative;
  overflow:hidden;
  transition:transform .42s var(--eb-motion-ease),background-color .35s ease;
}
.eb-home-service-grid article::before{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-55px;
  top:-58px;
  border:1px solid rgba(169,133,71,.28);
  transform:rotate(45deg);
  transition:transform .7s var(--eb-motion-slow),opacity .35s ease;
}
.eb-home-service-grid article:nth-child(2)::before{border-radius:50%;transform:none}
.eb-home-service-grid article:nth-child(3)::before{border-radius:50%;transform:scale(.78);box-shadow:0 0 0 18px rgba(169,133,71,.05)}
.eb-home-service-grid article:hover{
  transform:translate3d(0,-5px,0);
  background:rgba(169,133,71,.045);
}
.eb-home-service-grid article:hover::before{transform:rotate(45deg) scale(1.08);opacity:.75}
.eb-home-service-grid article:nth-child(2):hover::before{transform:scale(1.08)}
.eb-home-service-grid article:nth-child(3):hover::before{transform:scale(.9)}

/* Architectural image reveal language. */
.eb-home .eb-media{
  box-shadow:0 22px 58px rgba(11,11,10,.12);
}
.eb-home .eb-media::before{
  content:"";
  position:absolute;
  inset:10px;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(169,133,71,.34);
}
.eb-home .eb-media img{transition:transform .9s var(--eb-motion-slow),filter .5s ease}
.eb-home .eb-media:hover img{transform:scale(1.025);filter:saturate(.86) contrast(1.02)}

/* Ayman section: tall ceremonial frame. */
.eb-home-ayman .eb-media--portrait{
  clip-path:polygon(9% 0,91% 0,100% 8%,100% 100%,0 100%,0 8%);
}
.eb-home-ayman .eb-media--portrait::after{
  content:"";
  position:absolute;
  width:42%;
  aspect-ratio:1;
  right:-12%;
  bottom:-10%;
  border:1px solid rgba(169,133,71,.36);
  border-radius:50%;
}

/* Location visual becomes a practitioner portrait rather than repeated location text. */
.eb-home-location .eb-location-mark{
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(169,133,71,.08),transparent 58%),
    var(--eb-papyrus);
}
.eb-home-location .eb-location-mark::before{
  width:60%;
  border-color:rgba(169,133,71,.58);
  z-index:2;
}
.eb-home-location .eb-location-mark img{
  position:relative;
  z-index:1;
  display:block;
  width:60%;
  aspect-ratio:1;
  border-radius:50%;
  object-fit:cover;
  object-position:center 24%;
  filter:grayscale(1) sepia(.12) contrast(1.06);
  transform:scale(.985);
  box-shadow:0 18px 48px rgba(11,11,10,.13);
}
.eb-motion-enabled .eb-home-location .eb-location-mark img{
  transition:transform 1.1s var(--eb-motion-slow),filter .6s ease;
}
.eb-home-location .eb-location-mark:hover img{
  transform:scale(1.025);
  filter:grayscale(1) sepia(.08) contrast(1.09);
}

/* CTA trace microinteraction. */
.eb-home .eb-button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.eb-home .eb-button::before{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid currentColor;
  opacity:0;
  transform:scaleX(.88);
  transition:opacity .25s ease,transform .42s var(--eb-motion-ease);
  pointer-events:none;
}
.eb-home .eb-button:hover::before{opacity:.38;transform:scaleX(1)}
.eb-home .eb-button span{transition:transform .3s var(--eb-motion-ease)}
.eb-home .eb-button:hover span{transform:translateX(4px)}

/* Viewport reveals. */
.eb-motion-enabled .eb-reveal-section>.eb-container{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .72s ease,transform .9s var(--eb-motion-slow);
}
.eb-motion-enabled .eb-reveal-section.is-visible>.eb-container{opacity:1;transform:none}

/* Mobile keeps the spectacle but removes heavy spatial movement. */
@media(max-width:849px){
  .eb-home-hero::after{inset:10px}
  .eb-home-hero__image{margin:0 0 34px;min-height:560px}
  .eb-egyptian-hero-art{opacity:.72}
  .eb-home-architecture::before{height:160px;top:-36px}
}
@media(max-width:549px){
  .eb-home-hero{background:linear-gradient(155deg,#090908 0%,#121008 100%)}
  .eb-home-hero::before{opacity:.07}
  .eb-home-hero::after{inset:7px}
  .eb-home-hero__image{min-height:470px;clip-path:polygon(8% 0,100% 0,100% 94%,94% 100%,0 100%,0 8%)}
  .eb-home-hero__image img{object-position:58% center}
  .eb-egyptian-hero-art .eb-art-soft{display:none}
  .eb-egyptian-divider{height:56px}
  .eb-egyptian-divider svg{width:84vw}
  .eb-home-service-grid article:hover,
  .eb-home-architecture .eb-architecture-grid>div:hover{transform:none}
}

/* --- Rolfing: structural / monumental inner-page system ---------------- */
.eb-rolfing-page .eb-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 22%,rgba(169,133,71,.15),transparent 24%),
    linear-gradient(138deg,#090908 0%,#0f0d09 64%,#171209 100%);
  color:var(--eb-papyrus);
  border-bottom-color:rgba(242,233,216,.14);
}
.eb-rolfing-page .eb-page-hero::before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  pointer-events:none;
  border:1px solid rgba(169,133,71,.18);
}
.eb-rolfing-page .eb-page-hero h1{color:var(--eb-papyrus)}
.eb-rolfing-page .eb-page-hero .eb-kicker{color:#caa96d}
.eb-rolfing-page .eb-page-hero .eb-lead{color:rgba(242,233,216,.76)}
.eb-rolfing-page .eb-page-hero__split{
  position:relative;
  z-index:2;
  min-height:650px;
}
.eb-rolfing-page .eb-page-hero .eb-media{
  aspect-ratio:4/5;
  max-height:670px;
  border:1px solid rgba(198,164,126,.4);
  clip-path:polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}
.eb-rolfing-page .eb-page-hero .eb-media::before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(198,164,126,.32);
  clip-path:polygon(7% 0,100% 0,100% 93%,93% 100%,0 100%,0 7%);
}
.eb-rolfing-page .eb-page-hero .eb-media img{
  object-position:center 42%;
  filter:saturate(.72) contrast(1.05) brightness(.88);
}
.eb-rolfing-hero-art{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.eb-rolfing-hero-art svg{display:block;width:100%;height:100%}
.eb-r-line,.eb-r-grid{
  fill:none;
  stroke:#b89555;
  stroke-width:1.1;
  vector-effect:non-scaling-stroke;
  opacity:.42;
}
.eb-r-grid{stroke:rgba(198,164,126,.42)}
.eb-r-soft{opacity:.17}
.eb-r-sun{
  fill:rgba(169,133,71,.08);
  stroke:rgba(198,164,126,.42);
  stroke-width:1;
  transform-box:fill-box;
  transform-origin:center;
}
.eb-motion-enabled .eb-rolfing-page .eb-page-hero:not(.is-entered) .eb-r-draw{
  stroke-dasharray:1800;
  stroke-dashoffset:1800;
}
.eb-motion-enabled .eb-rolfing-page .eb-r-draw{
  transition:stroke-dashoffset 1.55s var(--eb-motion-slow) .08s;
}
.eb-motion-enabled .eb-rolfing-page .eb-page-hero.is-entered .eb-r-draw{stroke-dashoffset:0}
.eb-motion-enabled .eb-rolfing-page .eb-page-hero:not(.is-entered) .eb-r-sun{
  opacity:0;
  transform:scale(.72);
}
.eb-motion-enabled .eb-rolfing-page .eb-r-sun{
  transition:opacity 1s ease .2s,transform 1.4s var(--eb-motion-slow) .2s;
}
.eb-motion-enabled .eb-rolfing-page .eb-page-hero.is-entered .eb-r-sun{opacity:1;transform:scale(1)}

/* Human-proportion grid atmosphere on the opening reading section. */
.eb-rolfing-page>.eb-section:nth-of-type(2){
  background:
    linear-gradient(90deg,transparent 0 8%,rgba(169,133,71,.055) 8% 8.08%,transparent 8.08% 92%,rgba(169,133,71,.055) 92% 92.08%,transparent 92.08%),
    repeating-linear-gradient(0deg,transparent 0 56px,rgba(11,11,10,.027) 56px 57px),
    var(--eb-papyrus);
}

/* Dark structure cards feel like carved architectural panels. */
.eb-rolfing-page .eb-section-dark{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 87% 16%,rgba(169,133,71,.09),transparent 22%),
    #0b0b0a;
}
.eb-rolfing-page .eb-section-dark::before{
  content:"";
  position:absolute;
  width:min(580px,52vw);
  aspect-ratio:1;
  right:-16%;
  bottom:-48%;
  border:1px solid rgba(169,133,71,.18);
  border-radius:50%;
}
.eb-rolfing-page .eb-section-dark .eb-architecture-grid>div{
  position:relative;
  overflow:hidden;
  transition:background-color .35s ease,transform .45s var(--eb-motion-ease);
}
.eb-rolfing-page .eb-section-dark .eb-architecture-grid>div::after{
  content:"";
  position:absolute;
  width:78px;
  height:78px;
  right:20px;
  top:20px;
  border:1px solid rgba(169,133,71,.22);
  transform:rotate(45deg);
}
.eb-rolfing-page .eb-section-dark .eb-architecture-grid>div:nth-child(2)::after{border-radius:50%;transform:none}
.eb-rolfing-page .eb-section-dark .eb-architecture-grid>div:nth-child(3)::after{height:58px;border-radius:50% 50% 0 0;transform:none}
.eb-rolfing-page .eb-section-dark .eb-architecture-grid>div:hover{
  background:rgba(169,133,71,.07);
  transform:translateY(-4px);
}

/* The aim section uses manuscript/editorial contrast. */
.eb-rolfing-page>.eb-section:nth-last-of-type(1) .eb-richtext h2{
  font-family:var(--eb-display);
  font-style:italic;
  font-weight:500;
}
.eb-rolfing-page>.eb-section:nth-last-of-type(1) .eb-media{
  border:1px solid rgba(169,133,71,.32);
  clip-path:polygon(0 0,92% 0,100% 10%,100% 100%,8% 100%,0 90%);
}

/* Animated structural dividers. */
.eb-r-divider{
  height:68px;
  display:grid;
  place-items:center;
  background:var(--eb-papyrus);
  overflow:hidden;
}
.eb-section-dark + .eb-r-divider{background:var(--eb-obsidian)}
.eb-r-divider svg{width:min(560px,72vw);height:46px;overflow:visible}
.eb-r-divider-line,.eb-r-divider-mark{
  fill:none;
  stroke:#98733b;
  stroke-width:1.2;
  vector-effect:non-scaling-stroke;
}
.eb-r-divider-line{stroke-dasharray:520;stroke-dashoffset:520}
.eb-r-divider-mark{
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  transform:scale(.8);
}
.eb-r-divider.is-visible .eb-r-divider-line{animation:ebRDraw .9s var(--eb-motion-slow) forwards}
.eb-r-divider.is-visible .eb-r-divider-mark{animation:ebRMark .55s var(--eb-motion-slow) .38s forwards}
@keyframes ebRDraw{to{stroke-dashoffset:0}}
@keyframes ebRMark{to{opacity:1;transform:scale(1)}}

/* Restrained section entrance motion. */
.eb-motion-enabled .eb-rolfing-page .eb-r-reveal{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:opacity .7s ease,transform .9s var(--eb-motion-slow);
}
.eb-motion-enabled .eb-rolfing-page .eb-r-reveal.is-visible{opacity:1;transform:none}
.eb-motion-enabled .eb-rolfing-page .eb-page-hero__split.eb-r-reveal{transition-delay:.12s}

@media(max-width:849px){
  .eb-rolfing-page .eb-page-hero::before{inset:10px}
  .eb-rolfing-page .eb-page-hero__split{min-height:auto}
  .eb-rolfing-page .eb-page-hero .eb-media{aspect-ratio:4/5;max-height:720px}
  .eb-rolfing-hero-art{opacity:.72}
}
@media(max-width:549px){
  .eb-rolfing-page .eb-page-hero::before{inset:7px}
  .eb-rolfing-page .eb-page-hero .eb-media{max-height:560px}
  .eb-r-divider{height:54px}
  .eb-r-divider svg{width:84vw}
  .eb-rolfing-page .eb-section-dark .eb-architecture-grid>div:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .eb-motion-enabled .eb-rolfing-page .eb-r-reveal,
  .eb-r-divider-line,.eb-r-divider-mark,.eb-r-draw,.eb-r-sun{
    transition:none!important;
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    stroke-dashoffset:0!important;
  }
}

/* --- Movement Integration: awareness / expansion / flow ---------------- */
.eb-movement-page .eb-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 81% 24%,rgba(169,133,71,.17),transparent 25%),
    linear-gradient(140deg,#090908 0%,#0d0d0b 57%,#11140f 100%);
  color:var(--eb-papyrus);
  border-bottom-color:rgba(242,233,216,.14);
}
.eb-movement-page .eb-page-hero::before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  border:1px solid rgba(169,133,71,.18);
  pointer-events:none;
}
.eb-movement-page .eb-page-hero h1{color:var(--eb-papyrus)}
.eb-movement-page .eb-page-hero .eb-kicker{color:#c9aa6c}
.eb-movement-page .eb-page-hero .eb-lead{color:rgba(242,233,216,.75)}
.eb-movement-page .eb-page-hero__split{position:relative;z-index:2;min-height:660px}
.eb-movement-page .eb-page-hero .eb-media{
  max-height:680px;
  border:1px solid rgba(198,164,126,.36);
  clip-path:polygon(0 7%,7% 0,93% 0,100% 7%,100% 93%,93% 100%,7% 100%,0 93%);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}
.eb-movement-page .eb-page-hero .eb-media::before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  border:1px solid rgba(198,164,126,.3);
  clip-path:inherit;
  pointer-events:none;
}
.eb-movement-page .eb-page-hero .eb-media img{
  object-position:center 42%;
  filter:saturate(.78) contrast(1.03) brightness(.9);
}

.eb-movement-hero-art{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.eb-movement-hero-art svg{width:100%;height:100%;display:block}
.eb-mv-line,.eb-mv-eye{
  fill:none;
  stroke:#b89555;
  stroke-width:1.15;
  vector-effect:non-scaling-stroke;
  opacity:.42;
}
.eb-mv-soft{opacity:.17}
.eb-mv-sun{
  fill:none;
  stroke:rgba(198,164,126,.42);
  stroke-width:1;
  transform-box:fill-box;
  transform-origin:center;
}
.eb-mv-sun--core{fill:rgba(169,133,71,.11)}
.eb-motion-enabled .eb-movement-page .eb-page-hero:not(.is-entered) .eb-mv-draw{
  stroke-dasharray:1700;
  stroke-dashoffset:1700;
}
.eb-motion-enabled .eb-movement-page .eb-mv-draw{
  transition:stroke-dashoffset 1.55s var(--eb-motion-slow) .08s;
}
.eb-motion-enabled .eb-movement-page .eb-page-hero.is-entered .eb-mv-draw{stroke-dashoffset:0}
.eb-motion-enabled .eb-movement-page .eb-page-hero:not(.is-entered) .eb-mv-sun{opacity:0;transform:scale(.66)}
.eb-motion-enabled .eb-movement-page .eb-mv-sun--outer{transition:opacity 1s ease .2s,transform 1.7s var(--eb-motion-slow) .2s}
.eb-motion-enabled .eb-movement-page .eb-mv-sun--mid{transition:opacity 1s ease .36s,transform 1.55s var(--eb-motion-slow) .36s}
.eb-motion-enabled .eb-movement-page .eb-mv-sun--core{transition:opacity 1s ease .52s,transform 1.4s var(--eb-motion-slow) .52s}
.eb-motion-enabled .eb-movement-page .eb-page-hero.is-entered .eb-mv-sun{opacity:1;transform:scale(1)}

/* Awareness section: softer geometry and open space. */
.eb-movement-page>.eb-section:nth-of-type(2){
  background:
    radial-gradient(circle at 12% 24%,rgba(169,133,71,.055),transparent 20%),
    repeating-radial-gradient(circle at 8% 52%,transparent 0 52px,rgba(169,133,71,.035) 52px 53px,transparent 53px 98px),
    var(--eb-papyrus);
}

/* Choice statement: the expanding sun becomes a kinetic focal point. */
.eb-movement-page .eb-statement{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 42%,rgba(169,133,71,.11),transparent 30%),
    #0b0b0a;
}
.eb-expansion-orbit{
  position:absolute;
  right:-7%;
  top:50%;
  width:min(620px,48vw);
  aspect-ratio:1;
  transform:translateY(-50%);
  z-index:-1;
  pointer-events:none;
}
.eb-expansion-orbit span{
  position:absolute;
  inset:50%;
  border:1px solid rgba(169,133,71,.24);
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.35);
  opacity:0;
}
.eb-expansion-orbit span:nth-child(1){width:34%;height:34%}
.eb-expansion-orbit span:nth-child(2){width:62%;height:62%}
.eb-expansion-orbit span:nth-child(3){width:92%;height:92%}
.eb-motion-enabled .eb-statement.is-visible .eb-expansion-orbit span:nth-child(1){animation:ebOrbitGrow 1.1s var(--eb-motion-slow) .05s forwards}
.eb-motion-enabled .eb-statement.is-visible .eb-expansion-orbit span:nth-child(2){animation:ebOrbitGrow 1.25s var(--eb-motion-slow) .22s forwards}
.eb-motion-enabled .eb-statement.is-visible .eb-expansion-orbit span:nth-child(3){animation:ebOrbitGrow 1.4s var(--eb-motion-slow) .4s forwards}
@keyframes ebOrbitGrow{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

.eb-movement-page .eb-statement blockquote{
  position:relative;
  max-width:980px;
  font-family:var(--eb-display);
  font-style:italic;
  z-index:2;
}

/* Exploration imagery: flowing architectural mask. */
.eb-movement-page>.eb-section:nth-of-type(4) .eb-media{
  border:1px solid rgba(169,133,71,.3);
  clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,12% 100%,0 88%);
}
.eb-movement-page>.eb-section:nth-of-type(4) .eb-media img{
  filter:saturate(.82) contrast(1.01);
  transition:transform .9s var(--eb-motion-slow);
}
.eb-movement-page>.eb-section:nth-of-type(4) .eb-media:hover img{transform:scale(1.025)}

/* Possibilities list becomes a quieter manuscript/grid field. */
.eb-movement-page>.eb-section:nth-of-type(5){
  background:
    linear-gradient(90deg,transparent 0 9%,rgba(169,133,71,.05) 9% 9.08%,transparent 9.08% 91%,rgba(169,133,71,.05) 91% 91.08%,transparent 91.08%),
    var(--eb-papyrus);
}
.eb-movement-page .eb-checklist li{transition:padding-left .28s var(--eb-motion-ease),background-color .28s ease}
.eb-movement-page .eb-checklist li:hover{padding-left:30px;background:rgba(169,133,71,.04)}

/* Restrained reveals preserve clarity. */
.eb-motion-enabled .eb-movement-page .eb-mv-reveal{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .72s ease,transform .95s var(--eb-motion-slow);
}
.eb-motion-enabled .eb-movement-page .eb-mv-reveal.is-visible{opacity:1;transform:none}

@media(max-width:849px){
  .eb-movement-page .eb-page-hero::before{inset:10px}
  .eb-movement-page .eb-page-hero__split{min-height:auto}
  .eb-movement-page .eb-page-hero .eb-media{max-height:720px}
  .eb-movement-hero-art{opacity:.72}
  .eb-expansion-orbit{right:-24%;width:72vw}
}
@media(max-width:549px){
  .eb-movement-page .eb-page-hero::before{inset:7px}
  .eb-movement-page .eb-page-hero .eb-media{max-height:560px}
  .eb-expansion-orbit{right:-46%;width:100vw;opacity:.7}
  .eb-movement-page .eb-checklist li:hover{padding-left:24px;background:transparent}
}

@media(prefers-reduced-motion:reduce){
  .eb-motion-enabled .eb-movement-page .eb-mv-reveal,
  .eb-mv-draw,.eb-mv-sun,.eb-expansion-orbit span,
  .eb-movement-page>.eb-section:nth-of-type(4) .eb-media img{
    transition:none!important;
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    stroke-dashoffset:0!important;
  }
}

/* --- Movement Therapy & Rehabilitation: clinical / grounded ---------- */
.eb-rehab-page .eb-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 28%,rgba(169,133,71,.09),transparent 24%),
    linear-gradient(140deg,#0a0b0a 0%,#11110f 62%,#17150f 100%);
  color:var(--eb-papyrus);
  border-bottom-color:rgba(242,233,216,.13);
}
.eb-rehab-page .eb-page-hero::before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  border:1px solid rgba(169,133,71,.15);
  pointer-events:none;
}
.eb-rehab-page .eb-page-hero h1{color:var(--eb-papyrus)}
.eb-rehab-page .eb-page-hero .eb-kicker{color:#c2a267}
.eb-rehab-page .eb-page-hero .eb-lead{color:rgba(242,233,216,.74)}
.eb-rehab-page .eb-page-hero__split{position:relative;z-index:2;min-height:650px}
.eb-rehab-page .eb-page-hero .eb-media{
  max-height:670px;
  border:1px solid rgba(198,164,126,.3);
  clip-path:polygon(0 0,94% 0,100% 6%,100% 100%,6% 100%,0 94%);
  box-shadow:0 28px 72px rgba(0,0,0,.35);
}
.eb-rehab-page .eb-page-hero .eb-media::before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  border:1px solid rgba(198,164,126,.24);
  clip-path:inherit;
  pointer-events:none;
}
.eb-rehab-page .eb-page-hero .eb-media img{
  object-position:center 45%;
  filter:saturate(.68) contrast(1.05) brightness(.9);
}

.eb-rehab-hero-art{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.eb-rehab-hero-art svg{display:block;width:100%;height:100%}
.eb-rh-line,.eb-rh-axis,.eb-rh-bracket{
  fill:none;
  stroke:#b89555;
  stroke-width:1.05;
  vector-effect:non-scaling-stroke;
  opacity:.32;
}
.eb-rh-axis{opacity:.43}
.eb-rh-bracket{opacity:.28}
.eb-rh-soft{opacity:.13}
.eb-rh-ring{
  fill:none;
  stroke:rgba(198,164,126,.34);
  stroke-width:1;
  transform-box:fill-box;
  transform-origin:center;
}
.eb-motion-enabled .eb-rehab-page .eb-page-hero:not(.is-entered) .eb-rh-draw{
  stroke-dasharray:1500;
  stroke-dashoffset:1500;
}
.eb-motion-enabled .eb-rehab-page .eb-rh-draw{
  transition:stroke-dashoffset 1.45s var(--eb-motion-slow) .08s;
}
.eb-motion-enabled .eb-rehab-page .eb-page-hero.is-entered .eb-rh-draw{stroke-dashoffset:0}
.eb-motion-enabled .eb-rehab-page .eb-page-hero:not(.is-entered) .eb-rh-ring{
  opacity:0;
  transform:scale(.78);
}
.eb-motion-enabled .eb-rehab-page .eb-rh-ring{
  transition:opacity .9s ease .25s,transform 1.15s var(--eb-motion-slow) .25s;
}
.eb-motion-enabled .eb-rehab-page .eb-page-hero.is-entered .eb-rh-ring{opacity:1;transform:scale(1)}

/* Assessment = measured, calm, evidence-informed. */
.eb-rehab-page>.eb-section:nth-of-type(2){
  background:
    linear-gradient(90deg,transparent 0 7%,rgba(169,133,71,.045) 7% 7.06%,transparent 7.06% 93%,rgba(169,133,71,.045) 93% 93.06%,transparent 93.06%),
    repeating-linear-gradient(0deg,transparent 0 68px,rgba(11,11,10,.025) 68px 69px),
    var(--eb-papyrus);
}
.eb-rehab-page>.eb-section:nth-of-type(2) .eb-reading-layout>div:first-child{
  position:relative;
}
.eb-rehab-page>.eb-section:nth-of-type(2) .eb-reading-layout>div:first-child::after{
  content:"";
  display:block;
  width:72px;
  height:1px;
  margin-top:28px;
  background:#a98547;
}

/* Clinical pillars: modular panels, less ornament than Rolfing. */
.eb-rehab-page .eb-section-dark{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(169,133,71,.035) 1px,transparent 1px),
    linear-gradient(rgba(169,133,71,.035) 1px,transparent 1px),
    #0b0b0a;
  background-size:64px 64px;
}
.eb-rehab-page .eb-section-dark .eb-architecture-grid>div{
  position:relative;
  background:rgba(255,255,255,.012);
  border:1px solid rgba(198,164,126,.13);
  transition:border-color .28s ease,background-color .28s ease,transform .38s var(--eb-motion-ease);
}
.eb-rehab-page .eb-section-dark .eb-architecture-grid>div::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:54px;
  height:2px;
  background:#a98547;
}
.eb-rehab-page .eb-section-dark .eb-architecture-grid>div:hover{
  border-color:rgba(198,164,126,.3);
  background:rgba(169,133,71,.045);
  transform:translateY(-3px);
}

/* Goals: functional, editorial and easy to scan. */
.eb-rehab-page>.eb-section:nth-of-type(4) .eb-media{
  border:1px solid rgba(169,133,71,.28);
  clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,0 100%);
}
.eb-rehab-page>.eb-section:nth-of-type(4) .eb-media::after{
  content:"";
  position:absolute;
  left:14px;
  bottom:14px;
  width:54px;
  height:54px;
  border-left:1px solid rgba(169,133,71,.42);
  border-bottom:1px solid rgba(169,133,71,.42);
  pointer-events:none;
}
.eb-rehab-page>.eb-section:nth-of-type(4) .eb-checklist li{
  border-bottom:1px solid rgba(11,11,10,.08);
  padding-top:9px;
  padding-bottom:9px;
}
.eb-rehab-page>.eb-section:nth-of-type(4) .eb-checklist li:last-child{border-bottom:0}

/* Restrained reveal motion. */
.eb-motion-enabled .eb-rehab-page .eb-rh-reveal{
  opacity:0;
  transform:translate3d(0,22px,0);
  transition:opacity .68s ease,transform .85s var(--eb-motion-slow);
}
.eb-motion-enabled .eb-rehab-page .eb-rh-reveal.is-visible{opacity:1;transform:none}

@media(max-width:849px){
  .eb-rehab-page .eb-page-hero::before{inset:10px}
  .eb-rehab-page .eb-page-hero__split{min-height:auto}
  .eb-rehab-page .eb-page-hero .eb-media{max-height:720px}
  .eb-rehab-hero-art{opacity:.64}
}
@media(max-width:549px){
  .eb-rehab-page .eb-page-hero::before{inset:7px}
  .eb-rehab-page .eb-page-hero .eb-media{max-height:560px}
  .eb-rehab-page .eb-section-dark .eb-architecture-grid>div:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .eb-motion-enabled .eb-rehab-page .eb-rh-reveal,
  .eb-rh-draw,.eb-rh-ring{
    transition:none!important;
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    stroke-dashoffset:0!important;
  }
}

/* --- About Ayman: portrait / inscription / practitioner identity -------- */
.eb-about-page .eb-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 22%,rgba(169,133,71,.14),transparent 24%),
    linear-gradient(142deg,#090908 0%,#0d0c0a 62%,#151108 100%);
  color:var(--eb-papyrus);
  border-bottom-color:rgba(242,233,216,.13);
}
.eb-about-page .eb-page-hero::before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  border:1px solid rgba(169,133,71,.19);
  pointer-events:none;
}
.eb-about-page .eb-page-hero h1{color:var(--eb-papyrus)}
.eb-about-page .eb-page-hero .eb-kicker{color:#c9a96b}
.eb-about-page .eb-page-hero .eb-lead{color:rgba(242,233,216,.76)}
.eb-about-page .eb-page-hero__split{position:relative;z-index:2;min-height:680px}

/* Ceremonial portrait frame. */
.eb-about-page .eb-page-hero .eb-media{
  position:relative;
  max-height:700px;
  aspect-ratio:4/5;
  overflow:hidden;
  border:1px solid rgba(198,164,126,.42);
  clip-path:polygon(7% 0,100% 0,100% 93%,93% 100%,0 100%,0 7%);
  box-shadow:0 32px 84px rgba(0,0,0,.4);
}
.eb-about-page .eb-page-hero .eb-media::before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:3;
  border:1px solid rgba(198,164,126,.34);
  clip-path:inherit;
  pointer-events:none;
}
.eb-about-page .eb-page-hero .eb-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 26%;
  filter:saturate(.74) contrast(1.03) brightness(.9);
  transform:scale(1.025);
}
.eb-about-frame{
  position:absolute;
  inset:28px;
  z-index:4;
  pointer-events:none;
  border-left:1px solid rgba(198,164,126,.32);
  border-bottom:1px solid rgba(198,164,126,.32);
  opacity:.8;
}
.eb-about-frame::before,.eb-about-frame::after{
  content:"";
  position:absolute;
  background:#b89555;
}
.eb-about-frame::before{width:38px;height:1px;left:-1px;top:0}
.eb-about-frame::after{width:1px;height:38px;right:0;bottom:-1px}

.eb-about-hero-art{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.eb-about-hero-art svg{display:block;width:100%;height:100%}
.eb-ab-line,.eb-ab-profile{
  fill:none;
  stroke:#b89555;
  stroke-width:1.05;
  vector-effect:non-scaling-stroke;
  opacity:.34;
}
.eb-ab-profile{opacity:.28}
.eb-ab-soft{opacity:.13}
.eb-ab-sun{
  fill:rgba(169,133,71,.075);
  stroke:rgba(198,164,126,.38);
  stroke-width:1;
  transform-box:fill-box;
  transform-origin:center;
}
.eb-motion-enabled .eb-about-page .eb-page-hero:not(.is-entered) .eb-ab-draw{
  stroke-dasharray:1700;
  stroke-dashoffset:1700;
}
.eb-motion-enabled .eb-about-page .eb-ab-draw{
  transition:stroke-dashoffset 1.55s var(--eb-motion-slow) .08s;
}
.eb-motion-enabled .eb-about-page .eb-page-hero.is-entered .eb-ab-draw{stroke-dashoffset:0}
.eb-motion-enabled .eb-about-page .eb-page-hero:not(.is-entered) .eb-ab-sun{
  opacity:0;
  transform:scale(.72);
}
.eb-motion-enabled .eb-about-page .eb-ab-sun{
  transition:opacity 1s ease .26s,transform 1.45s var(--eb-motion-slow) .26s;
}
.eb-motion-enabled .eb-about-page .eb-page-hero.is-entered .eb-ab-sun{opacity:1;transform:scale(1)}

/* Philosophy: papyrus/manuscript tone with a restrained vertical inscription band. */
.eb-about-page>.eb-section:nth-of-type(2){
  background:
    linear-gradient(90deg,rgba(169,133,71,.045) 1px,transparent 1px),
    var(--eb-papyrus);
  background-size:76px 100%;
}
.eb-about-page>.eb-section:nth-of-type(2) .eb-reading-layout{
  position:relative;
}
.eb-about-page>.eb-section:nth-of-type(2) .eb-reading-layout::before{
  content:"";
  position:absolute;
  left:-34px;
  top:0;
  width:1px;
  height:100%;
  background:linear-gradient(#a98547,rgba(169,133,71,.12));
}

/* Signature quote: one of the strongest identity moments on the page. */
.eb-about-page .eb-statement{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 84% 50%,rgba(169,133,71,.1),transparent 28%),
    #0b0b0a;
}
.eb-about-page .eb-statement blockquote{
  position:relative;
  z-index:2;
  max-width:950px;
  font-family:var(--eb-display);
  font-style:italic;
}
.eb-about-quote-mark{
  position:absolute;
  right:5%;
  top:50%;
  width:min(340px,28vw);
  aspect-ratio:1;
  transform:translateY(-50%);
  opacity:.14;
  z-index:-1;
}
.eb-about-quote-mark svg{width:100%;height:100%;fill:none;stroke:#b89555;stroke-width:1.4}
.eb-motion-enabled .eb-about-page .eb-statement:not(.is-visible) .eb-about-quote-mark{
  opacity:0;
  transform:translateY(-50%) scale(.78);
}
.eb-motion-enabled .eb-about-page .eb-statement.is-visible .eb-about-quote-mark{
  transition:opacity 1s ease .25s,transform 1.2s var(--eb-motion-slow) .25s;
  opacity:.14;
  transform:translateY(-50%) scale(1);
}

/* Practice: editorial portrait, quieter than the hero. */
.eb-about-page>.eb-section:nth-of-type(4) .eb-media{
  border:1px solid rgba(169,133,71,.28);
  clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,8% 100%,0 92%);
}
.eb-about-page>.eb-section:nth-of-type(4) .eb-media img{
  filter:grayscale(1) sepia(.09) contrast(1.04);
}
.eb-about-page>.eb-section:nth-of-type(4) .eb-richtext h2{
  font-family:var(--eb-display);
  font-weight:500;
  font-style:italic;
}

/* Restrained portrait/page reveals. */
.eb-motion-enabled .eb-about-page .eb-ab-reveal{
  opacity:0;
  transform:translate3d(0,25px,0);
  transition:opacity .72s ease,transform .95s var(--eb-motion-slow);
}
.eb-motion-enabled .eb-about-page .eb-ab-reveal.is-visible{opacity:1;transform:none}
.eb-motion-enabled .eb-about-page .eb-page-hero:not(.is-entered) .eb-media{
  opacity:0;
  transform:translate3d(26px,0,0);
}
.eb-motion-enabled .eb-about-page .eb-page-hero .eb-media{
  transition:opacity .85s ease .18s,transform 1.05s var(--eb-motion-slow) .18s;
}
.eb-motion-enabled .eb-about-page .eb-page-hero.is-entered .eb-media{opacity:1;transform:none}

@media(max-width:849px){
  .eb-about-page .eb-page-hero::before{inset:10px}
  .eb-about-page .eb-page-hero__split{min-height:auto}
  .eb-about-page .eb-page-hero .eb-media{max-height:720px}
  .eb-about-hero-art{opacity:.66}
  .eb-about-quote-mark{right:-8%;width:44vw}
}
@media(max-width:549px){
  .eb-about-page .eb-page-hero::before{inset:7px}
  .eb-about-page .eb-page-hero .eb-media{max-height:570px}
  .eb-about-page>.eb-section:nth-of-type(2) .eb-reading-layout::before{display:none}
  .eb-about-quote-mark{right:-24%;width:74vw}
}

@media(prefers-reduced-motion:reduce){
  .eb-motion-enabled .eb-about-page .eb-ab-reveal,
  .eb-ab-draw,.eb-ab-sun,
  .eb-about-page .eb-page-hero .eb-media,
  .eb-about-quote-mark{
    transition:none!important;
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    stroke-dashoffset:0!important;
  }
}

/* --- Your Session: calm / papyrus / sequential ------------------------- */
.eb-session-page .eb-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 24%,rgba(169,133,71,.11),transparent 23%),
    linear-gradient(145deg,#eee4d2 0%,#f4ecdf 58%,#e8dcc7 100%);
  color:var(--eb-obsidian);
  border-bottom-color:rgba(11,11,10,.08);
}
.eb-session-page .eb-page-hero::before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  border:1px solid rgba(169,133,71,.2);
  pointer-events:none;
}
.eb-session-page .eb-page-hero__inner{
  position:relative;
  z-index:2;
  min-height:520px;
  display:flex;
  align-items:center;
}
.eb-session-page .eb-page-hero h1{max-width:980px}
.eb-session-page .eb-page-hero .eb-lead{max-width:760px;color:rgba(11,11,10,.7)}
.eb-session-page .eb-page-hero .eb-kicker{color:#8f6a34}

.eb-session-hero-art{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.eb-session-hero-art svg{display:block;width:100%;height:100%}
.eb-ss-line{
  fill:none;
  stroke:#9f7a3f;
  stroke-width:1.05;
  vector-effect:non-scaling-stroke;
  opacity:.28;
}
.eb-ss-soft{opacity:.11}
.eb-ss-sun{
  fill:rgba(169,133,71,.07);
  stroke:rgba(159,122,63,.28);
  stroke-width:1;
  transform-box:fill-box;
  transform-origin:center;
}
.eb-motion-enabled .eb-session-page .eb-page-hero:not(.is-entered) .eb-ss-draw{
  stroke-dasharray:1400;
  stroke-dashoffset:1400;
}
.eb-motion-enabled .eb-session-page .eb-ss-draw{
  transition:stroke-dashoffset 1.4s var(--eb-motion-slow) .08s;
}
.eb-motion-enabled .eb-session-page .eb-page-hero.is-entered .eb-ss-draw{stroke-dashoffset:0}
.eb-motion-enabled .eb-session-page .eb-page-hero:not(.is-entered) .eb-ss-sun{
  opacity:0;
  transform:scale(.78);
}
.eb-motion-enabled .eb-session-page .eb-ss-sun{
  transition:opacity .9s ease .22s,transform 1.25s var(--eb-motion-slow) .22s;
}
.eb-motion-enabled .eb-session-page .eb-page-hero.is-entered .eb-ss-sun{opacity:1;transform:scale(1)}

/* Four-step process reads like a measured ceremonial sequence. */
.eb-session-page .eb-process{
  position:relative;
  counter-reset:session;
}
.eb-session-page .eb-process::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:52px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(169,133,71,.38) 12%,rgba(169,133,71,.38) 88%,transparent);
}
.eb-session-page .eb-process article{
  position:relative;
  padding-top:18px;
}
.eb-session-page .eb-process article::before{
  content:"";
  position:absolute;
  top:46px;
  left:50%;
  width:11px;
  height:11px;
  border-radius:50%;
  border:1px solid #9f7a3f;
  background:var(--eb-papyrus);
  transform:translateX(-50%);
}
.eb-session-page .eb-process__number{
  font-family:var(--eb-monument);
  color:#9f7a3f;
  letter-spacing:.08em;
}
.eb-session-page .eb-process h2{
  font-family:var(--eb-monument);
  font-weight:600;
  letter-spacing:-.015em;
}
.eb-session-page .eb-process p{max-width:30ch;margin-left:auto;margin-right:auto}

/* Constant section: dark but quieter than service pages. */
.eb-session-page .eb-section-dark{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 44%,rgba(169,133,71,.07),transparent 24%),
    #0b0b0a;
}
.eb-session-page .eb-section-dark::after{
  content:"";
  position:absolute;
  right:6%;
  top:50%;
  width:min(290px,24vw);
  aspect-ratio:1;
  border:1px solid rgba(169,133,71,.15);
  border-radius:50%;
  transform:translateY(-50%);
  pointer-events:none;
}

/* Starting-point image is relational, not another hero. */
.eb-session-page>.eb-section:nth-last-of-type(1) .eb-media{
  border:1px solid rgba(169,133,71,.3);
  clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,8% 100%,0 92%);
}
.eb-session-page>.eb-section:nth-last-of-type(1) .eb-media img{
  object-position:center 42%;
  filter:saturate(.78) contrast(1.02);
}
.eb-session-page>.eb-section:nth-last-of-type(1) .eb-richtext h2{
  font-family:var(--eb-display);
  font-weight:500;
  font-style:italic;
}

/* Calm sequential reveal. */
.eb-motion-enabled .eb-session-page .eb-ss-reveal{
  opacity:0;
  transform:translate3d(0,20px,0);
  transition:opacity .66s ease,transform .82s var(--eb-motion-slow);
}
.eb-motion-enabled .eb-session-page .eb-ss-reveal.is-visible{opacity:1;transform:none}
.eb-motion-enabled .eb-session-page .eb-process article.eb-ss-reveal{
  transition-delay:calc(var(--eb-session-step) * 80ms);
}

@media(max-width:849px){
  .eb-session-page .eb-page-hero::before{inset:10px}
  .eb-session-page .eb-page-hero__inner{min-height:440px}
  .eb-session-hero-art{opacity:.64}
  .eb-session-page .eb-process::before{display:none}
  .eb-session-page .eb-process article::before{display:none}
  .eb-session-page .eb-section-dark::after{right:-10%;width:42vw}
}
@media(max-width:549px){
  .eb-session-page .eb-page-hero::before{inset:7px}
  .eb-session-page .eb-page-hero__inner{min-height:400px}
  .eb-session-page .eb-process article{text-align:left}
  .eb-session-page .eb-process p{max-width:none;margin-left:0;margin-right:0}
  .eb-session-page .eb-section-dark::after{right:-26%;width:72vw}
}

@media(prefers-reduced-motion:reduce){
  .eb-motion-enabled .eb-session-page .eb-ss-reveal,
  .eb-ss-draw,.eb-ss-sun{
    transition:none!important;
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    stroke-dashoffset:0!important;
  }
}

/* --- Remaining core pages + global Egyptian finishing system ----------- */
.eb-services-page .eb-page-hero,
.eb-contact-page .eb-page-hero,
.eb-book-page .eb-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.eb-services-page .eb-page-hero,
.eb-book-page .eb-page-hero{
  background:
    radial-gradient(circle at 82% 24%,rgba(169,133,71,.10),transparent 24%),
    linear-gradient(145deg,#eee4d2 0%,#f4ecdf 58%,#e9ddca 100%);
}
.eb-contact-page .eb-page-hero{
  background:
    radial-gradient(circle at 82% 24%,rgba(169,133,71,.14),transparent 24%),
    linear-gradient(142deg,#090908 0%,#0e0d0b 62%,#151108 100%);
  color:var(--eb-papyrus);
}
.eb-contact-page .eb-page-hero h1{color:var(--eb-papyrus)}
.eb-contact-page .eb-page-hero .eb-lead{color:rgba(242,233,216,.74)}
.eb-contact-page .eb-page-hero .eb-kicker{color:#c8a76a}
.eb-contact-page .eb-page-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);
  gap:clamp(48px,6vw,96px);
  align-items:center;
}
.eb-contact-page .eb-page-hero__inner>div:first-child{max-width:760px}
.eb-contact-hero-media{
  position:relative;
  margin:0;
  width:min(100%,430px);
  justify-self:end;
  aspect-ratio:4/5;
  overflow:hidden;
  border:1px solid rgba(169,133,71,.38);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.eb-contact-hero-media::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(242,233,216,.16);
  z-index:2;
  pointer-events:none;
}
.eb-contact-hero-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  background:linear-gradient(to top,rgba(9,9,8,.48),transparent);
  pointer-events:none;
}
.eb-contact-hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 34%;
  filter:saturate(.88) contrast(1.02);
  transform:scale(1.015);
}
.eb-services-page .eb-page-hero::before,
.eb-contact-page .eb-page-hero::before,
.eb-book-page .eb-page-hero::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(169,133,71,.18);
  pointer-events:none;
}
.eb-services-page .eb-page-hero__inner,
.eb-contact-page .eb-page-hero__inner,
.eb-book-page .eb-page-hero__inner{
  position:relative;
  z-index:2;
  min-height:480px;
  display:flex;
  align-items:center;
}

.eb-core-hero-art{position:absolute;inset:0;z-index:1;pointer-events:none}
.eb-core-hero-art svg{display:block;width:100%;height:100%}
.eb-core-line{fill:none;stroke:#a98547;stroke-width:1.1;vector-effect:non-scaling-stroke;opacity:.3}
.eb-contact-page .eb-core-line{stroke:#c4a262}
.eb-core-soft{opacity:.13}
.eb-motion-enabled .eb-page-hero:not(.is-entered) .eb-core-draw{stroke-dasharray:1500;stroke-dashoffset:1500}
.eb-motion-enabled .eb-core-draw{transition:stroke-dashoffset 1.35s var(--eb-motion-slow) .08s}
.eb-motion-enabled .eb-page-hero.is-entered .eb-core-draw{stroke-dashoffset:0}

/* Services: each service carries its own symbolic language. */
.eb-services-page .eb-service-list{display:grid;gap:0}
.eb-services-page .eb-service-row{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(11,11,10,.10);
  padding-top:54px;
  padding-bottom:54px;
}
.eb-services-page .eb-service-row:last-child{border-bottom:1px solid rgba(11,11,10,.10)}
.eb-services-page .eb-service-row::before{
  content:"";
  position:absolute;
  right:3%;
  top:50%;
  width:118px;
  aspect-ratio:1;
  transform:translateY(-50%);
  opacity:.16;
  pointer-events:none;
}
.eb-services-page .eb-service-row:nth-child(1)::before{
  border-left:1px solid #9f7a3f;
  border-bottom:1px solid #9f7a3f;
  transform:translateY(-44%) rotate(-45deg);
}
.eb-services-page .eb-service-row:nth-child(2)::before{
  background:
    linear-gradient(#9f7a3f 1px,transparent 1px),
    linear-gradient(90deg,#9f7a3f 1px,transparent 1px);
  background-size:24px 24px;
}
.eb-services-page .eb-service-row:nth-child(3)::before{
  border:1px solid #9f7a3f;
  border-radius:50%;
  box-shadow:inset 0 0 0 28px transparent,0 0 0 24px rgba(159,122,63,.25);
}
.eb-services-page .eb-service-row .eb-media{
  border:1px solid rgba(169,133,71,.28);
  clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,8% 100%,0 92%);
}
.eb-services-page .eb-service-row .eb-media img{filter:saturate(.8) contrast(1.02);transition:transform .75s var(--eb-motion-slow)}
.eb-services-page .eb-service-row:hover .eb-media img{transform:scale(1.025)}
.eb-services-page .eb-statement{
  position:relative;
  background:radial-gradient(circle at 84% 50%,rgba(169,133,71,.09),transparent 26%),#0b0b0a;
}

/* Contact: conversion cards with architectural rhythm. */
.eb-contact-page .eb-section-paper{
  background:
    linear-gradient(90deg,rgba(169,133,71,.04) 1px,transparent 1px),
    var(--eb-papyrus);
  background-size:84px 100%;
}
.eb-contact-page .eb-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.eb-contact-page .eb-contact-grid>div{
  position:relative;
  min-height:250px;
  padding:34px;
  border:1px solid rgba(11,11,10,.09);
  background:rgba(255,255,255,.2);
  transition:border-color .28s ease,transform .35s var(--eb-motion-ease),background-color .28s ease;
}
.eb-contact-page .eb-contact-grid>div::before{
  content:"";
  position:absolute;
  left:0;top:0;width:52px;height:2px;background:#a98547;
}
.eb-contact-page .eb-contact-grid>div:hover{
  border-color:rgba(169,133,71,.34);
  background:rgba(169,133,71,.035);
  transform:translateY(-3px);
}
.eb-contact-page .eb-contact-grid h2{font-family:var(--eb-monument);font-weight:600}

/* Booking: intentionally sparse, high-conversion, ceremonial. */
.eb-book-page .eb-page-hero .eb-button{margin-top:22px}
.eb-book-page .eb-book-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.eb-book-page .eb-book-options article{
  position:relative;
  padding:34px 30px 36px;
  border:1px solid rgba(11,11,10,.09);
  min-height:330px;
  background:rgba(255,255,255,.16);
  transition:transform .35s var(--eb-motion-ease),border-color .28s ease,background-color .28s ease;
}
.eb-book-page .eb-book-options article::after{
  content:"";
  position:absolute;
  right:24px;top:24px;width:56px;height:56px;
  border:1px solid rgba(169,133,71,.25);
}
.eb-book-page .eb-book-options article:nth-child(2)::after{border-radius:50%}
.eb-book-page .eb-book-options article:nth-child(3)::after{transform:rotate(45deg)}
.eb-book-page .eb-book-options article:hover{
  transform:translateY(-4px);
  border-color:rgba(169,133,71,.34);
  background:rgba(169,133,71,.035);
}
.eb-book-page .eb-section-dark{background:radial-gradient(circle at 84% 50%,rgba(169,133,71,.08),transparent 24%),#0b0b0a}

/* Header: functional first, with a restrained Egyptian edge. */
#header .header-main{border-bottom:1px solid rgba(169,133,71,.16)}
#header .header-nav-main .menu-item-176>a{
  display:inline-flex;
  align-items:center;
  width:auto;
  min-height:46px;
  background:var(--eb-teal);
  border:1px solid var(--eb-teal);
  color:var(--eb-papyrus);
  padding:0 14px 0 18px!important;
  line-height:1.15!important;
  opacity:1;
  transition:background 220ms ease,border-color 220ms ease,color 220ms ease,transform 220ms ease;
}
#header .header-nav-main .menu-item-176>a:hover{
  background:var(--eb-obsidian);
  border-color:var(--eb-obsidian);
  color:var(--eb-papyrus);
  transform:translateY(-1px);
}
#header .nav-top-link{letter-spacing:.035em}

/* QA fix: mobile/tablet off-canvas drawer stays papyrus to the viewport edge. */
#main-menu,
#main-menu .sidebar-menu{
  background:var(--eb-papyrus);
  min-height:100vh;
  min-height:100dvh;
}
#main-menu .sidebar-menu{height:100%}

/* Footer: end-of-inscription treatment. */
.eb-site-footer{position:relative;overflow:hidden}
.eb-site-footer::before{
  content:"";
  display:block;
  height:14px;
  border-top:1px solid rgba(198,164,126,.24);
  border-bottom:1px solid rgba(198,164,126,.16);
  background:
    linear-gradient(45deg,transparent 43%,rgba(198,164,126,.20) 44% 56%,transparent 57%) 0 0/18px 18px,
    linear-gradient(-45deg,transparent 43%,rgba(198,164,126,.12) 44% 56%,transparent 57%) 9px 0/18px 18px;
}
.eb-site-footer::after{
  content:"";
  position:absolute;
  right:-7%;
  bottom:-38%;
  width:340px;
  aspect-ratio:1;
  border:1px solid rgba(198,164,126,.11);
  border-radius:50%;
  pointer-events:none;
}
.eb-site-footer__brand strong{font-family:var(--eb-monument);letter-spacing:.035em}
.eb-site-footer__bottom span:last-child{font-family:var(--eb-display);font-style:italic}

/* Contact location: visible Google Maps place */
.eb-contact-map{
  background:var(--eb-papyrus);
  padding-top:18px;
}
.eb-contact-map__grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:28px;
  align-items:stretch;
}
.eb-contact-map__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:38px;
  border:1px solid rgba(11,11,10,.09);
  background:rgba(255,255,255,.18);
}
.eb-contact-map__copy h2{
  font-family:var(--eb-monument);
  font-weight:600;
  margin-bottom:14px;
}
.eb-contact-map__copy p{
  max-width:40ch;
  margin-bottom:24px;
}
.eb-contact-map__frame{
  min-height:380px;
  overflow:hidden;
  border:1px solid rgba(169,133,71,.26);
  position:relative;
}
.eb-contact-map__frame::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(169,133,71,.18);
  pointer-events:none;
  z-index:1;
}
.eb-contact-map__frame iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:380px;
  border:0;
  filter:saturate(.78) contrast(.96);
}
@media(max-width:849px){
  .eb-contact-map__grid{grid-template-columns:1fr}
  .eb-contact-map__frame,.eb-contact-map__frame iframe{min-height:340px}
}
@media(max-width:549px){
  .eb-contact-map__copy{padding:28px 24px}
  .eb-contact-map__frame,.eb-contact-map__frame iframe{min-height:300px}
}

/* Custom 404 */
.eb-404{
  min-height:68vh;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 28%,rgba(169,133,71,.11),transparent 24%),
    linear-gradient(145deg,#eee4d2,#f4ecdf);
}
.eb-404::before{
  content:"";
  position:absolute;
  width:min(540px,54vw);
  aspect-ratio:1;
  right:-10%;
  bottom:-28%;
  border:1px solid rgba(169,133,71,.19);
  border-radius:50%;
}
.eb-404__inner{position:relative;z-index:2;max-width:920px;padding:90px 24px;text-align:left}
.eb-404__eyebrow{font-family:var(--eb-monument);letter-spacing:.14em;text-transform:uppercase;color:#8f6a34}
.eb-404 h1{font-family:var(--eb-monument);font-size:clamp(46px,7vw,108px);line-height:.95;margin:.3em 0}
.eb-404 p{max-width:620px;font-size:1.08rem}
.eb-404__actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 20px}

.eb-motion-enabled .eb-final-reveal{
  opacity:0;
  transform:translate3d(0,24px,0);
  transition:opacity .68s ease,transform .9s var(--eb-motion-slow);
}
.eb-motion-enabled .eb-final-reveal.is-visible{opacity:1;transform:none}

@media(max-width:849px){
  .eb-services-page .eb-page-hero::before,.eb-contact-page .eb-page-hero::before,.eb-book-page .eb-page-hero::before{inset:10px}
  .eb-services-page .eb-page-hero__inner,.eb-contact-page .eb-page-hero__inner,.eb-book-page .eb-page-hero__inner{min-height:420px}
  .eb-contact-page .eb-page-hero__inner{grid-template-columns:1fr;gap:38px;padding-top:64px;padding-bottom:64px}
  .eb-contact-hero-media{justify-self:start;width:min(100%,420px)}
  .eb-contact-page .eb-contact-grid,.eb-book-page .eb-book-options{grid-template-columns:1fr}
  .eb-services-page .eb-service-row::before{opacity:.1}
}
@media(max-width:549px){
  .eb-services-page .eb-page-hero::before,.eb-contact-page .eb-page-hero::before,.eb-book-page .eb-page-hero::before{inset:7px}
  .eb-services-page .eb-page-hero__inner,.eb-contact-page .eb-page-hero__inner,.eb-book-page .eb-page-hero__inner{min-height:380px}
  .eb-contact-page .eb-page-hero__inner{gap:30px;padding-top:48px;padding-bottom:48px}
  .eb-contact-hero-media{width:100%;max-height:480px}
  .eb-contact-page .eb-contact-grid>div{min-height:auto;padding:28px 24px}
  .eb-book-page .eb-book-options article{min-height:auto;padding:28px 24px}
  .eb-services-page .eb-service-row:hover .eb-media img,
  .eb-contact-page .eb-contact-grid>div:hover,
  .eb-book-page .eb-book-options article:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .eb-motion-enabled .eb-final-reveal,.eb-core-draw,
  .eb-services-page .eb-service-row .eb-media img{
    transition:none!important;
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    stroke-dashoffset:0!important;
  }
}

/* Accessibility: no entrance, reveal, parallax or hover motion when reduced motion is requested. */
@media(prefers-reduced-motion:reduce){
  .eb-motion-enabled .eb-home-hero .eb-home-hero__copy>*,
  .eb-motion-enabled .eb-home-hero .eb-home-hero__image,
  .eb-motion-enabled .eb-reveal-section>.eb-container,
  .eb-egyptian-divider .eb-divider-line,
  .eb-egyptian-divider .eb-divider-mark,
  .eb-home .eb-media img,
  .eb-home-service-grid article,
  .eb-home-architecture .eb-architecture-grid>div,
  .eb-home .eb-button::before,
  .eb-home .eb-button span{
    transition:none!important;
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    stroke-dashoffset:0!important;
  }
  .eb-home-architecture::before{transform:none!important}
}
