/* Editorial type and silver detailing echo the supplied wordmark and frames. */
:root{--ivory:#f5eee3;--silver:#d9d3cc;--muted:#c5b8aa}
/* Final layout refinements are loaded after the existing page styles below. */
/* Opening typography sits outside the central performer silhouette. */
#home.hero{background-position:50% 50%}
.hero-heading{position:absolute;left:5%;top:34%;width:27%;margin:0;font:italic clamp(18px,2vw,30px)/1.2 Georgia,serif;text-align:center;text-shadow:0 2px 18px #160b1a}
.hero-role{position:absolute;top:47%;width:29%;text-align:center;color:#fff8ef;text-shadow:0 2px 16px #100815}
.role-left{left:4%}.role-right{right:4%}.role-caption{display:block;font:italic 14px/1.5 Georgia,serif;margin-bottom:17px;color:#f1e6db}
.flap-word{display:flex;justify-content:center;gap:2px;min-height:55px;align-items:center;white-space:pre}
.flap-tile{display:inline-block;position:relative;font:normal clamp(18px,2.55vw,40px)/1.25 Georgia,serif;border-bottom:1px solid #e7d5e24d;min-width:.55em}
.flap-tile:after{content:'';position:absolute;left:0;right:0;top:51%;border-top:1px solid #160b192e;pointer-events:none}
.role-motion{position:absolute;bottom:38px;right:4%;border:0;border-bottom:1px solid #e5d8d866;background:#1711178f;padding:9px 12px;font:12px Georgia,serif;min-height:44px}
.titles-paused .flap-tile{font-size:clamp(12px,1.5vw,22px);border:0}.titles-paused .flap-tile:after{display:none}
#artist{background:url('assets/cinema-v2/hero-1.webp') center/cover no-repeat}
#artist .box{padding:85px 85px 75px}#artist .box:before{background-image:url('assets/frame-chrome.webp')}
#artist .controls{margin-top:16px;font-size:9px;flex-wrap:wrap}
#portfolio{background-image:url('assets/cinema-v2/hero-2.webp');justify-content:flex-end}
.portfolio-enquiry{font:13px Georgia,serif;text-align:center;margin-top:16px;text-decoration:underline;text-underline-offset:5px}
#pictures .box{width:590px;max-width:48%;height:750px;padding:175px 118px 82px}
#pictures .photo-expand{display:flex;flex-direction:column;flex:1;min-height:0;border:0;background:none;color:inherit;padding:0;width:100%;cursor:zoom-in}
#pictures .photo{height:100%;max-height:none;min-height:0;width:100%;flex:1;background:#101010}
#pictures .photo img{object-fit:contain;object-position:center}
.expand-hint{display:block;font:italic 12px Georgia,serif;padding-top:12px;text-align:left}
#video-stage img{object-fit:contain}
.expand-film{display:block;width:fit-content;min-height:40px;margin-top:10px;border:0;background:none;padding:0;font:13px Georgia,serif;text-decoration:underline;text-underline-offset:4px}
.expanded-media{width:min(1100px,94vw);max-width:94vw;max-height:94svh;padding:18px 24px;border:1px solid #c8bba5;background:#141113;color:#f5eee3;overflow:auto}
.expanded-media::backdrop{background:#080609eb;backdrop-filter:blur(8px)}
.viewer-top,.viewer-controls{display:flex;align-items:center;gap:16px;justify-content:space-between}.viewer-top p{margin:0;font:20px Georgia,serif}.viewer-top{margin-bottom:12px}.viewer-close,.viewer-controls button{background:none;border:1px solid #c8bba566;min-width:44px;min-height:44px;color:inherit;font-size:22px}.viewer-content{height:min(70svh,750px);display:grid;place-items:center}.viewer-content img{width:100%;height:100%;min-height:0;object-fit:contain}.viewer-content iframe{width:100%;height:100%;border:0}.film-content{height:auto;aspect-ratio:16/9}.viewer-controls{justify-content:center;margin-top:16px}.viewer-controls a{font-size:13px}
@media(min-width:701px) and (max-width:1000px){#pictures .box{max-width:54%;padding-left:76px;padding-right:76px}#artist .box{padding-left:65px;padding-right:65px}}
@media(max-width:700px){.hero-heading{top:auto;bottom:27%;left:5%;width:90%;font-size:20px}.hero-role{top:auto;bottom:16%;width:44%}.role-left{left:4%}.role-right{right:4%}.role-caption{font-size:11px;margin-bottom:7px}.flap-tile{font-size:clamp(12px,3vw,20px)}.flap-word{min-height:38px}.titles-paused .flap-tile{font-size:9px}.role-motion{bottom:20px;font-size:10px;right:12px}.expanded-media{padding:14px}.viewer-top p{font-size:16px}.viewer-controls{flex-wrap:wrap}.viewer-content{height:65svh}.film-content{height:auto}#pictures .box{width:100%;max-width:none;height:720px;padding:170px 20% 75px}#artist .box{height:660px;padding:80px 17% 75px}#portfolio{background-position:22% top}.hero-scroll{font-size:13px!important;margin-bottom:18px!important}header nav{max-width:245px!important}header nav a{font-size:11px!important}header nav a:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.flap-tile{animation:none!important;transition:none!important}}
body{font-family:Georgia,'Times New Roman',serif}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:20px;z-index:30;background:#181414;padding:12px}.skip-link:focus{top:12px}
header{padding:18px 4%;align-items:center}
header nav{position:relative;border:0;border-top:1px solid #d9d3cc80;border-bottom:1px solid #d9d3cc80;border-radius:42% 8px;background:#171217d9;gap:0;padding:3px 22px}
header nav:before,header nav:after{content:'✦';position:absolute;top:50%;transform:translateY(-50%);color:var(--silver);font-size:15px}header nav:before{left:-7px}header nav:after{right:-7px}
header nav a{font:15px/1.2 Georgia,serif;letter-spacing:.025em;padding:15px 16px;min-height:48px;color:#e0d7cd;background:none}
header nav a:hover,header nav a[aria-current]{background:none;color:white;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
#home.hero{min-height:100svh;height:100svh;padding:0;background:url('assets/cinema-v2/hero-final.webp') center/cover no-repeat;align-items:flex-end;justify-content:center}
.hero-scroll{margin:0 0 30px;padding:12px 20px;text-align:center;font:italic 16px/1.5 Georgia,serif;text-shadow:0 2px 10px #000}.hero-scroll span{display:block;font-style:normal;font-size:20px}
.box h1,.box h2{font-family:Georgia,serif;font-weight:normal;font-size:30px;line-height:1.12;letter-spacing:-.035em}
.box .eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:.12em}
.box .caption{font-family:Georgia,serif;font-size:21px;line-height:1.2}
.box .sub{font:italic 14px/1.5 Georgia,serif}
.box .external{font:13px/1.5 Georgia,serif}
.profile-content p{font:15px/1.6 Georgia,serif;color:#e0d5c9}
.formats span{font:10px/1.5 Georgia,serif;letter-spacing:.06em}
.box .controls{font:11px/1.4 Georgia,serif;letter-spacing:.025em}
.pdf{font:13px/1.4 Georgia,serif;text-transform:none;letter-spacing:0}
.scene-note{font:italic 12px/1.5 Georgia,serif;letter-spacing:.04em;background:transparent;text-transform:none}
#booking{background:url('assets/cinema-v2/hero-3.webp') center/cover no-repeat}
#booking .box{padding:85px 85px 75px;height:620px}
#booking .box:before{background-image:url('assets/frame-silver.webp')}
.booking-intro{font-size:16px;line-height:1.6;color:#ddd1c5;margin:0 0 24px}
.booking-links{display:grid;gap:6px}.booking-links a{position:relative;display:block;border-top:1px solid #c7b99e66;padding:15px 18px 15px 0}.booking-links span{display:block;color:#bfae9b;font-size:12px;margin-bottom:5px;font-style:italic}.booking-links strong{font-size:15px;font-weight:normal;overflow-wrap:anywhere}.booking-links i{position:absolute;right:0;top:30px;font-style:normal}.booking-location{margin-top:auto;font-size:13px;font-style:italic;color:#c3b5a6}
footer{position:absolute;bottom:24px;left:5%;right:5%;display:flex;gap:26px;font-size:13px}footer a:first-child{margin-right:auto}
@media(min-width:701px) and (max-width:1000px){header nav{padding:3px 12px}header nav a{font-size:13px;padding:13px 11px}#booking .box{padding-left:65px;padding-right:65px}.box h1,.box h2{font-size:26px}}
@media(max-width:700px){header{padding:10px 16px;align-items:flex-start;gap:10px}.logo{width:100px;height:48px}header nav{padding:3px 12px;max-width:225px;display:grid;grid-template-columns:1fr 1fr;border-radius:18px}header nav a{padding:8px 7px;font-size:12px;min-height:38px;text-align:center}#home.hero{background-position:50% center}.box h1,.box h2{font-size:25px}.profile-content p{font-size:14px}.box .caption{font-size:19px}.box .sub{font-size:13px}.box .eyebrow{font-size:9px}.box .controls{font-size:10px}#booking{background-position:78% top}#booking .box{height:630px;padding:75px 16% 65px}.booking-intro{font-size:14px}.booking-links strong{font-size:14px}footer{font-size:12px;gap:18px}}
@media(max-width:700px){header{flex-wrap:wrap;gap:0;padding-top:5px}header nav{width:100%;max-width:none!important;display:flex;justify-content:space-between;padding:0 6px;border-radius:14px;background:#171217eb}header nav a{font-size:10px!important;min-height:40px;padding:12px 4px}.hero-role{background:#180e2066;border-radius:4px;padding:10px 3px}.flap-tile{font-size:clamp(12px,3.4vw,18px)}.hero-heading{text-shadow:0 2px 8px #000,0 0 18px #000}}

/* Final scene, frame movement, and readable controls. */
#pictures .box{transform:translateX(3vw)}
#videos .box{width:660px;max-width:57%;height:740px;padding:98px 92px 78px}
#videos .viewport{aspect-ratio:16/9}
#videos .caption{margin-top:24px}
#videos .controls{margin-top:22px}
#home .hero-role{background:rgba(18,10,24,.58);padding:18px 14px;border-radius:6px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#home .role-caption,#home .flap-word{text-shadow:0 2px 10px #09040b,0 0 24px #09040b}
#home .hero-scroll{background:rgba(18,10,24,.76);border:1px solid #e6d4e080;border-radius:3px;min-width:150px;text-shadow:none;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#home .hero-scroll:hover{background:#2c1b33}
.portfolio-teaser{font:17px/1.65 Georgia,serif;color:#e1d3c8;margin:0 0 26px}
.portfolio-open{display:block;width:100%;min-height:54px;background:#dfd2c8;color:#241925;border:0;padding:14px 16px;text-align:left;font:16px Georgia,serif}
.portfolio-open span{float:right}.portfolio-open:hover{background:#f4e9df}
#portfolio .portfolio-enquiry{margin-top:20px}
.portfolio-dialog{width:min(880px,92vw);max-width:92vw;max-height:88svh;padding:38px 46px 42px;background:#1b151d;color:#f5eee3;border:1px solid #d9c8d3;overflow:auto;box-shadow:0 30px 100px #000b}
.portfolio-dialog::backdrop{background:#0d0811cb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.portfolio-dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #a68e9e77;margin-bottom:28px}.portfolio-dialog-head p{font:italic 15px Georgia,serif}.portfolio-dialog-head button{width:48px;height:48px;background:none;border:0;color:inherit;font-size:30px}
.portfolio-dialog h2{font:normal clamp(30px,4vw,48px)/1.1 Georgia,serif;margin:0 0 34px}
.portfolio-dialog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.portfolio-dialog h3{font:normal 21px Georgia,serif;margin:0 0 12px}.portfolio-dialog-grid p{font:15px/1.65 Georgia,serif;color:#d7c9d2;margin:0}
.portfolio-dialog-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:38px;padding-top:22px;border-top:1px solid #a68e9e77}.portfolio-dialog-actions a{text-decoration:underline;text-underline-offset:5px}
#closing{background:url('assets/closing-garden-logo-free.webp') center/cover no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;min-height:100svh}
#closing:before{content:'';position:absolute;inset:0;background:#170c1a55;pointer-events:none}
#closing>*{position:relative;z-index:1}
.closing-line{font:italic clamp(35px,5.5vw,80px)/1.08 Georgia,serif;max-width:850px;margin:0;text-shadow:0 4px 30px #110719}
.closing-cta{display:inline-block;border:1px solid #f4e8f4;padding:14px 24px;min-height:50px;background:#180d20b8;font:16px Georgia,serif}
.closing-cta:hover{background:#3b2450}
@media(prefers-reduced-motion:no-preference){.reveal-frame{opacity:0;translate:0 28px;transition:opacity .85s ease,translate .85s cubic-bezier(.2,.7,.2,1)}.reveal-frame.is-visible{opacity:1;translate:0 0}}
@media(max-width:1000px){#videos .box{max-width:62%;padding:95px 70px 75px}}
@media(max-width:700px){#pictures .box{transform:none}#videos .box{width:100%;max-width:440px;height:670px;padding:82px 16% 72px}#videos .viewport{aspect-ratio:16/9}#home .hero-role{padding:11px 5px}#home .hero-scroll{margin-bottom:75px!important}.portfolio-dialog{padding:22px 24px}.portfolio-dialog-grid{grid-template-columns:1fr;gap:22px}.portfolio-dialog h2{margin-bottom:24px}.portfolio-dialog-actions{gap:15px}#closing{background-position:50% center;padding:120px 24px}.closing-line{font-size:clamp(34px,10vw,54px)}}

/* The role typography belongs on the photograph, without cards. */
#home .hero-role{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}
#home .role-caption,#home .flap-word{text-shadow:0 2px 8px #100714,0 0 20px #100714,0 0 36px #100714}
.flap-word.static-role{display:block;font:normal clamp(17px,2vw,28px)/1.3 Georgia,serif;letter-spacing:.04em;white-space:normal}
.menu-toggle{display:none}
@media(max-width:700px){
  header{padding:12px 16px;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:10px}
  header .logo{width:118px;height:52px}
  .menu-toggle{display:flex;align-items:center;gap:12px;min-height:46px;padding:7px 11px;background:#1b1124e8;border:1px solid #e0cadb88;font:15px Georgia,serif}
  .menu-icon{display:grid;gap:5px}.menu-icon i{display:block;width:18px;height:1px;background:#f5eee3}
  header nav{display:none;position:absolute;top:70px;right:16px;width:min(260px,calc(100vw - 32px));max-width:none!important;padding:8px 12px;background:#1b1420f5;border:1px solid #e0cadb88;border-radius:2px;box-shadow:0 15px 36px #0008}
  header nav:before,header nav:after{display:none}
  header.menu-open nav{display:grid;grid-template-columns:1fr}
  header nav a{display:flex;align-items:center;justify-content:flex-start;min-height:48px;padding:10px 12px!important;font-size:16px!important;text-align:left;border-bottom:1px solid #c9b9a73b}
  header nav a:last-child{border-bottom:0}
  #pictures{padding-top:clamp(170px,22svh,220px);padding-bottom:54px}
  #home .hero-role{top:auto;bottom:27%;width:46%;padding:0!important}
  #home .role-caption{font-size:12px;margin-bottom:8px}
  #home .flap-word{min-height:32px}
  #home .flap-tile{font-size:clamp(15px,4vw,19px)}
  #home .flap-word.static-role{font-size:clamp(12px,3.5vw,16px);letter-spacing:0}
  #home .hero-scroll{position:absolute;bottom:10%;margin:0!important;min-width:0;padding:5px 14px;background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:19px!important;text-shadow:0 2px 8px #100714,0 0 20px #100714}
  #home .hero-scroll span{font-size:24px}
  #home .role-motion{bottom:14px;right:16px;background:transparent;border:0;text-shadow:0 2px 8px #100714}
  #pictures .box{height:680px;padding:140px 17% 70px}
  #pictures .photo{max-height:none}
  #booking{display:flex;flex-direction:column;align-items:center}
  #booking footer{position:relative;left:auto;right:auto;bottom:auto;width:100%;margin-top:28px;padding:0 10px 8px;flex-wrap:wrap;justify-content:center}
  #booking footer a:first-child{margin-right:0}
}
@media(max-width:360px){
  #home .hero-role{bottom:29%;width:47%}
  #home .role-caption{font-size:11px}
  #home .flap-word.static-role{font-size:12px}
  #pictures .box{padding-left:16%;padding-right:16%}
  #booking footer{gap:12px}
}

/* On narrow screens the portraits lead each scene; the silver frames follow below. */
@media(max-width:700px){
  #videos,#portfolio,#booking{align-items:flex-start;padding-top:clamp(340px,42svh,410px);padding-bottom:54px}
  #videos .box,#portfolio .box,#booking .box{margin-top:0}
  #videos .box{height:610px}
  #portfolio .box{height:540px}
  #booking .box{height:560px}
  #videos{background-position:22% top}
  #portfolio{background-position:22% top}
  #booking{background-position:78% top}
}

/* Final scene composition: portrait panels sit alongside the artist; empty stages carry the media. */
#pictures{background-image:url('assets/cinema-v2/gallery-empty.webp')}
#pictures .photo{background:transparent}
#videos{background-image:url('assets/cinema-v2/films-empty.webp')}
#home .flap-word.static-role{font:normal clamp(17px,1.65vw,24px)/1.35 Georgia,serif;letter-spacing:.055em;min-height:0;text-shadow:0 2px 12px #100714,0 0 24px #100714}
#home .hero-scroll{position:absolute;bottom:17%;margin:0!important;min-width:64px;width:64px;height:64px;padding:0;display:grid;place-items:center;background:transparent;border:0;border-radius:50%;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff7ff;text-shadow:0 2px 8px #240e31,0 0 14px #fff,0 0 30px #d486ec}
#home .hero-scroll:hover{background:transparent}
#home .hero-scroll span{font:normal 58px/1 Georgia,serif;-webkit-text-stroke:1.5px #3b174a;filter:drop-shadow(0 0 11px #f3d1ff);animation:arrowGlow 3s ease-in-out infinite}
@keyframes arrowGlow{50%{text-shadow:0 0 14px #fff,0 0 28px #f6c9ff,0 0 48px #c06ddd;transform:translateY(5px)}}
@media(min-width:1001px){
  #artist .box{transform:translateY(calc(295px - 35vh))}
  #portfolio .box{width:min(560px,43vw);max-width:43%;transform:translateY(calc(295px - 35vh))}
  #pictures .box{width:40vw;max-width:760px;height:clamp(650px,48.8vw,940px);padding:clamp(145px,11vw,185px) clamp(90px,7vw,135px) 7%}
  #pictures .photo{max-height:none}
  #booking .box{width:540px;max-width:42%;transform:translateX(3vw)}
  #booking .booking-intro{font-size:18px}
  #booking .booking-links strong{font-size:17px}
  #booking .booking-links span{font-size:13px}
}
#closing{background-image:url('assets/cinema-v2/closing-crowd.webp');overflow:hidden}
#closing .closing-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
#closing:before{z-index:1;background:#170c1a70}
#closing .closing-line,#closing .closing-cta{z-index:2}
.box .frame-spark{position:absolute;z-index:3;top:6%;left:6%;font:25px/1 Georgia,serif;color:#fff8e8;pointer-events:none;text-shadow:0 0 7px #fff,0 0 16px #ffdafb,0 0 28px #c38ed1;animation:frameTravel 8s linear infinite}
@keyframes frameTravel{0%,100%{top:5%;left:6%;opacity:0}8%{opacity:.9}25%{top:5%;left:90%;opacity:.75}50%{top:89%;left:90%;opacity:.9}75%{top:89%;left:6%;opacity:.75}92%{opacity:.9}}
.box:before{animation:frameGleam 6s ease-in-out infinite}
@keyframes frameGleam{50%{filter:brightness(1.17) drop-shadow(0 0 8px #dbb5ee77)}}
.scene-glint{position:absolute;z-index:2;width:7px;height:7px;margin:-3px;border-radius:50%;background:#fff2fb;box-shadow:0 0 8px 3px #ffe4fc,0 0 28px 11px #c77be9;pointer-events:none;opacity:.08;animation:lightBreath 7.2s ease-in-out infinite}
#home .scene-glint{z-index:0;width:13px;height:13px;box-shadow:0 0 20px 8px #fff5ff,0 0 65px 29px #e4a2f1;opacity:.04}
@keyframes lightBreath{0%,18%,72%,100%{opacity:.06;transform:scale(.8)}28%,39%{opacity:.24;transform:scale(1.15)}46%{opacity:.16;transform:scale(.95)}58%{opacity:.29;transform:scale(1.2)}}
@media(max-width:700px){
  #home .flap-word.static-role{font-size:clamp(13px,3.4vw,16px);letter-spacing:.01em}
  #home .hero-scroll{bottom:17%;width:58px;height:58px;padding:0}
  #home .hero-scroll span{font-size:52px}
  #videos{padding-top:clamp(170px,22svh,220px)}
  .scene-glint{box-shadow:0 0 7px 2px #ffe4fc,0 0 19px 7px #c77be9}
}
@media(prefers-reduced-motion:reduce){#home .hero-scroll span,.box .frame-spark,.box:before,.scene-glint{animation:none!important}.box .frame-spark,.scene-glint,#closing .closing-video{display:none}}
