:root{--ink:#0a0710;--ink2:#120b19;--paper:#f3efe7;--muted:#b8b2aa;--school:#8f63d8;--school2:#5f3f98;--school3:#c9b3ef;--brand:#d6a354}*{box-sizing:border-box}html{background:var(--ink);scroll-snap-type:y mandatory}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,sans-serif}.screen{height:100vh;min-height:100vh;position:relative;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}.topbar{position:fixed;z-index:60;top:0;width:100%;height:70px;padding:0 2.5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(8,6,12,.97),rgba(8,6,12,.68) 60%,transparent)}.wordmark{display:flex;align-items:center;gap:10px;color:#f6f2e9;text-decoration:none;font-size:12px;letter-spacing:.16em}.wordmark img{width:30px;height:30px;object-fit:contain}.wordmark b{font-weight:800}.topbar nav{display:flex;gap:42px}.topbar nav a{color:#f4f0e8;text-decoration:none;font-size:10px;letter-spacing:.14em;text-shadow:0 2px 12px rgba(0,0,0,.8)}

/* SCHOOL IDENTITY — premium purple, geometry preserved from V4 */
.hero{background:radial-gradient(circle at 78% 46%,rgba(143,99,216,.15),transparent 27%),linear-gradient(118deg,#08050d 0%,#140d1d 62%,#0a0710 100%)}.hero-grid i{position:absolute;background:rgba(143,99,216,.12)}.hero-grid i:nth-child(1){left:25%;top:0;width:1px;height:100%}.hero-grid i:nth-child(2){left:72%;top:0;width:1px;height:100%}.hero-grid i:nth-child(3){left:0;top:31%;width:100%;height:1px}.hero-grid i:nth-child(4){left:0;top:76%;width:100%;height:1px}.hero-orbit{position:absolute;right:-10vw;top:6vh;width:56vw;height:56vw;border:1px solid rgba(143,99,216,.17);border-radius:50%;box-shadow:0 0 0 9vw rgba(143,99,216,.02),0 0 0 18vw rgba(143,99,216,.012)}.hero-copy{position:absolute;left:5vw;right:5vw;top:50%;transform:translateY(-47%);z-index:3}.hero-copy small{font-size:10px;letter-spacing:.24em;font-weight:800;color:var(--school3)}.hero h1{font:400 clamp(110px,10.2vw,196px)/.79 Georgia,serif;margin:24px 0 42px;letter-spacing:-.062em;max-width:1400px}.hero h1 em{font-style:normal;color:var(--school)}.hero-meta{display:flex;gap:42px;align-items:center;padding-top:18px;border-top:1px solid rgba(143,99,216,.32);width:min(920px,72vw);font-size:10px;letter-spacing:.18em;color:#b6acc0}.hero-meta span:first-child{color:#e9e5dc;font-weight:700}.hero-mark{position:absolute;right:3vw;bottom:3.5vh;color:rgba(143,99,216,.46);font-size:9px;letter-spacing:.24em;writing-mode:vertical-rl;transform:rotate(180deg)}

.section-kicker,.results-copy small,.contact-copy small{font-size:18px;line-height:1;letter-spacing:.18em;font-weight:800;color:var(--school3)}.section-kicker{position:absolute;left:4.3vw;top:9vh;z-index:4}.method{background:linear-gradient(106deg,#0a0710 0%,#130c1b 58%,#0b0811 100%)}.method::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 53%,rgba(143,99,216,.06) 53% 54%,transparent 54%)}.method-copy{position:absolute;left:4.2vw;top:50%;transform:translateY(-44%);width:54vw;max-width:1000px;z-index:2}.method h2{font:400 clamp(92px,8.25vw,160px)/.82 Georgia,serif;margin:0 0 24px;letter-spacing:-.055em}.method h2 em{font-style:normal;color:var(--school)}.school-rule{width:74px;height:2px;background:linear-gradient(90deg,var(--school),rgba(143,99,216,.2));margin:25px 0}.method-copy p{font:21px/1.5 Georgia,serif;color:#d9d2df;max-width:790px}.method-line{margin-top:30px;font-size:10px;letter-spacing:.19em;color:#d0c6d8}.method-line span{color:var(--school);margin:0 9px}.method-facts{display:flex;gap:86px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(143,99,216,.28);max-width:770px}.method-facts span{font-size:10px;letter-spacing:.1em;color:#9b90a5;line-height:1.5}.method-facts b{display:block;font:400 34px/1 Georgia,serif;color:#f3efe7;margin-bottom:9px;letter-spacing:-.02em}.video-stage{position:absolute;right:5vw;top:50%;transform:translateY(-46%);height:76vh;aspect-ratio:9/16;background:#020203;overflow:hidden;box-shadow:0 38px 110px rgba(0,0,0,.52);border:1px solid rgba(143,99,216,.34)}.video-stage::before{content:"";position:absolute;z-index:2;left:-44px;top:24px;width:82px;height:1px;background:var(--school)}.video-stage video{width:100%;height:100%;object-fit:cover;background:#000}.video-play{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border:1px solid rgba(143,99,216,.9);border-radius:50%;background:rgba(8,6,12,.5);color:#fff;font-size:23px;backdrop-filter:blur(7px);cursor:pointer}.video-time{position:absolute;z-index:3;right:17px;bottom:15px;font-size:9px;letter-spacing:.16em;color:#d4c8df}.video-stage.playing .video-play{opacity:0;pointer-events:none}

.results{background:#0a0710}.results-photo{position:absolute;right:0;top:0;width:61vw;height:100vh;overflow:hidden}.results-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.88) contrast(1.03)}.results-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0710 0,rgba(10,7,16,.9) 13%,rgba(10,7,16,.12) 44%,transparent 70%),linear-gradient(0deg,rgba(10,7,16,.18),transparent 35%)}.results-copy{position:absolute;left:4.2vw;top:50%;transform:translateY(-44%);z-index:3;width:47vw;max-width:830px}.results h2{font:400 clamp(98px,9.2vw,176px)/.82 Georgia,serif;margin:18px 0 24px;letter-spacing:-.058em}.results h2 strong{font-family:Arial,sans-serif;color:var(--school);font-size:1.02em;letter-spacing:-.07em}.results-copy p{font:21px/1.5 Georgia,serif;color:#d9d1df;max-width:650px}.result-note{margin-top:34px;padding-top:19px;border-top:1px solid rgba(143,99,216,.25);font-size:9px;letter-spacing:.18em;color:#9689a1;max-width:620px}

.contacts{background:radial-gradient(circle at 77% 44%,rgba(143,99,216,.17),transparent 22%),linear-gradient(118deg,#0b0711,#1a1025 63%,#0d0914)}.contact-grid i{position:absolute;background:rgba(255,255,255,.05)}.contact-grid i:nth-child(1){left:51%;top:0;width:1px;height:100%}.contact-grid i:nth-child(2){left:0;top:29%;width:100%;height:1px}.contact-grid i:nth-child(3){left:0;bottom:19%;width:100%;height:1px}.contact-copy{position:absolute;left:4.3vw;top:50%;transform:translateY(-47%);z-index:3;max-width:980px}.contact-copy small{color:var(--school3)}.contact-copy h2{font:400 clamp(94px,8.7vw,170px)/.83 Georgia,serif;margin:18px 0 18px;letter-spacing:-.052em}.contact-copy h2 em{font-style:normal;color:var(--school)}.contact-copy blockquote{margin:0 0 28px;max-width:740px;padding-left:20px;border-left:2px solid var(--school);font:italic 18px/1.48 Georgia,serif;color:#ded4e6}.contact-links{display:flex;gap:25px;margin-top:30px}.contact-links a{width:94px;text-align:center;color:#f0ebf4;text-decoration:none;font-size:11px}.contact-links span{display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(201,179,239,.58);border-radius:50%;margin:0 auto 10px;background:rgba(14,8,22,.18)}.contact-links img{width:27px;height:27px}.mail-icon{font:700 26px/1 Georgia,serif;color:#fff}.all-projects{display:inline-block;margin-top:38px;color:#b9adc3;text-decoration:none;font-size:10px;letter-spacing:.14em}.contact-art{position:absolute;right:7vw;top:50%;transform:translateY(-50%);width:min(31vw,520px);aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(201,179,239,.13);border-radius:50%;box-shadow:0 0 0 5vw rgba(143,99,216,.025),0 0 0 10vw rgba(143,99,216,.014)}.contact-art img{width:56%;opacity:.18}.dots{position:fixed;z-index:60;right:20px;top:50%;display:flex;flex-direction:column;gap:11px}.dots span{width:7px;height:7px;border:1px solid rgba(143,99,216,.86);border-radius:50%}.dots .active{background:var(--school);box-shadow:0 0 0 4px rgba(143,99,216,.13)}

@media(max-width:1100px) and (min-width:901px){.section-kicker,.results-copy small,.contact-copy small{font-size:15px}.method-copy{width:50vw}.method h2{font-size:7.4vw}.video-stage{right:3.5vw;height:70vh}.results h2{font-size:8.3vw}}
@media(max-width:900px){html{scroll-snap-type:none}.screen{height:auto;min-height:0}.topbar nav,.dots{display:none}.topbar{height:64px;padding:0 20px;background:linear-gradient(180deg,rgba(8,6,12,.98),rgba(8,6,12,.82),transparent)}.hero{min-height:100svh;padding:108px 20px 54px;display:flex;align-items:flex-end}.hero-copy{position:static;transform:none;width:100%}.hero h1{font-size:clamp(66px,19vw,104px);line-height:.8;margin:18px 0 30px}.hero-meta{width:100%;flex-direction:column;gap:10px;align-items:flex-start}.hero-mark{display:none}.section-kicker,.results-copy small,.contact-copy small{position:static;font-size:15px;line-height:1.1;margin-bottom:24px;letter-spacing:.14em}.method{padding:92px 20px 50px}.method-copy{position:static;transform:none;width:100%;max-width:none}.method h2,.results h2{font-size:clamp(60px,16vw,92px);line-height:.84}.method-copy p,.results-copy p{font-size:17px}.method-facts{gap:28px;flex-wrap:wrap}.video-stage{position:relative;right:auto;top:auto;transform:none;height:auto;width:min(88vw,430px);aspect-ratio:9/16;margin:38px auto 0}.results{padding:90px 20px 52px;display:flex;flex-direction:column}.results-photo{position:relative;right:auto;top:auto;width:100%;height:auto;aspect-ratio:4/5;order:1}.results-photo::after{background:linear-gradient(0deg,#0a0710 0,transparent 35%)}.results-copy{position:relative;left:auto;top:auto;transform:none;width:100%;order:2;margin-top:28px}.contacts{min-height:760px;padding:100px 22px 70px}.contact-copy{position:static;transform:none}.contact-copy h2{font-size:clamp(62px,17vw,92px)}.contact-copy blockquote{font-size:17px;padding-left:16px}.contact-links{display:grid;grid-template-columns:repeat(2,94px);gap:22px}.contact-art{display:none}}


/* V5.2 — hero portrait + story intro */
.hero{background:radial-gradient(circle at 78% 46%,rgba(143,99,216,.18),transparent 30%),linear-gradient(118deg,#08050d 0%,#140d1d 62%,#0a0710 100%)}
.hero-portrait{position:absolute;z-index:1;right:4.5vw;bottom:0;width:min(42vw,780px);height:92vh;overflow:hidden;pointer-events:none}
.hero-portrait::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(10,7,16,.86) 0%,rgba(10,7,16,.32) 22%,transparent 48%),linear-gradient(0deg,rgba(10,7,16,.42) 0%,transparent 24%)}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:contrast(1.04) brightness(.94)}
.hero-copy{left:5vw;right:auto;width:min(58vw,1060px);top:50%;transform:translateY(-47%)}
.hero h1{font-size:clamp(96px,8.8vw,168px);line-height:.8;margin:0 0 28px;max-width:900px}
.hero-intro{max-width:760px;margin:0 0 28px}
.hero-intro p{margin:0 0 10px;font:20px/1.5 Georgia,serif;color:#d8d0de;text-wrap:pretty}
.hero-intro p:first-child{color:#efe9f3}
.hero-intro strong{font-weight:400;color:#fff}
.hero-meta{width:min(760px,52vw);margin-top:18px}
.hero-grid i:nth-child(2){left:62%}
.hero-orbit{right:-15vw;top:5vh;width:60vw;height:60vw}

@media(max-width:1280px) and (min-width:901px){
  .hero-copy{width:56vw}
  .hero h1{font-size:clamp(84px,8.1vw,130px)}
  .hero-intro p{font-size:18px}
  .hero-portrait{right:2vw;width:43vw;height:88vh}
}
@media(max-width:900px){
  .hero{padding:84px 20px 0;display:block;min-height:100svh}
  .hero-portrait{position:relative;right:auto;bottom:auto;width:calc(100% + 40px);height:55svh;margin:0 -20px;overflow:hidden}
  .hero-portrait::before{background:linear-gradient(0deg,#0a0710 0%,rgba(10,7,16,.18) 36%,transparent 68%)}
  .hero-portrait img{object-position:center 14%}
  .hero-copy{position:relative;left:auto;right:auto;top:auto;transform:none;width:100%;padding:30px 0 52px}
  .hero h1{font-size:clamp(60px,17vw,96px);margin:0 0 22px}
  .hero-intro{max-width:none;margin-bottom:24px}
  .hero-intro p{font-size:17px;line-height:1.48}
  .hero-meta{width:100%;margin-top:20px}
}

/* V5.3 — silhouette, gallery, exact portfolio contacts, user video */
.hero-portrait{right:1.5vw;width:min(43vw,820px);height:94vh;overflow:visible;display:flex;align-items:flex-end;justify-content:center}
.hero-portrait::before{display:none}
.hero-portrait img{width:auto;height:94%;max-width:100%;object-fit:contain;object-position:center bottom;filter:contrast(1.04) brightness(.94);mix-blend-mode:normal;drop-shadow:0 28px 70px rgba(0,0,0,.45)}
.hero-copy{width:min(56vw,1020px)}
.hero-intro{max-width:690px}

.video-stage{right:11vw;height:72vh}

.gallery-screen{background:linear-gradient(118deg,#0a0710 0%,#140d1d 55%,#0b0811 100%);padding:11vh 4.2vw 5vh;display:grid;grid-template-columns:34% 66%;gap:3vw;align-items:center}
.gallery-screen::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 48%,rgba(143,99,216,.11),transparent 28%);pointer-events:none}
.gallery-heading{position:relative;z-index:2;align-self:center;max-width:560px}
.gallery-heading small{display:block;font-size:18px;line-height:1;letter-spacing:.18em;font-weight:800;color:var(--school3);margin-bottom:28px}
.gallery-heading h2{font:400 clamp(72px,6.2vw,118px)/.86 Georgia,serif;margin:0 0 28px;letter-spacing:-.055em}
.gallery-heading h2 em{font-style:normal;color:var(--school)}
.gallery-heading p{font:20px/1.52 Georgia,serif;color:#d7cfdd;max-width:500px}
.school-gallery{position:relative;z-index:2;height:76vh;display:grid;grid-template-columns:1.03fr .97fr;grid-template-rows:1fr 1fr;gap:14px}
.school-gallery figure{margin:0;overflow:hidden;position:relative;background:#09060d;border:1px solid rgba(201,179,239,.10)}
.school-gallery figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);pointer-events:none}
.school-gallery img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.03)}
.school-gallery .g1{grid-row:1/3}.school-gallery .g1 img{object-position:center 46%}
.school-gallery .g2 img{object-position:center 45%}.school-gallery .g3 img{object-position:center 42%}.school-gallery .g4{display:none}

.contact-links{gap:24px}
.contact-links a{width:92px;color:#ddd7ce;font-size:11px}
.contact-links span{width:62px;height:62px;margin:0 auto 10px;border:1px solid rgba(201,179,239,.62);background:transparent}
.contact-links img{width:27px;height:27px;display:block;image-rendering:auto;transform:none;filter:none}
.contact-email{display:inline-block;margin-top:18px;color:#c9b3ef;text-decoration:none;font-size:12px;letter-spacing:.08em}
.contact-email:hover{color:#fff}

@media(max-width:1280px) and (min-width:901px){
  .video-stage{right:7vw;height:68vh}
  .gallery-heading h2{font-size:5.8vw}.gallery-heading p{font-size:18px}
}
@media(max-width:900px){
  .hero-portrait{width:calc(100% + 40px);height:52svh;right:auto;overflow:hidden}
  .hero-portrait img{height:100%;max-width:none}
  .video-stage{right:auto;height:auto}
  .gallery-screen{padding:92px 20px 52px;display:block}
  .gallery-heading{max-width:none;margin-bottom:34px}
  .gallery-heading small{font-size:15px;margin-bottom:22px}
  .gallery-heading h2{font-size:clamp(58px,15vw,88px)}
  .gallery-heading p{font-size:17px}
  .school-gallery{height:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:56vh 42vh;gap:10px}
  .school-gallery .g1{grid-column:1/3;grid-row:auto}.school-gallery .g2,.school-gallery .g3{grid-row:auto}.school-gallery .g4{display:none}
  .contact-email{margin-top:20px}
}

/* V5.4 — desktop QA, clean hero silhouette, poster removal */
@media(min-width:901px){
  .hero-portrait{right:-1.2vw;width:min(48vw,920px);height:100vh;}
  .hero-portrait img{height:100%;max-width:100%;filter:contrast(1.04) brightness(.94) drop-shadow(0 28px 70px rgba(0,0,0,.45));}
  .gallery-screen{grid-template-columns:minmax(0,34fr) minmax(0,66fr);}
}
@media(min-width:901px) and (max-width:1180px){
  .hero-portrait{right:-2.5vw;width:min(46vw,580px);height:96vh;}
  .hero-copy{width:55vw;}
  .hero h1{font-size:clamp(80px,8vw,108px);}
  .hero-intro{max-width:610px;}
  .hero-intro p{font-size:17px;line-height:1.44;}
}


/* V5.5 — hero cleanup, gold animated lines, 2-photo gallery, hover zoom */
@media(min-width:901px){
  .hero,.gallery-screen,.contacts{isolation:isolate}
  .gold-lines{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
  .hero-lines,.gallery-lines,.contact-lines{z-index:1}
  .gold-lines i{position:absolute;display:block;height:1px;opacity:.82;background:linear-gradient(90deg,transparent,rgba(214,163,84,.92),rgba(255,237,193,.58),transparent);box-shadow:0 0 16px rgba(214,163,84,.22)}
  .hero-lines i:nth-child(1){top:18%;left:-8%;width:28vw;transform:rotate(-14deg);animation:schoolGoldFloatA 15s ease-in-out infinite alternate}
  .hero-lines i:nth-child(2){top:61%;right:-9%;width:24vw;transform:rotate(17deg);animation:schoolGoldFloatB 17s ease-in-out -4s infinite alternate}
  .hero-lines i:nth-child(3){bottom:16%;left:42%;width:22vw;transform:rotate(-6deg);animation:schoolGoldFloatC 16s ease-in-out -7s infinite alternate}
  .gallery-lines i:nth-child(1){top:20%;left:30%;width:20vw;transform:rotate(-12deg);animation:schoolGoldFloatB 16s ease-in-out -3s infinite alternate}
  .gallery-lines i:nth-child(2){bottom:15%;right:-7%;width:26vw;transform:rotate(9deg);animation:schoolGoldFloatA 18s ease-in-out -8s infinite alternate}
  .gallery-lines i:nth-child(3){top:62%;left:54%;width:16vw;transform:rotate(-22deg);animation:schoolGoldFloatC 14s ease-in-out -6s infinite alternate}
  .contact-lines i:nth-child(1){top:22%;left:-7%;width:26vw;transform:rotate(-10deg);animation:schoolGoldFloatA 17s ease-in-out infinite alternate}
  .contact-lines i:nth-child(2){top:56%;right:-8%;width:24vw;transform:rotate(16deg);animation:schoolGoldFloatB 19s ease-in-out -6s infinite alternate}
  .contact-lines i:nth-child(3){bottom:12%;left:36%;width:18vw;transform:rotate(-5deg);animation:schoolGoldFloatC 15s ease-in-out -9s infinite alternate}
  @keyframes schoolGoldFloatA{to{transform:translate3d(15vw,7vh,0) rotate(-8deg)}}
  @keyframes schoolGoldFloatB{to{transform:translate3d(-11vw,9vh,0) rotate(22deg)}}
  @keyframes schoolGoldFloatC{to{transform:translate3d(9vw,-8vh,0) rotate(-12deg)}}

  .hero-copy{left:4.3vw;top:51%;width:min(58vw,1120px)}
  .hero h1{font-size:clamp(108px,9.3vw,182px);line-height:.79;margin:0 0 32px;max-width:980px}
  .hero-intro{max-width:760px;margin-bottom:34px}
  .hero-intro p{font-size:23px;line-height:1.56;margin:0 0 12px}
  .hero-meta{width:min(820px,55vw);padding-top:20px;font-size:11px}
  .hero-portrait{z-index:2;right:-2.5vw;bottom:0;width:min(51vw,980px);height:100vh;justify-content:flex-end}
  .hero-portrait img{width:auto;height:100%;max-width:none;object-fit:contain;object-position:right bottom;filter:contrast(1.06) brightness(.95) drop-shadow(0 30px 72px rgba(0,0,0,.48))}
  .hero-grid i:nth-child(2){left:66%}
  .hero-orbit{right:-14vw;top:4vh;width:62vw;height:62vw}

  .gallery-screen{grid-template-columns:minmax(320px,32fr) minmax(0,68fr);gap:4vw}
  .gallery-heading p{font-size:21px;line-height:1.56}
  .school-gallery{height:78vh;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-rows:1fr;gap:16px}
  .school-gallery .g1{grid-row:1;grid-column:1}
  .school-gallery .g2{grid-row:1;grid-column:2}
  .school-gallery .g3{display:none !important}
  .school-gallery figure{border-color:rgba(201,179,239,.16);box-shadow:0 22px 60px rgba(0,0,0,.16);transition:transform .42s cubic-bezier(.2,.72,.24,1),border-color .34s ease,box-shadow .34s ease}
  .school-gallery figure::before{content:"";position:absolute;inset:0;z-index:1;opacity:0;background:linear-gradient(180deg,rgba(214,163,84,.06),transparent 28%,transparent 70%,rgba(214,163,84,.07));transition:opacity .36s ease}
  .school-gallery figure::after{z-index:2}
  .school-gallery img{transition:transform .74s cubic-bezier(.2,.72,.24,1),filter .42s ease;transform:translateZ(0) scale(1);will-change:transform}
  .school-gallery figure:hover{transform:translateY(-2px);border-color:rgba(214,163,84,.34);box-shadow:0 28px 74px rgba(0,0,0,.24)}
  .school-gallery figure:hover::before{opacity:1}
  .school-gallery figure:hover img{transform:translateZ(0) scale(1.045);filter:saturate(.94) contrast(1.04)}
}

@media(min-width:901px) and (max-width:1280px){
  .hero-copy{width:56vw}
  .hero h1{font-size:clamp(92px,8.5vw,142px)}
  .hero-intro{max-width:660px}
  .hero-intro p{font-size:19px;line-height:1.5}
  .hero-portrait{right:-2.2vw;width:min(48vw,780px);height:97vh}
}

@media (prefers-reduced-motion:reduce){
  .gold-lines i{animation:none !important}
  .school-gallery figure,.school-gallery img{transition:none !important}
}


/* V5.6 — hero recenter + clean 2-photo gallery + clickable lightbox */
@media(min-width:901px){
  .hero-copy{left:4.3vw;right:auto;width:min(55vw,980px);top:50%;transform:translateY(-47%)}
  .hero h1{font-size:clamp(102px,8.9vw,170px);line-height:.8;margin:0 0 30px;max-width:900px}
  .hero-intro{max-width:720px;margin:0 0 30px}
  .hero-intro p{font-size:22px;line-height:1.54}
  .hero-meta{width:min(760px,52vw)}

  .hero-portrait{z-index:2;right:5vw;bottom:0;width:min(46vw,900px);height:97vh;overflow:visible;display:flex;align-items:flex-end;justify-content:center}
  .hero-portrait img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center bottom;filter:contrast(1.04) brightness(.94) drop-shadow(0 26px 64px rgba(0,0,0,.46))}

  .gallery-screen{grid-template-columns:minmax(0,34fr) minmax(0,66fr);gap:3vw}
  .school-gallery{height:76vh;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:16px;align-items:stretch}
  .school-gallery .g1,.school-gallery .g2{grid-row:1;grid-column:auto}
  .school-gallery figure{margin:0;position:relative;overflow:hidden;background:transparent;border:0;box-shadow:none;cursor:zoom-in;transform:none}
  .school-gallery figure::before,.school-gallery figure::after{display:none !important}
  .school-gallery img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.92) contrast(1.02);transition:transform .72s cubic-bezier(.2,.72,.24,1),filter .38s ease}
  .school-gallery figure:hover img{transform:scale(1.045);filter:saturate(.98) contrast(1.03)}
}

@media(min-width:901px) and (max-width:1280px){
  .hero-copy{width:54vw}
  .hero h1{font-size:clamp(88px,8.2vw,134px)}
  .hero-intro{max-width:640px}
  .hero-intro p{font-size:18px;line-height:1.48}
  .hero-portrait{right:3vw;width:min(45vw,720px);height:93vh}
}

@media(max-width:900px){
  .hero-portrait{width:calc(100% + 40px);height:54svh;right:auto;overflow:hidden}
  .hero-portrait img{width:100%;height:100%;max-width:none;object-fit:contain;object-position:center top}
  .school-gallery{height:auto;display:grid;grid-template-columns:1fr;grid-auto-rows:48svh;gap:10px}
  .school-gallery .g1,.school-gallery .g2{grid-column:auto;grid-row:auto}
  .school-gallery figure{height:48svh;min-height:320px;margin:0;overflow:hidden;background:transparent;border:0;box-shadow:none;cursor:zoom-in}
  .school-gallery figure::before,.school-gallery figure::after{display:none !important}
  .school-gallery img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 45%}
}

.page-school .zoom{cursor:zoom-in}
.page-school .lb img{background:#000}


/* V5.7 — exact source portrait + unified desktop hover language */
@media(min-width:901px){
  /* Exact original portrait: no generated/segmented alpha, no chair/block artifacts.
     Dark studio background is optically removed by contrast + screen blend and soft edge fades. */
  .hero-portrait{
    z-index:2;right:5vw;bottom:0;width:min(47vw,920px);height:100vh;
    overflow:visible;display:flex;align-items:flex-end;justify-content:center;
    transition:scale .58s cubic-bezier(.2,.72,.24,1),filter .42s ease;
    transform-origin:58% 58%;
  }
  .hero-portrait img{
    display:block;width:100%;height:100%;max-width:none;
    object-fit:contain;object-position:center bottom;
    mix-blend-mode:screen;
    filter:brightness(.98);
    opacity:.88;
  }

  /* One interaction language across all visual media on the School page. */
  .hero-portrait,
  .video-stage,
  .school-gallery figure,
  .results-photo,
  .contact-art,
  .contact-links a span{
    will-change:transform,scale;
  }

  .hero-portrait:hover{scale:1.018}
  .hero-portrait:hover img{opacity:.92}

  .video-stage{
    transition:transform .58s cubic-bezier(.2,.72,.24,1),box-shadow .42s ease,border-color .32s ease;
  }
  .video-stage:hover{
    transform:translateY(-46%) scale(1.018);
    border-color:rgba(214,163,84,.42);
    box-shadow:0 42px 120px rgba(0,0,0,.58);
  }

  .school-gallery figure{
    transition:transform .52s cubic-bezier(.2,.72,.24,1),box-shadow .38s ease;
  }
  .school-gallery figure:hover{
    transform:translateY(-2px) scale(1.012);
    box-shadow:0 28px 72px rgba(0,0,0,.22);
  }
  .school-gallery figure:hover img{transform:scale(1.055)}

  .results-photo{overflow:hidden}
  .results-photo img{
    transition:transform .68s cubic-bezier(.2,.72,.24,1),filter .42s ease;
    transform:scale(1);
    will-change:transform;
  }
  .results-photo:hover img{transform:scale(1.032);filter:saturate(.94) contrast(1.045)}

  .contact-art{
    transition:transform .52s cubic-bezier(.2,.72,.24,1),border-color .36s ease,box-shadow .36s ease;
  }
  .contact-art:hover{
    transform:translateY(-50%) scale(1.018);
    border-color:rgba(214,163,84,.24);
    box-shadow:0 0 0 5vw rgba(143,99,216,.03),0 0 0 10vw rgba(143,99,216,.016);
  }
  .contact-art img{transition:transform .52s cubic-bezier(.2,.72,.24,1),opacity .32s ease}
  .contact-art:hover img{transform:scale(1.045);opacity:.22}

  .contact-links a span{
    transition:transform .42s cubic-bezier(.2,.72,.24,1),border-color .3s ease,box-shadow .3s ease,background .3s ease !important;
  }
  .contact-links a:hover span{
    transform:translateY(-3px) scale(1.045) !important;
  }
}

@media(min-width:901px) and (max-width:1280px){
  .hero-portrait{right:3.5vw;width:min(46vw,760px);height:97vh}
}

@media(max-width:900px){
  .hero-portrait img{mix-blend-mode:screen;filter:brightness(.98)}
}

@media(prefers-reduced-motion:reduce){
  .hero-portrait,.video-stage,.school-gallery figure,.school-gallery img,.results-photo img,.contact-art,.contact-art img,.contact-links a span{transition:none !important}
}


/* V5.8 — real cutout silhouette + reliable hover across the whole page */
@media (min-width:901px){
  .hero-portrait{
    z-index:2; right:2.2vw; bottom:0; width:min(42vw,760px); height:96vh;
    overflow:visible; display:flex; align-items:flex-end; justify-content:center;
    transform:translateY(0) scale(1) !important; scale:1 !important;
    transform-origin:52% 58%;
    transition:transform .56s cubic-bezier(.2,.72,.24,1) !important;
  }
  .hero-portrait img{
    display:block; width:auto; height:100%; max-width:none;
    object-fit:contain; object-position:center bottom; mix-blend-mode:normal !important;
    opacity:1 !important;
    filter:contrast(1.05) brightness(.95) drop-shadow(0 28px 72px rgba(0,0,0,.48));
    transform:translateZ(0) scale(1);
    transition:transform .72s cubic-bezier(.2,.72,.24,1), filter .4s ease;
    will-change:transform;
  }
  .hero-portrait:hover{transform:translateY(-4px) scale(1) !important; scale:1 !important;}
  .hero-portrait:hover img{transform:translateZ(0) scale(1.025); filter:contrast(1.06) brightness(.97) drop-shadow(0 34px 86px rgba(0,0,0,.52));}

  .video-stage{transform:translateY(-46%) scale(1) !important; transition:transform .56s cubic-bezier(.2,.72,.24,1), box-shadow .4s ease, border-color .32s ease !important;}
  .video-stage video{transition:transform .72s cubic-bezier(.2,.72,.24,1), filter .35s ease; transform:translateZ(0) scale(1); will-change:transform;}
  .video-stage:hover{transform:translateY(-46%) scale(1.018) !important; border-color:rgba(214,163,84,.42); box-shadow:0 42px 120px rgba(0,0,0,.58);}
  .video-stage:hover video{transform:translateZ(0) scale(1.028); filter:contrast(1.04);}

  .school-gallery figure{transform:translateY(0) scale(1) !important; transition:transform .52s cubic-bezier(.2,.72,.24,1), box-shadow .38s ease !important;}
  .school-gallery img{transform:translateZ(0) scale(1); transition:transform .74s cubic-bezier(.2,.72,.24,1), filter .4s ease !important; will-change:transform;}
  .school-gallery figure:hover{transform:translateY(-3px) scale(1.012) !important; box-shadow:0 28px 72px rgba(0,0,0,.22);}
  .school-gallery figure:hover img{transform:translateZ(0) scale(1.055) !important; filter:saturate(.98) contrast(1.03);}

  .results-photo{overflow:hidden; transition:transform .56s cubic-bezier(.2,.72,.24,1), box-shadow .4s ease;}
  .results-photo img{transform:translateZ(0) scale(1); transition:transform .72s cubic-bezier(.2,.72,.24,1), filter .4s ease !important; will-change:transform;}
  .results-photo:hover{transform:translateY(-3px) scale(1.01); box-shadow:0 32px 80px rgba(0,0,0,.22);}
  .results-photo:hover img{transform:translateZ(0) scale(1.04) !important; filter:saturate(.94) contrast(1.045);}

  .contact-art{transform:translateY(-50%) scale(1) !important; transition:transform .52s cubic-bezier(.2,.72,.24,1), border-color .36s ease, box-shadow .36s ease !important;}
  .contact-art img{transition:transform .52s cubic-bezier(.2,.72,.24,1), opacity .32s ease !important;}
  .contact-art:hover{transform:translateY(-50%) scale(1.018) !important; border-color:rgba(214,163,84,.24); box-shadow:0 0 0 5vw rgba(143,99,216,.03),0 0 0 10vw rgba(143,99,216,.016);}
  .contact-art:hover img{transform:scale(1.045); opacity:.22;}

  .contact-links a{transition:transform .32s ease;}
  .contact-links a span{transform:translateY(0) scale(1) !important; transition:transform .42s cubic-bezier(.2,.72,.24,1), border-color .3s ease, box-shadow .3s ease, background .3s ease !important;}
  .contact-links a img{transition:transform .42s cubic-bezier(.2,.72,.24,1);}
  .contact-links a:hover{transform:translateY(-1px);}
  .contact-links a:hover span{transform:translateY(-3px) scale(1.05) !important;}
  .contact-links a:hover img{transform:scale(1.08);}
}

@media (min-width:901px) and (max-width:1280px){
  .hero-portrait{right:1vw; width:min(41vw,620px); height:93vh;}
}

@media (max-width:900px){
  .hero-portrait{width:calc(100% + 20px); height:54svh; right:auto; overflow:hidden;}
  .hero-portrait img{width:100%; height:100%; max-width:none; object-fit:contain; object-position:center top; mix-blend-mode:normal !important; opacity:1 !important;}
}

@media (prefers-reduced-motion:reduce){
  .hero-portrait,.hero-portrait img,.video-stage,.video-stage video,.school-gallery figure,.school-gallery img,.results-photo,.results-photo img,.contact-art,.contact-art img,.contact-links a,.contact-links a span,.contact-links a img{transition:none !important;}
}
