/* SCHOOL V5.9 — final override layer. Loaded LAST by design. */

/* The previous school sheets are preserved, but nothing loaded after this file may cancel these interactions. */
@media (min-width:901px) and (hover:hover) and (pointer:fine){
  /* ---------- HERO CUTOUT ---------- */
  .page-school .hero-portrait{
    z-index:2 !important;
    right:2.8vw !important;
    bottom:-1.5vh !important;
    width:min(42vw,820px) !important;
    height:96vh !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    overflow:visible !important;
    pointer-events:auto !important; /* older School CSS disabled hover here */
    transform:none !important;
    scale:1 !important;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.96) 78%,rgba(0,0,0,.62) 89%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.96) 78%,rgba(0,0,0,.62) 89%,transparent 100%);
  }
  .page-school .hero-portrait img{
    width:auto !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    mix-blend-mode:normal !important;
    opacity:1 !important;
    filter:contrast(1.05) brightness(.95) drop-shadow(0 28px 70px rgba(0,0,0,.48)) !important;
    transform:translate3d(0,0,0) scale(1) !important;
    transform-origin:55% 48%;
    transition:transform .58s cubic-bezier(.2,.72,.24,1),filter .36s ease !important;
    will-change:transform;
  }
  .page-school .hero-portrait:hover img{
    transform:translate3d(-4px,-3px,0) scale(1.028) !important;
    filter:contrast(1.06) brightness(.97) drop-shadow(0 34px 82px rgba(0,0,0,.53)) !important;
  }

  /* ---------- ALL PAGE TEXT HOVER ---------- */
  .page-school .wordmark,
  .page-school .topbar nav a,
  .page-school .hero h1,
  .page-school .hero-intro p,
  .page-school .hero-meta span,
  .page-school .hero-mark,
  .page-school .section-kicker,
  .page-school .method h2,
  .page-school .method-copy > p,
  .page-school .method-line,
  .page-school .method-facts > span,
  .page-school .gallery-heading small,
  .page-school .gallery-heading h2,
  .page-school .gallery-heading p,
  .page-school .results-copy small,
  .page-school .results h2,
  .page-school .results-copy > p,
  .page-school .result-note,
  .page-school .contact-copy small,
  .page-school .contact-copy h2,
  .page-school .contact-copy blockquote,
  .page-school .contact-links > a,
  .page-school .all-projects{
    transition:transform .32s cubic-bezier(.2,.72,.24,1),color .25s ease,opacity .25s ease,text-shadow .25s ease !important;
    transform:translate3d(0,0,0) scale(1) !important;
    transform-origin:left center;
    will-change:transform;
  }

  .page-school .hero h1:hover,
  .page-school .method h2:hover,
  .page-school .gallery-heading h2:hover,
  .page-school .results h2:hover,
  .page-school .contact-copy h2:hover{
    transform:translate3d(4px,-2px,0) scale(1.025) !important;
  }

  .page-school .hero-intro p:hover,
  .page-school .hero-meta span:hover,
  .page-school .hero-mark:hover,
  .page-school .section-kicker:hover,
  .page-school .method-copy > p:hover,
  .page-school .method-line:hover,
  .page-school .method-facts > span:hover,
  .page-school .gallery-heading small:hover,
  .page-school .gallery-heading p:hover,
  .page-school .results-copy small:hover,
  .page-school .results-copy > p:hover,
  .page-school .result-note:hover,
  .page-school .contact-copy small:hover,
  .page-school .contact-copy blockquote:hover,
  .page-school .all-projects:hover{
    transform:translate3d(3px,-1px,0) scale(1.018) !important;
  }

  .page-school .wordmark:hover,
  .page-school .topbar nav a:hover,
  .page-school .contact-links > a:hover{
    transform:translate3d(0,-2px,0) scale(1.045) !important;
  }

  /* ---------- VISUAL BLOCK HOVER ---------- */
  .page-school .video-stage{
    transform:translateY(-46%) scale(1) !important;
    transition:transform .55s cubic-bezier(.2,.72,.24,1),box-shadow .35s ease,border-color .3s ease !important;
  }
  .page-school .video-stage video{
    transform:scale(1) !important;
    transition:transform .65s cubic-bezier(.2,.72,.24,1),filter .35s ease !important;
  }
  .page-school .video-stage:hover{
    transform:translateY(-46%) scale(1.018) !important;
    border-color:rgba(214,163,84,.5) !important;
    box-shadow:0 44px 120px rgba(0,0,0,.6) !important;
  }
  .page-school .video-stage:hover video{transform:scale(1.03) !important;}

  .page-school .school-gallery figure{
    transform:translate3d(0,0,0) scale(1) !important;
    transition:transform .5s cubic-bezier(.2,.72,.24,1),box-shadow .35s ease !important;
  }
  .page-school .school-gallery figure img{
    transform:scale(1) !important;
    transition:transform .65s cubic-bezier(.2,.72,.24,1),filter .35s ease !important;
  }
  .page-school .school-gallery figure:hover{
    transform:translate3d(0,-3px,0) scale(1.012) !important;
    box-shadow:0 28px 72px rgba(0,0,0,.24) !important;
  }
  .page-school .school-gallery figure:hover img{transform:scale(1.055) !important;}

  .page-school .results-photo{
    transform:translate3d(0,0,0) scale(1) !important;
    transition:transform .52s cubic-bezier(.2,.72,.24,1),box-shadow .35s ease !important;
  }
  .page-school .results-photo img{
    transform:scale(1) !important;
    transition:transform .65s cubic-bezier(.2,.72,.24,1),filter .35s ease !important;
  }
  .page-school .results-photo:hover{
    transform:translate3d(0,-3px,0) scale(1.01) !important;
    box-shadow:0 30px 80px rgba(0,0,0,.22) !important;
  }
  .page-school .results-photo:hover img{transform:scale(1.04) !important;}

  .page-school .contact-art{
    transition:transform .5s cubic-bezier(.2,.72,.24,1),border-color .3s ease,box-shadow .3s ease !important;
  }
  .page-school .contact-art:hover{transform:translateY(-50%) scale(1.02) !important;}
  .page-school .contact-links a span{
    transform:translate3d(0,0,0) scale(1) !important;
    transition:transform .36s cubic-bezier(.2,.72,.24,1),border-color .28s ease,box-shadow .28s ease !important;
  }
  .page-school .contact-links a:hover span{transform:translate3d(0,-3px,0) scale(1.06) !important;}
}

/* Tablet keeps the corrected silhouette but no hover assumptions. */
@media (min-width:901px) and (max-width:1280px){
  .page-school .hero-portrait{right:1.4vw !important;width:min(43vw,660px) !important;height:93vh !important;}
}

@media (max-width:900px){
  .page-school .hero-portrait{pointer-events:none !important;}
  .page-school .hero-portrait img{mix-blend-mode:normal !important;opacity:1 !important;}
}

@media (prefers-reduced-motion:reduce){
  .page-school *{scroll-behavior:auto !important;}
  .page-school .hero-portrait img,
  .page-school .video-stage,
  .page-school .video-stage video,
  .page-school .school-gallery figure,
  .page-school .school-gallery figure img,
  .page-school .results-photo,
  .page-school .results-photo img{transition:none !important;}
}


/* V5.10 — new hero silhouette from fresh photo + idle drift + no result-hover stripe */
@media (min-width:901px) and (hover:hover) and (pointer:fine){
  .page-school .hero-portrait{
    right:4.1vw !important;
    bottom:0 !important;
    width:min(31vw,520px) !important;
    height:92vh !important;
    overflow:visible !important;
    pointer-events:auto !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    animation:schoolHeroDrift 9.5s ease-in-out infinite alternate;
    transform:translate3d(0,0,0) !important;
    will-change:transform;
  }
  .page-school .hero-portrait::before{display:none !important;}
  .page-school .hero-portrait img{
    width:auto !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    filter:grayscale(1) saturate(.06) contrast(1.05) brightness(.93) drop-shadow(0 24px 56px rgba(0,0,0,.42)) !important;
    transform:translate3d(0,0,0) scale(1) !important;
    transition:transform .58s cubic-bezier(.2,.72,.24,1), filter .34s ease !important;
    will-change:transform;
  }
  .page-school .hero-portrait:hover{animation-play-state:paused;}
  .page-school .hero-portrait:hover img{
    transform:translate3d(-5px,-4px,0) scale(1.03) !important;
    filter:grayscale(1) saturate(.06) contrast(1.07) brightness(.95) drop-shadow(0 32px 76px rgba(0,0,0,.5)) !important;
  }

  .page-school .results-photo{
    transform:none !important;
    box-shadow:none !important;
    overflow:hidden !important;
    isolation:isolate;
  }
  .page-school .results-photo::after{
    content:""; position:absolute; inset:0; pointer-events:none; z-index:2;
    background:linear-gradient(90deg, #0a0710 0%, rgba(10,7,16,.92) 10%, rgba(10,7,16,.7) 18%, rgba(10,7,16,.34) 31%, rgba(10,7,16,.08) 48%, transparent 62%),
               linear-gradient(0deg, rgba(10,7,16,.12), transparent 34%) !important;
  }
  .page-school .results-photo img{
    backface-visibility:hidden;
    transform:translate3d(0,0,0) scale(1) !important;
    transform-origin:center center;
    transition:transform .68s cubic-bezier(.2,.72,.24,1), filter .34s ease !important;
    will-change:transform;
  }
  .page-school .results-photo:hover{transform:none !important; box-shadow:none !important;}
  .page-school .results-photo:hover img{
    transform:translate3d(0,0,0) scale(1.028) !important;
    filter:saturate(.94) contrast(1.04) !important;
  }

  @keyframes schoolHeroDrift{
    0%   { transform:translate3d(-10px, 0px, 0) !important; }
    50%  { transform:translate3d(0px, -4px, 0) !important; }
    100% { transform:translate3d(10px, 2px, 0) !important; }
  }
}

@media (min-width:901px) and (max-width:1280px){
  .page-school .hero-portrait{right:2.6vw !important; width:min(34vw,470px) !important; height:88vh !important;}
}

@media (max-width:900px){
  .page-school .hero-portrait{animation:none !important; width:calc(100% + 10px) !important; height:54svh !important;}
  .page-school .hero-portrait img{width:auto !important; height:100% !important; max-width:none !important; object-fit:contain !important; object-position:center bottom !important; filter:grayscale(1) saturate(.06) contrast(1.05) brightness(.93) !important;}
}

@media (prefers-reduced-motion:reduce){
  .page-school .hero-portrait{animation:none !important;}
}


/* V5.11 — color hero portrait, larger and shifted closer to center */
@media (min-width:901px) and (hover:hover) and (pointer:fine){
  .page-school .hero-portrait{
    right:10.5vw !important;
    bottom:0 !important;
    width:min(37vw,620px) !important;
    height:96vh !important;
    animation:schoolHeroDriftColor 9.5s ease-in-out infinite alternate !important;
  }
  .page-school .hero-portrait img{
    width:auto !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    filter:saturate(.96) contrast(1.03) brightness(.96) drop-shadow(0 24px 58px rgba(0,0,0,.38)) !important;
  }
  .page-school .hero-portrait:hover img{
    transform:translate3d(-6px,-4px,0) scale(1.032) !important;
    filter:saturate(1.02) contrast(1.04) brightness(.98) drop-shadow(0 34px 82px rgba(0,0,0,.48)) !important;
  }
  @keyframes schoolHeroDriftColor{
    0%   { transform:translate3d(-12px, 0px, 0) !important; }
    50%  { transform:translate3d(0px, -4px, 0) !important; }
    100% { transform:translate3d(12px, 2px, 0) !important; }
  }
}

@media (min-width:901px) and (max-width:1280px){
  .page-school .hero-portrait{right:7.5vw !important; width:min(39vw,560px) !important; height:92vh !important;}
}

@media (max-width:900px){
  .page-school .hero-portrait img{
    filter:saturate(.96) contrast(1.03) brightness(.96) !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-school .hero-portrait{animation:none !important;}
}


/* V5.12 — crop hero to the approved upper-body frame and scale it to fill the right side */
@media (min-width:901px){
  .page-school .hero-portrait{
    right:6.2vw !important;
    bottom:2.2vh !important;
    width:min(43vw,720px) !important;
    height:97vh !important;
    overflow:visible !important;
    animation:schoolHeroUpperDrift 10s ease-in-out infinite alternate !important;
  }
  .page-school .hero-portrait img{
    width:auto !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    filter:saturate(.98) contrast(1.03) brightness(.97) drop-shadow(0 24px 62px rgba(0,0,0,.40)) !important;
  }
  .page-school .hero-portrait:hover img{
    transform:translate3d(-6px,-4px,0) scale(1.028) !important;
    filter:saturate(1.02) contrast(1.04) brightness(.99) drop-shadow(0 34px 86px rgba(0,0,0,.48)) !important;
  }
  @keyframes schoolHeroUpperDrift{
    0%   { transform:translate3d(-10px, 0px, 0) !important; }
    50%  { transform:translate3d(0px, -4px, 0) !important; }
    100% { transform:translate3d(10px, 2px, 0) !important; }
  }
}

@media (min-width:901px) and (max-width:1280px){
  .page-school .hero-portrait{right:4.5vw !important; width:min(45vw,620px) !important; height:94vh !important;}
}

@media (max-width:900px){
  .page-school .hero-portrait{width:calc(100% + 18px) !important; height:56svh !important;}
}


/* V5.13 — adapt hero portrait deeper into page identity */
@media (min-width:901px){
  .page-school .hero-portrait{
    right:5.4vw !important;
    bottom:1.2vh !important;
    width:min(44vw,760px) !important;
    height:97vh !important;
    overflow:visible !important;
    isolation:isolate;
    animation:schoolHeroIdentityDrift 11s ease-in-out infinite alternate !important;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 84%,rgba(0,0,0,.96) 92%,rgba(0,0,0,.38) 100%) !important;
    mask-image:linear-gradient(to bottom,#000 0%,#000 84%,rgba(0,0,0,.96) 92%,rgba(0,0,0,.38) 100%) !important;
  }
  .page-school .hero-portrait::before{
    content:"";
    position:absolute;
    z-index:-2;
    inset:5% 2% 8% 14%;
    border-radius:50%;
    background:radial-gradient(circle at 48% 36%, rgba(126,84,196,.40) 0%, rgba(108,70,177,.22) 24%, rgba(50,25,90,.10) 44%, rgba(10,7,16,0) 72%);
    filter:blur(38px);
    transform:scale(1.12);
    opacity:.95;
  }
  .page-school .hero-portrait::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:-18%; right:16%; top:20%; bottom:2%;
    background:radial-gradient(ellipse at 58% 52%, rgba(0,0,0,.42) 0%, rgba(0,0,0,.24) 26%, rgba(0,0,0,0) 66%);
    filter:blur(28px);
    opacity:.9;
    transform:translate3d(-10px,10px,0);
  }
  .page-school .hero-portrait img{
    filter:saturate(.74) contrast(1.07) brightness(.90) sepia(.03) drop-shadow(-42px 20px 72px rgba(10,7,16,.58)) drop-shadow(0 28px 58px rgba(0,0,0,.42)) !important;
  }
  .page-school .hero-portrait:hover img{
    filter:saturate(.82) contrast(1.08) brightness(.92) sepia(.03) drop-shadow(-52px 24px 84px rgba(10,7,16,.62)) drop-shadow(0 34px 76px rgba(0,0,0,.50)) !important;
    transform:translate3d(-6px,-4px,0) scale(1.03) !important;
  }
  .page-school .hero-orbit{opacity:.8 !important;}
  .page-school .hero-grid i{opacity:.72 !important;}

  @keyframes schoolHeroIdentityDrift{
    0%{transform:translate3d(-9px,0,0) !important;}
    50%{transform:translate3d(0,-5px,0) !important;}
    100%{transform:translate3d(9px,2px,0) !important;}
  }
}

@media (min-width:901px) and (max-width:1280px){
  .page-school .hero-portrait{right:3.8vw !important; width:min(46vw,650px) !important; height:95vh !important;}
}

@media (max-width:900px){
  .page-school .hero-portrait img{
    filter:saturate(.82) contrast(1.05) brightness(.92) !important;
  }
}
