/* Approved direction 2. Shared across all three language editions. */
:root{--gold:#d1ad74;--yellow:#ffe000;--ink:#0b0d0c}
.site-header.is-compact{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 5px 24px #0000000a;color:var(--ink)}
.site-header{transition:background .65s ease,box-shadow .65s ease,color .45s ease}
.site-header .dropdown,.site-header .mobile-menu{backdrop-filter:blur(22px);background:rgba(255,255,255,.97)}
.reading-progress{height:3px!important;bottom:0!important;border:0!important}
.cinema-home .cinema-stage{height:100svh;min-height:640px;max-height:none}
.cinema-home .cinema-copy{padding-bottom:76px}
.international-cinema .cinema-copy h1{font-size:clamp(40px,4.7vw,74px);max-width:950px}
.international-cinema .cinema-copy h1 .display{display:block;font-size:clamp(68px,9vw,140px);line-height:1.05;color:var(--gold)}
.international-cinema .cinema-subtitle{max-width:690px;font-size:19px;line-height:1.6}
.button,.concept-button{position:relative;isolation:isolate;overflow:visible}
.button:not(.black):not(.white):not(.outline):not(.gold-button)::before,.concept-button::before{content:'';position:absolute;inset:5px;z-index:-1;background:linear-gradient(105deg,transparent 25%,#ffe000b3 50%,transparent 72%);filter:blur(13px);opacity:.23;transform:translateX(-7%);animation:button-light 6.5s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.motion-visible::before{animation-play-state:running!important}
@keyframes button-light{0%,100%{transform:translateX(-9%) scale(.94);opacity:.18}50%{transform:translateX(9%) scale(1.035);opacity:.33}}
.button .action-arrow,.button>span[aria-hidden]:not(.firefly-impact),.concept-button>span,.text-link>span,.concept-text-link>span,.proof-card .text-link>span{display:inline-block;transition:transform .3s ease}
.button:hover .action-arrow,.button:hover>span[aria-hidden]:not(.firefly-impact),.concept-button:hover>span{transform:translate(4.6px,-4.6px)!important}
.text-link:hover>span,.proof-card:hover .text-link>span,.concept-text-link:hover>span{transform:translateX(7px)!important}
.proof-selected{padding-top:64px;padding-bottom:58px;background:white;overflow:visible}
.proof-selected h2{max-width:1100px;margin-bottom:34px}
.proof-selected .proof-grid{align-items:start;gap:32px}
.proof-card{display:block;color:var(--ink);text-decoration:none;min-width:0;padding:12px 12px 23px;background:white;box-shadow:0 5px 30px #00000008;transition:transform .4s ease,box-shadow .4s ease;border:1px solid #eee}
.proof-card:nth-child(2){margin-top:28px}.proof-card:nth-child(3){margin-top:56px}
.proof-card:hover,.proof-card:focus-visible{transform:translateY(-7px);box-shadow:0 17px 40px #00000015}
.proof-card .proof-print{margin:0 0 24px;transform:none!important;box-shadow:none!important;position:relative}
.proof-card .proof-print>span:first-child{display:block}
.proof-card .proof-print img{height:248px;width:100%;object-fit:cover;transition:transform .6s ease}
.proof-card .proof-print{overflow:hidden}.proof-card:hover .proof-print img{transform:scale(1.025)}
.proof-card .print-number{background:var(--yellow);color:#161616;font:700 17px Reading;position:absolute;left:12px;bottom:12px;width:37px;height:37px;display:grid;place-items:center}
.proof-card h3{font-size:clamp(25px,2.2vw,33px);line-height:1.12;margin:0 7px 15px}
.proof-card>p{font-size:15px;line-height:1.7;margin:0 7px 20px}
.proof-card>.text-link{display:flex;margin:0 7px;font-size:15px;justify-content:space-between}
.js-reveal [data-reveal]{opacity:0;translate:0 65px;transition:opacity .65s ease,translate .75s cubic-bezier(.21,.67,.2,1),box-shadow .4s,transform .4s;transition-delay:calc(var(--reveal-order,0)*100ms)}
.js-reveal [data-reveal].revealed{opacity:1;translate:0 0}
.course-choice-strip{background:#efefec;border-block:1px solid #e4e4df;padding:32px 0}
.course-choice-strip .cinema-discover{margin:auto;padding:0;max-height:436px;min-height:0;align-items:center}
.course-choice-strip .cinema-discover>a{border-color:#d1ad7488}
.course-choice-strip .cinema-discover img{height:142px;object-fit:cover}
.course-choice-strip .cinema-discover strong{font-size:clamp(22px,2vw,29px);line-height:1.15;margin-top:15px}
.course-choice-strip .cinema-discover h2{font-size:clamp(35px,4vw,55px)}
.course-choice-strip .cinema-discover small{font-size:14px;margin-top:10px}
.steps-selected .intent-grid article{position:relative;padding-top:64px!important;padding-left:0!important}
.steps-selected .step-number{position:absolute!important;left:0!important;top:0!important;font:400 46px/1 Display!important;opacity:1!important;color:#686963}
.steps-selected .intent-grid article h3{font-size:28px;line-height:1.2}
.home-gallery-story,.exhibit-selected,.exhibit-selected .wrap,.exhibit-grid{overflow:visible!important}
.exhibit-selected{padding-block:56px 28px}
.exhibit-grid{gap:38px;padding:35px 12px 0;align-items:start}
.exhibit-item{padding-top:55px;position:relative;min-width:0;overflow:visible!important}
.exhibit-number{font-size:100px!important;line-height:1!important;top:-25px!important;left:0!important;z-index:3;opacity:1!important;pointer-events:none}
.exhibit-photo{height:300px!important;position:relative;overflow:visible!important;transform:rotate(-1.1deg)!important;background:none!important;margin:0!important}
.exhibit-item:nth-child(2) .exhibit-photo{transform:rotate(.9deg)!important}
.exhibit-item:nth-child(3) .exhibit-photo{transform:rotate(-.7deg)!important}
.exhibit-photo>img{width:100%;height:100%;object-fit:cover;transform:none!important;box-shadow:7px 10px 0 #ffffff08}
.exhibit-item:first-child .exhibit-photo>img{object-position:left center!important}
.exhibit-item figcaption{padding:25px 0 0!important}.exhibit-item figcaption h3{font-size:29px!important}
.exhibit-item .crumb-point{position:absolute;z-index:8;transform:translate(-6px,-50%);margin:0;padding:6px;display:flex;gap:8px;align-items:center;max-width:calc(100% - 18px)}
.crumb-point-label{background:rgba(11,13,12,.47)!important;backdrop-filter:blur(3px);color:white;border:1px solid #ffffff28;border-radius:2px;padding:5px 9px!important;font:500 12px Reading!important}
.crumb-dot{width:10px!important;height:10px!important;flex:none;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 4px #ffe00030}
.crumb-lens{pointer-events:none;z-index:7;width:138px!important;height:138px!important;border:2px solid var(--yellow);border-radius:50%;box-shadow:0 8px 25px #0008;opacity:0;transition:opacity .25s}
.crumb-explorer.crumb-active .crumb-lens{opacity:1}
.gallery-manifesto{padding-block:30px 55px!important}.gallery-manifesto .actions{margin-top:24px}
.consulting-spine{background:var(--yellow)!important}.consulting-selected{padding-block:50px!important}
.unified-hero,.page-hero.photo,.hero.course-hero,.revised-course-hero{min-height:510px;height:70svh;max-height:690px;padding-top:125px!important;padding-bottom:48px!important;box-sizing:border-box;position:relative;display:flex;align-items:flex-end}
.unified-hero.photo:after{background:linear-gradient(90deg,#0b0d0cba 0%,#0b0d0c30 78%),linear-gradient(0deg,#0b0d0cb8,transparent 70%)}
.consulting-hero>img{object-position:50% 15%!important}
.revised-course-hero>img{object-position:55% 52%;filter:none!important}
.revised-course-hero:after{background:linear-gradient(90deg,#0b0d0cbd,transparent 83%),linear-gradient(0deg,#0b0d0c99,transparent 70%)}
.course-hero .hero-content{padding-bottom:0;padding-right:340px;position:relative;z-index:2}
.course-hero h1{font:800 clamp(34px,4vw,57px)/1.05 Wide!important}
.course-hero h1 .display{font:400 clamp(65px,8.5vw,126px)/1.04 Display!important;color:var(--gold)!important;transform:none!important;width:auto!important;white-space:normal!important;max-width:900px}
.course-band{padding-block:48px}.course-reading{width:calc(100% - 395px)}
.course-reading .program-column{margin-top:40px}
.program-column>h2{font:800 clamp(38px,4vw,55px)/1.08 Wide!important;margin-bottom:15px;letter-spacing:-.035em;text-transform:none}
.program-column .program-subheading{font-size:12px;letter-spacing:.14em;color:#696b64;margin-bottom:30px}
.program-column .program-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:22px 0!important;border-top:1px solid #d1d2ce}
.program-column .program-row h3,.program-column .program-row h4{font:700 20px/1.35 Reading!important;text-transform:none;letter-spacing:0}
.program-column .program-row p{font:400 16px/1.7 Reading;max-width:700px}
.program-column .program-num{font:400 31px/1 Display!important;margin-right:17px;color:var(--gold)}
.booking-rail{bottom:45px}.booking-card{top:83px!important;padding:23px!important;box-shadow:0 14px 46px rgba(0,0,0,.174)!important;max-height:calc(100svh - 103px);overflow:auto;scrollbar-width:thin;border-top:4px solid var(--yellow)}
.booking-card .price{font-size:61px}.booking-card .tax{font-size:14px;margin-top:6px}
.booking-card .quick-facts{margin:15px 0}.booking-card .quick-facts li{padding:9px 0;font-size:14px}
.booking-card .button{min-height:49px;font-size:14px;padding:12px 15px;width:100%}
.booking-payment{font-size:12px;line-height:1.6;margin:15px 0}
.next-course-date{margin:15px 0 18px;padding:12px 0 12px 12px;border-left:3px solid var(--yellow)}
.next-course-date>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.next-course-date strong{display:block;font:700 20px/1.25 Wide;margin:7px 0}
.next-course-date small{font-size:10px;color:#6a6a65;display:block;line-height:1.4}
.cinematic-proof{background:var(--ink)!important;color:white;padding-block:40px 45px}
.cinematic-proof .course-proof{position:relative;display:grid;grid-template-columns:1fr;gap:0}
.cinematic-proof .course-proof>figure{grid-area:1/1;height:285px;width:56%;margin:0 0 25px auto;overflow:hidden}
.cinematic-proof .course-proof>figure img{height:100%;width:100%;object-fit:cover;object-position:center 45%}
.cinematic-proof .course-proof>div{display:contents}
.cinematic-proof .course-proof .eyebrow{grid-area:1/1;align-self:start;margin-top:23px;z-index:2;color:var(--yellow);max-width:40%;font-size:10px}
.cinematic-proof .course-proof h2{grid-area:1/1;align-self:center;z-index:2;font-size:35px;line-height:1.15;width:80%;margin:0;text-shadow:0 2px 16px #0b0d0c60}
.cinematic-proof .course-proof h2 .display{font-size:clamp(52px,5vw,73px);transform:none;width:auto;margin-top:7px;line-height:1.02}
.cinematic-proof .course-proof>div>p:not(.eyebrow){font-size:17px;line-height:1.7;margin:0 0 24px;color:#ededeb}
.cinematic-proof .course-proof .button{justify-self:start;color:var(--ink);margin:0}
.cinematic-proof .proof-followup{margin-top:30px;padding-top:25px;border-top:1px solid #ffffff35;display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}
.cinematic-proof .proof-followup h3{font:800 26px/1.15 Wide;color:white;margin:0}
.cinematic-proof .proof-followup p{font-size:15px;line-height:1.7;color:#ddd;margin:0}
.extra-editorial{background:#fff!important;border-bottom:1px solid #e5e5e1}
.extra-editorial-top{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:center}
.extra-editorial-top>img{height:210px;width:100%;object-fit:cover}
.extra-editorial h2{font-size:36px;line-height:1.1}.extra-editorial h2 .display{font-size:48px;transform:none!important;width:auto!important;line-height:1.1}
.extra-price{display:inline-flex;align-items:center;gap:12px;background:var(--yellow);padding:11px 14px;margin:20px 0 0}
.extra-price strong{font:800 35px/1 Wide}.extra-price span{font-size:11px;max-width:60px;line-height:1.4}
.extra-description{font-size:16px;line-height:1.75;margin-top:25px}
.extra-techniques{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:25px}
.extra-techniques article{border-top:1px solid #3f413c;padding:17px 0 17px 22px;position:relative}
.extra-techniques article:before{content:'';width:9px;height:9px;background:var(--yellow);position:absolute;left:0;top:23px}
.extra-techniques article:last-child{grid-column:1/-1}.extra-techniques h3{font:800 21px/1.2 Wide;margin-bottom:9px}.extra-techniques p{font-size:14px;line-height:1.6}
.international-arrangements{background:#f0f0ed!important;border-left:6px solid var(--yellow)}
.inline-course-video{margin:32px 0}.inline-course-video h2{font-size:28px;margin:0 0 20px}.video-poster{display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;position:relative;background:#111;color:white;cursor:pointer;overflow:hidden;text-align:left}
.video-poster:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#0009)}
.video-poster img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.video-poster:hover img{transform:scale(1.025)}
.video-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:68px;height:68px;display:grid;place-items:center;background:var(--yellow);color:#111;z-index:2;font-size:22px;border-radius:50%;box-shadow:0 5px 35px #0004}
.video-caption{position:absolute;bottom:24px;left:25px;z-index:2;font:700 20px Wide}.video-consent{font-size:12px!important;line-height:1.6;margin-top:12px;color:#666}
.inline-course-video iframe{width:100%;aspect-ratio:16/9;border:0;display:block;background:#111}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-actions .button{font-size:14px}
.partner-card{display:flex;flex-direction:column;align-items:flex-start;color:var(--ink);text-decoration:none;border:1px solid #e8e8e2;padding:27px;background:white;transition:transform .35s,box-shadow .35s}
.partner-card:hover{transform:translateY(-7px);box-shadow:0 15px 35px #00000016}.partner-card img{transition:transform .4s;max-height:110px;object-fit:contain}.partner-card:hover img{transform:scale(1.055)}
.partner-card .text-link{margin-top:auto;padding-top:20px}.partner-card.labo-card img{filter:brightness(0);height:110px;width:110px}
.partner-products-title{font:400 clamp(45px,7vw,105px)/1.05 Display!important;color:var(--gold);text-transform:uppercase;max-width:100%}
.consulting-pillars{background:#efefeb!important;color:var(--ink)!important;padding-block:45px}
.consulting-pillars .intent-grid{gap:0;grid-template-columns:repeat(3,1fr)}
.consulting-pillars article{padding:20px 30px!important;border-left:1px solid #bfc0b8;position:relative;min-height:230px}
.consulting-pillars article:first-child{border:0}.pillar-number{font:400 68px/1 Display;color:var(--gold);display:block;margin-bottom:25px}
.consulting-pillars h2{font-size:33px!important}.consulting-pillars p{font-size:16px;line-height:1.7}
.consulting-project .split{gap:55px;align-items:center}.consulting-project .split>img{height:360px;object-fit:cover;box-shadow:16px 16px 0 var(--yellow)}
.consulting-brief-box{padding-block:25px!important;background:white!important}.consulting-brief-box>.wrap{background:var(--yellow);padding:42px 46px;max-width:1100px;width:calc(100% - 96px)}
.consulting-brief-box h2{font-size:36px}.consulting-brief-box .prose{max-width:890px}
.journal-index{padding-block:60px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.journal-card{display:block;color:inherit;text-decoration:none;background:#f3f3ef;padding-bottom:25px;transition:transform .3s,box-shadow .3s}
.journal-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #0001}.journal-card img{width:100%;height:215px;object-fit:cover}.journal-card .eyebrow,.journal-card h2,.journal-card p,.journal-card .text-link{margin-left:22px;margin-right:22px}.journal-card .eyebrow{margin-top:25px}.journal-card h2{font-size:28px;line-height:1.12;margin-block:18px}.journal-card p{font-size:15px;line-height:1.7}.journal-card .text-link{display:flex;justify-content:space-between;margin-top:23px}
.journal-article{max-width:880px;margin:auto;padding-block:54px}.journal-article h2{font-size:35px;margin:38px 0 19px}.journal-article p{font-size:18px;line-height:1.85;margin-block:18px}.journal-article .article-intro{font-size:23px;line-height:1.65}.journal-article .article-course{border-left:4px solid var(--yellow);padding:20px 25px;background:#f2f2ee;margin-top:35px}
@media(max-width:1100px){
 .proof-card .proof-print img{height:200px}.proof-card>p{font-size:14px}.proof-card h3{font-size:25px}
 .exhibit-grid{gap:28px}.exhibit-photo{height:250px!important}.exhibit-item figcaption h3{font-size:24px!important}
 .course-hero .hero-content{padding-right:300px}.course-reading{width:calc(100% - 355px)}
 .booking-rail{width:305px}.cinematic-proof .course-proof h2{font-size:30px}.cinematic-proof .course-proof h2 .display{font-size:53px}
 .extra-editorial-top{grid-template-columns:1fr}.extra-editorial-top>img{height:175px}.extra-editorial h2 .display{font-size:48px}
}
@media(max-width:900px){
 .cinema-home .cinema-stage{min-height:600px}.cinema-home .cinema-copy{padding-bottom:52px}
 .proof-selected .proof-grid{gap:18px}.proof-card{padding:8px 8px 18px}.proof-card h3{font-size:22px}.proof-card .proof-print img{height:180px}
 .course-choice-strip .cinema-discover{grid-template-columns:1fr 1fr 1fr}.course-choice-strip .cinema-discover>h2{grid-column:1/-1;font-size:34px;margin-bottom:17px}.course-choice-strip .cinema-discover>h2 br{display:none}
 .steps-selected .intent-grid article h3{font-size:23px}.steps-selected .intent-grid{gap:25px}
 .exhibit-grid{grid-template-columns:1fr 1fr!important;gap:45px}.exhibit-item:last-child{grid-column:1/-1;max-width:calc(50% - 22px)}
 .course-reading{width:100%}.course-hero .hero-content{padding-right:0}.booking-card{max-height:none;overflow:visible}
 .cinematic-proof .course-proof>figure{height:320px}.cinematic-proof .course-proof h2{font-size:39px}.cinematic-proof .course-proof h2 .display{font-size:70px}
 .extra-editorial-top{grid-template-columns:1.2fr 1fr}.extra-editorial-top>img{height:225px}
 .unified-hero,.page-hero.photo,.hero.course-hero,.revised-course-hero{height:65svh;min-height:480px;max-height:620px}
 .journal-grid{grid-template-columns:1fr 1fr}.journal-card:last-child{grid-column:1/-1;max-width:calc(50% - 14px)}
}
@media(max-width:620px){
 .cinema-home .cinema-stage{height:100svh;min-height:590px}.cinema-home .cinema-copy{padding-bottom:45px}
 .international-cinema .cinema-copy h1{font-size:39px}.international-cinema .cinema-copy h1 .display{font-size:63px}.international-cinema .cinema-subtitle{font-size:16px}
 .proof-selected{padding-block:42px}.proof-selected .proof-grid{grid-template-columns:1fr;gap:25px}.proof-card:nth-child(n){margin:0}.proof-card{padding:10px 10px 23px}.proof-card h3{font-size:28px}.proof-card>p{font-size:16px}.proof-card .proof-print img{height:270px}
 .course-choice-strip{padding-block:25px}.course-choice-strip .cinema-discover{grid-template-columns:1fr;max-height:none;gap:18px}.course-choice-strip .cinema-discover>a{padding:0;border:0;display:grid;grid-template-columns:105px 1fr;column-gap:16px}.course-choice-strip .cinema-discover img{height:86px;width:105px;grid-row:span 2}.course-choice-strip .cinema-discover strong{font-size:23px;margin:4px 0 0}.course-choice-strip .cinema-discover small{margin:3px 0 0;font-size:13px}
 .steps-selected .intent-grid{grid-template-columns:1fr!important}.steps-selected .intent-grid article{padding-top:58px!important}.steps-selected .intent-grid article h3{font-size:29px}
 .exhibit-grid{grid-template-columns:1fr!important;gap:50px;padding-inline:8px}.exhibit-item:last-child{grid-column:auto;max-width:none}.exhibit-photo{height:340px!important}.exhibit-number{font-size:88px!important}.exhibit-item figcaption h3{font-size:29px!important}
 .gallery-manifesto h2{font-size:clamp(41px,12.4vw,78px)!important;white-space:normal!important}
 .unified-hero,.page-hero.photo,.hero.course-hero,.revised-course-hero{min-height:460px;height:67svh;padding-top:105px!important;padding-bottom:35px!important}
 .page-hero.photo h1,.page-hero h1{font-size:42px}.course-hero h1{font-size:32px!important}.course-hero h1 .display{font-size:70px!important}
 .course-band{padding-block:36px}.program-column>h2{font-size:39px!important}.program-column .program-row h3,.program-column .program-row h4{font-size:18px!important}
 .cinematic-proof .course-proof>figure{width:100%;height:230px;grid-area:auto;margin-bottom:25px;order:2}.cinematic-proof .course-proof{display:flex;flex-direction:column}.cinematic-proof .course-proof>div{display:contents}
 .cinematic-proof .course-proof .eyebrow{max-width:none;margin:0 0 15px;order:0}.cinematic-proof .course-proof h2{width:100%;font-size:31px;order:1;margin-bottom:24px}.cinematic-proof .course-proof h2 .display{font-size:58px}
 .cinematic-proof .course-proof>div>p:not(.eyebrow){order:3;font-size:16px}.cinematic-proof .course-proof .button{order:4;align-self:flex-start}.cinematic-proof .proof-followup{grid-template-columns:1fr;gap:16px}.cinematic-proof .proof-followup h3{font-size:27px}
 .extra-editorial-top{grid-template-columns:1fr}.extra-editorial-top>img{height:200px}.extra-editorial h2{font-size:33px}.extra-editorial h2 .display{font-size:50px}.extra-techniques{grid-template-columns:1fr}.extra-techniques article:last-child{grid-column:auto}
 .video-caption{font-size:17px;left:17px;bottom:16px}.video-play{width:52px;height:52px;font-size:18px}
 .consulting-pillars .intent-grid{grid-template-columns:1fr}.consulting-pillars article{border-left:0;border-top:1px solid #bfc0b8;padding:25px 0!important;min-height:0}.pillar-number{font-size:55px;margin-bottom:17px}.consulting-project .split>img{height:280px;box-shadow:9px 9px 0 var(--yellow)}
 .consulting-brief-box>.wrap{width:calc(100% - 36px);padding:28px 24px}.consulting-brief-box h2{font-size:30px}
 .journal-grid{grid-template-columns:1fr}.journal-card:last-child{max-width:none;grid-column:auto}.journal-article{width:calc(100% - 40px)}.journal-article h2{font-size:29px}.journal-article p{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;scroll-behavior:auto!important}.js-reveal [data-reveal]{opacity:1;translate:0 0;transition:none}.proof-card:hover,.partner-card:hover,.button:hover .action-arrow{transform:none!important}
}
/* The hotspots are revealed only after their source-image coordinates are set. */
.crumb-points-ready .crumb-point{visibility:visible}
.exhibit-photo::before,.exhibit-photo::after{display:none!important}
.article-hero h1{font:800 clamp(34px,4.5vw,64px)/1.08 Wide!important;max-width:1150px;letter-spacing:-.035em}
@media(max-width:620px){.article-hero h1{font-size:35px!important}.article-hero{height:auto!important;min-height:460px!important}}
@media(max-width:900px){
 .booking-rail,.course-concept .booking-rail{width:calc(100% - 64px);margin:24px auto 0;top:auto;bottom:auto;right:auto}
 .booking-card,.course-concept .booking-card{position:static!important;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:32px;max-height:none}
 .booking-card>*{grid-column:auto;grid-row:auto}
 .booking-card .price{grid-column:1;grid-row:1;font-size:60px;white-space:nowrap;align-self:end}
 .booking-card .tax{grid-column:1;grid-row:2;margin-left:0}
 .booking-card .quick-facts{grid-column:1;grid-row:3/6;display:block;align-self:start}
 .booking-card .next-course-date{grid-column:2;grid-row:1/3;margin-top:0}
 .booking-card>.button{grid-column:2;grid-row:3;align-self:start}
 .booking-card>.booking-payment{grid-column:2;grid-row:4}
 .booking-card>.button.white{grid-column:2;grid-row:5}
}
@media(max-width:620px){
 .booking-rail,.course-concept .booking-rail{width:calc(100% - 40px);margin:20px auto 0}
 .booking-card,.course-concept .booking-card{display:block}
 .booking-card .price{font-size:57px}.booking-card .tax{margin-left:8px}
 .booking-card .quick-facts{display:flex;gap:8px 16px;margin:16px 0}
 .booking-card .quick-facts li{font-size:13px;padding:5px 0}
 .booking-card .next-course-date{margin:17px 0}
 .booking-payment{font-size:14px}.next-course-date small{font-size:12px}
}
.date-preview-detail{max-width:560px;padding:20px 24px;margin-block:25px;background:#f2f2ee}
.date-preview-detail strong{font-size:28px}.date-preview-detail small{font-size:13px}
.cinematic-proof .course-proof>figure{position:relative}
.cinematic-proof .course-proof>figure:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0d0c60,transparent 33%);pointer-events:none}
@media(max-width:620px){.cinematic-proof .course-proof>figure:after{display:none}.mobile-booking .button{font-size:11px;padding-inline:12px}}

/* Readable navigation panels in both transparent and frosted header states. */
.site-header .dropdown,.site-header .mobile-menu{color:var(--ink)!important;background:rgba(255,255,255,.98);border-color:var(--yellow)}
.site-header .dropdown a,.site-header .mobile-menu a,.site-header .mobile-menu summary{color:var(--ink)!important;text-shadow:none}
.site-header .dropdown a{padding:10px 12px;margin-inline:0;border-radius:2px;transform:none!important;transition:background .2s}
.site-header .dropdown a:hover,.site-header .dropdown a:focus-visible,.site-header .mobile-menu a:hover,.site-header .mobile-menu summary:hover{color:var(--ink)!important;background:var(--yellow)}
.site-header .dropdown a:focus-visible,.site-header .mobile-menu a:focus-visible,.site-header .mobile-menu summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.site-header .mobile-menu details{border-color:#0b0d0c22}
.site-header .dropdown a[aria-current=page]{box-shadow:inset 3px 0 var(--yellow)}
.site-header .dropdown{max-height:calc(100svh - 125px);overflow-y:auto}
.site-header.is-compact .dropdown{max-height:calc(100svh - 80px)}
.nav-drop:focus-within:not(.open) .dropdown{display:none}

/* Compact, row-major syllabus: 01–02, 03–04, with all teaching copy retained. */
.program-column .syllabus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.program-column .syllabus-grid .program-row{display:block!important;padding:24px 0!important;border-top:1px solid #d1ad7466}
.program-column .syllabus-grid .program-row h3,.program-column .syllabus-grid .program-row h4{font:700 17px/1.4 Reading!important;margin:0 0 12px;letter-spacing:0}
.program-column .syllabus-grid .program-num{display:block;font:400 55px/1 Display!important;color:var(--gold)!important;margin:0 0 13px}
.program-column .syllabus-grid .program-row p{font:400 15px/1.65 Reading;margin:0;color:#454744}
.program-column .syllabus-grid .program-row .prose p{margin-top:10px;font-size:14px}
.course-values{border:0;padding:0;margin:28px 0;gap:20px}
.course-values>div{display:flex;align-items:center;gap:13px;min-width:0}
.course-values strong,.course-band.dark .course-values strong{display:grid;place-items:center;flex:none;width:72px;height:72px;background:var(--yellow);color:var(--ink);font:800 36px/1 Wide;letter-spacing:-.04em}
.course-values span{font:700 11px/1.4 Reading;letter-spacing:.09em;max-width:72px}
.followup-gold{background:var(--gold);color:var(--ink);padding-block:34px}
.followup-gold .proof-followup{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start;margin:0;padding:0;border:0}
.followup-gold h3{font:800 29px/1.14 Wide;margin:0;letter-spacing:-.025em}
.followup-gold p{font:400 16px/1.7 Reading;margin:0}
.cinematic-proof .course-proof>figure{width:65%;height:300px}
.cinematic-proof .course-proof>figure:after{background:linear-gradient(90deg,#0b0d0cc9,transparent 65%)}
.extra-typographic .extra-editorial-top{display:block}
.extra-typographic .extra-editorial-top>div{position:relative;padding-right:155px}
.extra-typographic .extra-price{position:absolute;right:0;top:12px;width:118px;height:118px;display:flex;flex-direction:column;justify-content:center;gap:7px;box-sizing:border-box;margin:0}
.extra-typographic .extra-price strong{font-size:35px;white-space:nowrap;letter-spacing:-.04em}.extra-typographic .extra-price span{max-width:none;text-align:center}
.extra-typographic .extra-description{margin-top:22px}
.course-offers{background:#f2f2ef;padding-block:42px}
.course-offers h2{font-size:34px;margin:0 0 25px}.course-offers h2 .display{font:400 49px/1.1 Display!important;transform:none!important;width:auto!important}
.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.offer-card{background:white;border-top:4px solid var(--gold);padding:25px;display:flex;flex-direction:column;align-items:flex-start}
.offer-card.offer-1,.offer-card.offer-2{border-color:var(--gold)}
.offer-card h3{font:800 24px/1.15 Wide;letter-spacing:-.03em;margin:0}
.offer-card .offer-value{font:800 clamp(58px,6vw,85px)/1 Wide;letter-spacing:-.06em;margin:22px 0 15px;color:var(--ink)}
.offer-card .offer-value span{font-size:.5em;vertical-align:top;line-height:1.5;letter-spacing:-.02em}
.offer-card>p:not(.offer-value){font:400 16px/1.7 Reading;margin:0 0 24px}
.offer-card .offer-action{margin-top:auto;min-height:40px;background:transparent;border:0;border-top:1px solid #dadad4;padding:16px 0 0;width:100%;font-size:14px;box-shadow:none}
.offer-card .offer-action:before,.offer-card .offer-action:after{display:none}
.offers-reading{max-width:1050px;margin-inline:auto}
.booking-card{transition:box-shadow .3s;will-change:transform}

/* La sede: a photographic editorial, a concise practical strip and the map. */
.venue-editorial-hero>img{object-position:50% 42%!important}
.venue-editorial-hero:after{background:linear-gradient(90deg,#0b0d0cd9 0%,#0b0d0c66 48%,transparent 85%),linear-gradient(0deg,#0b0d0c77,transparent 60%)!important}
.venue-editorial-hero h1{font:800 46px/1.1 Wide!important}
.venue-editorial-hero h1 .display{font:400 clamp(100px,13vw,185px)/.95 Display!important;transform:none!important;width:auto!important;color:var(--gold);margin-top:12px}
.venue-hero-note{font:500 17px/1.5 Reading;letter-spacing:.02em;margin-top:22px}
.venue-studio{padding:65px 0 70px;background:#fff;overflow:hidden}
.venue-studio-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.venue-studio h2{font:800 clamp(36px,4vw,55px)/1.05 Wide;margin:24px 0}
.venue-studio h2 .display{font:400 clamp(65px,6.6vw,98px)/1 Display;transform:none;width:auto;margin-top:8px}
.venue-studio .prose{font:400 17px/1.8 Reading}.venue-studio .prose p{margin:0 0 20px}
.venue-studio .button{margin-top:12px}
.venue-studio-photos{position:relative;padding:0 0 90px 0}
.venue-studio-photos figure{margin:0;position:relative;background:var(--ink);color:white}
.venue-studio-photos figure:first-child{width:87%;margin-left:auto;transform:rotate(1deg);box-shadow:0 18px 45px #0002}
.venue-studio-photos figure:first-child img{width:100%;height:360px;object-fit:cover}
.venue-studio-photos figure:last-child{position:absolute;left:0;bottom:0;width:52%;transform:rotate(-2deg);border:9px solid #fff;box-shadow:0 18px 35px #0002}
.venue-studio-photos figure:last-child img{width:100%;height:185px;object-fit:cover}
.venue-studio-photos figcaption{padding:15px 18px;font:500 12px/1.4 Reading;border-left:4px solid var(--yellow)}
.venue-essentials{background:#eeefec;padding:33px 0}
.venue-essentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.venue-essentials article{position:relative;padding-left:55px}
.venue-number{position:absolute;left:0;top:0;width:35px;height:35px;background:var(--yellow);display:grid;place-items:center;font:700 13px Reading}
.venue-essentials h2{font:800 23px/1.2 Wide;margin:4px 0 13px;letter-spacing:-.03em}
.venue-essentials p{font:400 15px/1.7 Reading;margin:0}
.venue-arrival-map{padding:0!important;background:var(--ink)}
.venue-arrival-map>.wrap{width:100%;max-width:none}
.venue-arrival-map .venue-panorama{min-height:450px;height:450px;border:0}
.venue-arrival-map .venue-copy{padding-left:max(48px,calc((100vw - 1320px)/2));padding-block:35px}
.venue-stay-panel{padding:50px 0;background:var(--gold)}
.venue-stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}
.venue-stay-panel h2{font:800 40px/1.1 Wide;margin:20px 0 0}
.venue-stay-panel h2 .display{display:block;font:400 clamp(54px,5.7vw,82px)/1.05 Display;margin-top:8px;transform:none;width:auto;color:var(--ink)}
.venue-stay-copy h3{font:800 25px/1.2 Wide;margin:0 0 18px}.venue-stay-copy p{font:400 16px/1.75 Reading}
.venue-stay-copy .venue-travel-note{font-size:13px;margin-top:18px}.venue-stay-copy .button{margin-top:20px}
@media(max-width:1100px){
 .course-values{gap:12px}.course-values>div{gap:9px}.course-values strong{width:59px;height:59px;font-size:30px}.course-values span{font-size:10px}
 .program-column .syllabus-grid{gap:0 23px}.program-column .syllabus-grid .program-row h3{font-size:16px!important}
 .offer-card{padding:20px}.offer-card h3{font-size:21px}.offer-card>p:not(.offer-value){font-size:15px}
 .venue-studio-grid{gap:42px}.venue-studio-photos figure:first-child img{height:340px}.venue-studio-photos figure:last-child img{height:150px}
 .venue-essentials-grid{gap:25px}.venue-essentials h2{font-size:21px}.venue-stay-grid{gap:45px}
}
@media(max-width:900px){
 .course-values strong{width:72px;height:72px;font-size:36px}.course-values span{font-size:12px}
 .venue-studio-grid{gap:30px;grid-template-columns:1fr 1fr}.venue-studio h2 .display{font-size:65px}.venue-studio .prose{font-size:16px}
 .venue-studio-photos figure:first-child{width:95%}.venue-studio-photos figure:last-child{width:65%}
 .venue-essentials article{padding:0}.venue-number{position:static;margin-bottom:15px}.venue-essentials h2{font-size:20px}
}
@media(max-width:620px){
 .program-column .syllabus-grid{grid-template-columns:1fr;gap:0}.program-column .syllabus-grid .program-row{padding:22px 0 22px 54px!important;position:relative;min-height:80px}
 .program-column .syllabus-grid .program-num{position:absolute;left:0;top:21px;font-size:43px!important}
 .program-column .syllabus-grid .program-row h3{font-size:17px!important}
 .course-values{gap:10px}.course-values>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.course-values strong{width:67px;height:67px;font-size:34px}.course-values span{font-size:10px}
 .followup-gold .proof-followup{grid-template-columns:1fr;gap:18px}.followup-gold h3{font-size:28px}
 .cinematic-proof .course-proof>figure{width:100%;height:235px}
 .extra-typographic .extra-editorial-top>div{padding-right:0}.extra-typographic .extra-price{position:static;flex-direction:row;width:auto;height:auto;display:inline-flex;margin-top:19px;padding:13px 18px;gap:15px}
 .extra-typographic .extra-price span{max-width:65px;text-align:left}.extra-typographic .extra-price strong{font-size:36px}
 .offer-grid{grid-template-columns:1fr;gap:18px}.course-offers h2{font-size:30px}.course-offers h2 .display{font-size:44px!important}
 .offer-card{display:grid;grid-template-columns:1fr 110px;column-gap:20px;padding:23px}.offer-card h3{font-size:24px;align-self:center}.offer-card .offer-value{font-size:52px;grid-column:2;grid-row:1/3;margin:0;text-align:right}
 .offer-card>p:not(.offer-value){grid-column:1/-1;margin:18px 0}.offer-card .offer-action{grid-column:1/-1}
 .venue-editorial-hero h1{font-size:35px!important}.venue-editorial-hero h1 .display{font-size:115px!important}.venue-hero-note{font-size:15px;max-width:280px}
 .venue-studio{padding:42px 0 50px}.venue-studio-grid{grid-template-columns:1fr;gap:35px}.venue-studio h2{font-size:39px}.venue-studio h2 .display{font-size:68px}
 .venue-studio-photos{padding-bottom:80px}.venue-studio-photos figure:first-child{width:85%}.venue-studio-photos figure:first-child img{height:285px}.venue-studio-photos figure:last-child{width:54%}.venue-studio-photos figure:last-child img{height:140px}
 .venue-studio-photos figcaption{padding:12px;font-size:11px}
 .venue-essentials-grid{grid-template-columns:1fr;gap:25px}.venue-essentials article{padding-left:55px}.venue-number{position:absolute}.venue-essentials h2{font-size:23px;margin-top:3px}.venue-essentials p{font-size:15px}
 .venue-arrival-map .venue-panorama{height:auto;min-height:540px}.venue-arrival-map .venue-copy{padding:200px 20px 32px}.venue-arrival-map .venue-art{inset:0;height:100%}
 .venue-stay-panel{padding:38px 0}.venue-stay-grid{grid-template-columns:1fr;gap:28px}.venue-stay-panel h2{font-size:36px}.venue-stay-panel h2 .display{font-size:61px}.venue-stay-copy h3{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.booking-card{will-change:auto;transform:none!important}}

/* Homepage refinements: optical centring, arrow clearance and clean photography. */
.proof-selected .proof-card .print-number{width:42px;height:42px;padding:0;box-sizing:border-box;display:grid;place-items:center;font:400 32px/1 Display,sans-serif;letter-spacing:0;background:var(--yellow);color:#fff;left:12px;bottom:12px;transform:none}
.proof-card .text-link,.steps-selected .intent-grid .text-link{padding-right:18px!important;gap:15px;box-sizing:border-box}
.proof-card .text-link>span,.steps-selected .intent-grid .text-link>span{flex:none;position:relative}
.home-gallery-story .exhibit-grid{padding:16px 12px 0;gap:36px}
.home-gallery-story .exhibit-item,.home-gallery-story .exhibit-item:nth-child(2){padding-top:76px!important;isolation:isolate}
.home-gallery-story .exhibit-item:nth-child(2){margin-top:30px}
.home-gallery-story .exhibit-item .exhibit-number{top:0!important;left:4px!important;font:400 150px/1 Display,sans-serif!important;z-index:0!important;opacity:1!important}
.home-gallery-story .exhibit-item .exhibit-photo{position:relative;z-index:1;box-shadow:none!important;filter:none!important;background:transparent!important;margin:0!important}
.home-gallery-story .exhibit-item .exhibit-photo>img{display:block;box-shadow:none!important;filter:none!important;opacity:1!important;height:100%!important;width:100%;transform:none!important}
.home-gallery-story .exhibit-item::before,.home-gallery-story .exhibit-item::after,.home-gallery-story .exhibit-photo::before,.home-gallery-story .exhibit-photo::after{content:none!important;display:none!important}
.home-gallery-story .exhibit-item figcaption{position:relative!important;inset:auto!important;margin:0!important;padding:32px 0 0!important;z-index:2;background:none!important}
.home-gallery-story .exhibit-item .exhibit-label{display:block;margin:0 0 13px;line-height:1.4}
.home-gallery-story .exhibit-item figcaption h3{margin:0!important}
.exhibit-item .crumb-point.label-to-left{flex-direction:row-reverse;transform:translate(calc(-100% + 16px),-50%)}

/* A visible, soft moving halo outside yellow actions, not hidden under their fill. */
.button:not(.black):not(.white):not(.outline):not(.gold-button):not(.offer-action)::before,.concept-button::before{inset:-9px -5px;background:radial-gradient(ellipse at 50% 50%,#ffe000bd 0%,#ffe00075 36%,transparent 73%);filter:blur(14px);opacity:.48;transform:translateX(-7%) scale(.96);animation:button-halo 5.5s ease-in-out infinite;animation-play-state:paused;z-index:-1;pointer-events:none}
@keyframes button-halo{0%,100%{transform:translateX(-8%) scale(.94);opacity:.36}50%{transform:translateX(8%) scale(1.035);opacity:.62}}
.button.motion-visible::before,.concept-button.motion-visible::before{animation-play-state:running!important}
.consulting-pillars .intent-grid{gap:34px}
.consulting-pillars .intent-grid article,.consulting-pillars .intent-grid article:first-child{border:0!important;border-top:2px solid var(--gold)!important;padding:25px 0 0!important}
.consulting-pillars .intent-grid article::before,.consulting-pillars .intent-grid article::after{content:none}
.consulting-brief-box h2{max-width:none;margin:0 0 26px}
.consulting-brief-box .consultancy-heading{display:block;font:400 clamp(60px,7vw,94px)/1 Display!important;transform:none!important;width:auto!important;color:var(--ink);margin:0 0 14px}
.consulting-brief-box .consultancy-subheading{display:block;font:800 clamp(24px,2.15vw,31px)/1.22 Wide;letter-spacing:-.035em}
.consulting-brief-box .related-reading{display:flex;flex-wrap:wrap;gap:13px;margin-top:27px}
.consulting-brief-box .related-reading .button{display:inline-flex;justify-content:space-between;gap:25px;background:var(--ink)!important;border:1px solid var(--ink);color:white!important;min-height:52px;padding:15px 20px;font-size:14px;text-decoration:none}
.consulting-brief-box .related-reading .button>span{color:var(--yellow)}
@media(max-width:620px){.consulting-pillars .intent-grid{gap:28px}.consulting-brief-box .consultancy-subheading{font-size:24px}.consulting-brief-box .related-reading .button{width:100%;font-size:13px}}
@media(min-width:1200px){.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.offer-card{padding:22px}.offer-card h3{font-size:22px}.offer-card .offer-value{font-size:65px}.offer-card>p:not(.offer-value){font-size:15px}}
@media(min-width:621px) and (max-width:1199px){.offer-card.offer-2{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;column-gap:25px}.offer-card.offer-2 h3{grid-column:1;grid-row:1}.offer-card.offer-2 .offer-value{grid-column:1;grid-row:2/4;margin:15px 0 0}.offer-card.offer-2>p:not(.offer-value){grid-column:2;grid-row:1/3;margin-bottom:17px}.offer-card.offer-2 .offer-action{grid-column:2;grid-row:3}}
@media(max-width:620px){
 .venue-arrival-map .venue-panorama{padding:0;min-height:0}
 .venue-arrival-map .venue-art{height:265px;width:100%;inset:0 0 auto;transform:none;z-index:-1}
 .venue-arrival-map .venue-approved-background{height:265px;width:540px;min-width:0;left:50%;transform:translateX(-57%)}
 .venue-arrival-map .venue-art:after{background:linear-gradient(180deg,transparent 55%,#0b0d0c 100%)}
 .venue-arrival-map .venue-copy{padding:265px 20px 32px;max-width:none}
 .venue-arrival-map .venue-copy h2{font-size:25px;margin-bottom:22px}.venue-arrival-map .venue-copy h2 .display{font-size:65px}
}
@media(max-width:900px){.home-gallery-story .exhibit-grid{gap:38px}.home-gallery-story .exhibit-item:nth-child(2){margin-top:25px}}
@media(max-width:620px){
 .home-gallery-story .exhibit-grid{gap:37px;padding-inline:8px}
 .home-gallery-story .exhibit-item:nth-child(n){margin-top:0;padding-top:67px!important}
 .home-gallery-story .exhibit-item .exhibit-number{font-size:130px!important}
 .home-gallery-story .exhibit-item figcaption{padding-top:29px!important}
}

/* Precise motion, November review: one follower and one direction per arrow. */
@media(min-width:901px){
 .booking-rail .booking-card.is-following{position:absolute!important;top:0!important;left:0;right:0;width:100%;margin:0;transition:box-shadow .3s;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
}
.booking-card{overflow-x:hidden;min-width:0}
.booking-card>*{min-width:0;max-width:100%}
.booking-card .button{box-sizing:border-box;gap:12px}
.booking-card .button>span:first-child{min-width:0}
.ui-arrow{display:inline-block!important;flex:none;transition:transform .3s ease!important}
:is(.button,.text-link,.concept-button,.concept-text-link):is(:hover,:focus-visible) .ui-arrow.arrow-horizontal{transform:translate(7px,0)!important}
:is(.button,.text-link,.concept-button,.concept-text-link):is(:hover,:focus-visible) .ui-arrow.arrow-diagonal{transform:translate(4.6px,-4.6px)!important}
.consulting-copy .text-link{padding-right:22px!important;box-sizing:border-box}
.home-gallery-story .exhibit-item .exhibit-number{top:-19px!important}
.crumb-point-label{background:rgba(11,13,12,.27)!important;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);border-color:#ffffff20!important;text-shadow:0 1px 4px #0009}
.home-gallery-story .exhibit-item:nth-child(2) .exhibit-photo>img{filter:none!important}
.home-gallery-story .exhibit-item:nth-child(3) .exhibit-photo{overflow:hidden!important}
.home-gallery-story .exhibit-item:nth-child(3) .exhibit-photo>img{filter:none!important;object-position:50% 50%;transform:none!important}
/* A broad light travels irregularly around the entire perimeter. */
.button:not(.black):not(.white):not(.outline):not(.gold-button):not(.offer-action)::before,.concept-button::before{inset:auto;width:48%;height:112%;left:18%;top:0;background:radial-gradient(ellipse,#ffe000d0 0%,#ffe00080 38%,transparent 74%);filter:blur(14px);opacity:.58;transform:translate(-50%,-50%);animation:button-firefly 9s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:paused}
@keyframes button-firefly{
 0%,100%{left:18%;top:0%;opacity:.48}
 18%{left:82%;top:20%;opacity:.68}
 36%{left:91%;top:87%;opacity:.55}
 57%{left:24%;top:100%;opacity:.68}
 74%{left:3%;top:48%;opacity:.54}
 88%{left:55%;top:0%;opacity:.62}
}
@media(max-width:620px){.home-gallery-story .exhibit-item .exhibit-number{top:-15px!important}}
@media(prefers-reduced-motion:reduce){
 .button::before,.concept-button::before{animation:none!important;opacity:.3}
 .js-reveal [data-reveal]{translate:none!important;opacity:1!important;transition:none!important}
 :is(.button,.text-link,.concept-button,.concept-text-link):is(:hover,:focus-visible) .ui-arrow{transform:none!important}
}
/* Keep the light's layout box inside the narrower scrolling price panel. */
.booking-card .button::before{width:26%!important;height:85%!important}
/* Random appearances, never a light travelling around the perimeter. */
.firefly-surface::before,.button.firefly-surface::before,.concept-button.firefly-surface::before{animation:none!important;transition:none!important;left:var(--glow-x,50%);top:var(--glow-y,50%);opacity:0;pointer-events:none}
.video-play{isolation:isolate;overflow:visible;line-height:1;font-size:0!important;box-shadow:0 4px 28px #0003}
.video-play .play-triangle{display:block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #111;transform:translateX(2px)}
.video-play::before{content:'';position:absolute;z-index:-1;width:58px;height:58px;background:radial-gradient(circle,#ffe000cc, #ffe00066 35%,transparent 72%);filter:blur(12px);transform:translate(-50%,-50%)}
.video-play::after{content:'';position:absolute;inset:-12px;border:1px solid #ffe00045;border-radius:50%;pointer-events:none;background:transparent}
.video-poster{overflow:hidden;padding:0;display:block}
.seo-course-application .application-cta{margin-top:24px;max-width:100%;gap:24px;white-space:normal}
.seo-course-application .application-cta>span:first-child{min-width:0}
.enrolment-dialog{border:0;padding:0;width:min(1120px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);overflow:auto;background:#fff;color:var(--ink);box-shadow:0 25px 90px #0005}
.enrolment-dialog::backdrop{background:#0b0d0cb8;backdrop-filter:blur(6px)}
.enrolment-layout{display:grid;grid-template-columns:1.1fr 1fr;position:relative;border-top:5px solid var(--yellow)}
.enrolment-enquiry{padding:42px}.enrolment-enquiry .eyebrow{margin:0 0 22px}
.enrolment-enquiry h2{font:800 clamp(28px,3vw,43px)/1.08 Wide;letter-spacing:-.04em;margin:0 0 30px;outline:none}
.enrolment-close{position:absolute;right:14px;top:12px;z-index:3;width:40px;height:40px;border:0;background:var(--ink);color:white;font:400 28px/1 Reading;cursor:pointer}
.enrolment-summary{padding:52px 38px 36px;background:#f1f2ef;min-width:0}
.enrolment-summary h3{font:800 28px/1.12 Wide;letter-spacing:-.03em;margin:16px 0 24px}
.enrolment-summary>p{font:400 15px/1.65 Reading}.enrolment-summary h4{font:700 19px/1.3 Wide;margin:28px 0 10px}
.enrolment-price{font:800 52px/1 Wide!important;letter-spacing:-.06em;margin:0!important}.enrolment-price small{font-size:16px}
.enrolment-tax{margin:12px 0 22px}.enrolment-summary .next-course-date{margin:20px 0;padding:10px 0 10px 16px;border-left:4px solid var(--yellow)}
.enrolment-summary .next-course-date strong{font-size:21px}.enrolment-deposit{font-size:14px!important}
.enrolment-payments{margin-top:24px;display:grid;gap:12px}.enrolment-payments details{border:1px solid #d6d8d0;background:white;padding:18px}
.enrolment-payments summary{font:700 17px/1.4 Reading;cursor:pointer;list-style:none;padding-right:22px;position:relative}
.enrolment-payments summary:after{content:'+';position:absolute;right:0;top:0}.enrolment-payments details[open] summary:after{content:'−'}
.enrolment-payments p{font:400 14px/1.65 Reading;margin:18px 0}.enrolment-payments .button{width:100%;font-size:13px;padding:15px;gap:12px;white-space:normal}
.enrolment-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.enrolment-form .full{grid-column:1/-1}.enrolment-form .field{min-width:0}
.enrolment-form label{display:block;font:600 13px/1.3 Reading;margin-bottom:9px}.enrolment-form input,.enrolment-form textarea{border:1px solid #d9ddd7;background:#f8f8f6;color:#101310;padding:14px;width:100%;box-sizing:border-box;font:400 16px/1.5 Reading;border-radius:0;min-width:0}
.enrolment-form textarea{resize:vertical;min-height:125px}.enrolment-form .form-privacy{font:400 12px/1.6 Reading;margin:0}.enrolment-form a{text-decoration:underline}
.enrolment-form .button{grid-column:1/-1;white-space:normal;justify-content:space-between;font-size:15px}.enrol-channel-note{font:400 12px/1.5 Reading!important;color:#62695f;margin:0!important}
.course-contact-dark{background:var(--ink)!important;color:white;padding-top:55px!important;padding-bottom:55px!important}
.course-contact-dark .course-reading{max-width:900px;margin-inline:auto!important;width:100%!important}.course-contact-dark .contact-intro{font-size:18px;max-width:630px;margin:24px 0 30px}
.course-contact-dark .request-form{max-width:none}.course-contact-dark .form-privacy,.course-contact-dark .small{color:#e0e3dc}.course-contact-dark .form-privacy a{color:var(--gold)}
/* White hand-drawn map, connected to the last gallery row by an S-shaped reveal. */
.course-after-light-map{position:relative}
.course-map-light{background:transparent!important;color:var(--ink);padding:0!important;position:relative;isolation:isolate}
.course-map-light .course-reading{max-width:none!important;width:100%!important}
.course-map-light .venue-panorama{isolation:auto;min-height:480px;padding:40px 0 55px}
.course-after-gallery .course-map-light .venue-art{top:-260px;bottom:0;height:calc(100% + 260px);width:100vw;overflow:hidden;pointer-events:auto;z-index:-1;mask-image:url('assets/course-map-reveal.svg');mask-size:100% 100%;mask-repeat:no-repeat}
.course-map-light .venue-art .course-map-drawing{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%;opacity:1}
.course-map-light .venue-art:after{background:linear-gradient(90deg,#fff 0%,#ffffffed 20%,#ffffff70 39%,transparent 58%),linear-gradient(0deg,#fff 0%,#ffffff44 14%,transparent 35%)}
.course-map-light .venue-copy{max-width:460px!important;padding-top:45px}
.course-map-light .venue-copy h2,.course-map-light .venue-copy h2 .display,.course-map-light .venue-copy address,.course-map-light .venue-copy .venue-amenities,.course-map-light .venue-stay{color:var(--ink)!important}
.course-map-light .venue-copy h2 .display{font-size:95px}.course-map-light .venue-copy .eyebrow{color:#555b52}
.course-map-light .venue-copy address{font-size:16px;line-height:1.7}.course-map-light .venue-actions{flex-wrap:wrap}
.gallery-map-bridge{background:transparent!important;position:relative;z-index:2;padding-bottom:55px!important}
.gallery-map-bridge .gallery-grid{position:relative;z-index:2}
/* A private course is a project, not a fixed public syllabus. */
.private-course-hero h1{font-size:48px!important}.private-course-hero h1 .display{font-size:clamp(80px,9vw,145px)!important;line-height:.95!important}
.private-course-flow .course-band{padding-block:48px}.private-introduction h2{font-size:38px!important}
.private-introduction .button{margin-top:20px}.private-areas-band{background:#f1f2ef}.private-areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:34px}
.private-areas-grid article{border-top:4px solid var(--yellow);padding-top:22px}.private-areas-grid h3{font:800 23px/1.15 Wide;letter-spacing:-.025em;margin:0 0 15px}
.private-areas-grid p,.private-process-step p{font:400 16px/1.75 Reading;margin:0}.private-scope-note{font:400 14px/1.7 Reading;margin:30px 0 0;border-left:3px solid var(--gold);padding-left:18px}
.private-audience-band{background:var(--ink);color:white}.private-audience h2{font-size:36px!important}.private-audience .display{color:var(--gold)}
.private-process-step{display:grid;grid-template-columns:48px 1fr;gap:22px;border-bottom:1px solid #ddd;padding:28px 0}.private-step-num{width:44px;height:44px;background:var(--yellow);display:grid;place-items:center;font:800 17px Wide}
.private-process-step h3{font:800 23px/1.2 Wide;margin:0 0 13px}.private-consulting-band{background:var(--gold)}.private-consulting .button{margin-top:22px}
.private-faq details{border-bottom:1px solid #ddd;padding:22px 0}.private-faq summary{font:700 18px/1.4 Reading;cursor:pointer}.private-faq p{font:400 16px/1.75 Reading}
@media(max-width:900px){.enrolment-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.enrolment-enquiry{padding:34px 25px}.enrolment-summary{padding:54px 25px 30px}.enrolment-layout{grid-template-columns:1fr 1fr}.enrolment-form{grid-template-columns:1fr}.enrolment-form .full{grid-column:auto}.course-map-light .venue-copy{max-width:390px!important}.private-course-hero h1{font-size:40px!important}}
@media(max-width:620px){
 .enrolment-layout{grid-template-columns:1fr}.enrolment-enquiry{padding:45px 22px 28px}.enrolment-summary{padding:28px 22px}.enrolment-enquiry h2{font-size:34px}.enrolment-summary h3{font-size:25px}.enrolment-price{font-size:47px!important}.enrolment-close{position:sticky;top:8px;float:right;grid-column:1;justify-self:end;margin-right:8px;margin-bottom:-48px}
 .course-map-light .venue-panorama{min-height:0;padding:225px 0 35px}.course-after-gallery .course-map-light .venue-art{top:-110px;height:420px;bottom:auto;mask-size:100% 100%}.course-map-light .venue-art .course-map-drawing{min-width:620px;width:620px;left:50%;transform:translateX(-61%);object-fit:cover}.course-map-light .venue-art:after{background:linear-gradient(0deg,white,transparent 45%)}.course-map-light .venue-copy{padding:0;max-width:100%!important}.course-map-light .venue-copy h2{margin:0 0 25px}.course-map-light .venue-copy h2 .display{font-size:78px}.course-map-light .venue-copy address{font-size:15px}.course-contact-dark .course-reading{width:100%!important}
 .private-areas-grid{grid-template-columns:1fr;gap:24px}.private-course-flow .course-band{padding-block:35px}.private-course-hero h1{font-size:30px!important}.private-course-hero h1 .display{font-size:74px!important}.private-introduction h2,.private-audience h2{font-size:31px!important}.private-process-step{grid-template-columns:38px 1fr;gap:16px}.private-step-num{width:36px;height:36px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){.firefly-surface::before{opacity:0!important}.video-play::after{border-color:#ffe00066}}
/* The partner's own identity supplies colour; the school keeps its typography. */
.partners-colour-section{padding-top:60px;padding-bottom:75px}.partners-colour-section>h2{font:800 clamp(30px,4vw,52px)/1.1 Wide;margin:25px 0 55px;position:relative;z-index:2}
.partners-colour-section>h2 .display{display:block;font:400 clamp(62px,7vw,104px)/1 Display;transform:none;width:auto;margin-top:10px}
.partners-colour-section .partner-grid{gap:30px;align-items:stretch;overflow:visible}
.partner-grid .partner-colour{--partner-color:#eee;display:flex;flex-direction:column;padding:0 28px 28px;background:var(--partner-color);border:0;box-shadow:none;min-width:0;overflow:visible;transition:transform .35s ease,box-shadow .35s ease;transform:none}
.partner-grid .partner-colour:hover,.partner-grid .partner-colour:focus-visible{transform:translateY(-8px);box-shadow:0 20px 35px #14201820}
.partner-grid .partner-colour-0{--partner-color:#f4dfa1}.partner-grid .partner-colour-1{--partner-color:#ead2bf}.partner-grid .partner-colour-2{--partner-color:#e8bce7}.partner-grid .partner-colour-3{--partner-color:#b9e4f7}.partner-grid .partner-colour-4{--partner-color:#d8e1cf}.partner-grid .partner-colour-5{--partner-color:#f5bcc9}
.partner-logo-panel{height:180px;display:grid;place-items:center;margin:0 -28px 24px;border-bottom:1px solid #10141014;overflow:hidden}
.partner-colour .partner-logo-panel img{width:190px;height:110px;object-fit:contain;mix-blend-mode:multiply;padding:0;background:none;transition:transform .4s ease}
.partner-colour:hover .partner-logo-panel img{transform:scale(1.04)}
.partner-colour .partner-category{font:700 11px/1.4 Reading;letter-spacing:.13em;text-transform:uppercase;margin-bottom:14px;color:#31382c}
.partner-grid .partner-colour h3{font:800 25px/1.12 Wide;margin:0 0 18px;letter-spacing:-.03em;color:var(--ink)}
.partner-grid .partner-colour p{font:400 15px/1.7 Reading;color:#222c20;margin:0 0 26px}
.partner-grid .partner-colour .text-link{margin-top:auto;display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid #17201430;color:var(--ink);font-size:14px;gap:22px}
.products-showcase{padding:65px 0!important;background:var(--ink)!important;color:white}
.products-showcase-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.products-showcase-image{position:relative;padding:16px 0 0 16px}.products-showcase-image:before{content:'';position:absolute;inset:0 30px 30px 0;background:var(--yellow)}
.products-showcase-image img{display:block;width:100%;height:490px;object-fit:cover;position:relative}
.products-showcase-copy .partner-products-title{font-size:clamp(60px,6vw,92px)!important;line-height:1.02;color:var(--gold);margin:20px 0 28px}
.products-showcase-copy>p{font:400 17px/1.75 Reading}.products-showcase-copy .button{margin-top:20px}.products-shop-link{display:flex;width:max-content;max-width:100%;gap:35px;margin-top:28px;color:white}
.trademark-note{flex-basis:100%;font:400 11px/1.6 Reading;color:#b7bdb5;max-width:900px;margin:12px 0 0}
/* Compare three shadow colours with a single, bottom-aligned reading action. */
.journal-grid{align-items:stretch}.journal-card{display:flex;flex-direction:column;padding-bottom:27px}.journal-card>p:not(.eyebrow){margin-bottom:28px}.journal-card .text-link{margin-top:auto!important;padding-top:10px;gap:25px;align-items:center}
.journal-arrow{display:inline-block;flex-shrink:0;margin-right:5px;transition:transform .3s ease}.journal-card:is(:hover,:focus-visible) .journal-arrow{transform:translate(5px,-5px)}
.journal-card.journal-shadow-yellow:is(:hover,:focus-visible){box-shadow:0 18px 35px #ffe00066}
.journal-card.journal-shadow-gold:is(:hover,:focus-visible){box-shadow:0 18px 35px #d1ad7477}
.journal-card.journal-shadow-ink:is(:hover,:focus-visible){box-shadow:0 18px 35px #0004}
@media(max-width:900px){.products-showcase-grid{gap:35px}.products-showcase-image img{height:400px}.partner-grid .partner-colour{padding-inline:22px}.partner-logo-panel{margin-inline:-22px}}
@media(max-width:620px){.partners-colour-section>h2 .display{font-size:59px}.partners-colour-section>h2{margin-bottom:38px}.partner-logo-panel{height:155px}.products-showcase-grid{grid-template-columns:1fr;gap:35px}.products-showcase-image img{height:320px}.products-showcase-copy .partner-products-title{font-size:61px!important}.products-showcase{padding-block:40px!important}}
@media(prefers-reduced-motion:reduce){.journal-card:is(:hover,:focus-visible),.partner-grid .partner-colour:is(:hover,:focus-visible),.journal-card:is(:hover,:focus-visible) .journal-arrow{transform:none}.partner-colour:hover .partner-logo-panel img{transform:none}}
/* Native cursor: Pinsa School yellow, with the original compact size and hotspot. */
@media (hover:hover) and (pointer:fine){
 html,body{cursor:url('assets/cursor-arrow-gold.svg?v=yellow-18') 0 0,auto}
 a[href],button,[role=button],summary,label[for],select,input[type=checkbox],input[type=radio],input[type=button],input[type=submit],.crumb-point{cursor:url('assets/cursor-hand-gold.svg?v=yellow-18') 5 0,pointer!important}
 input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),textarea,[contenteditable=true]{cursor:text}
 button:disabled,input:disabled,[aria-disabled=true]{cursor:not-allowed!important}
}
@media (forced-colors:active){html,body{cursor:auto}a[href],button,[role=button],summary,label[for],select,input[type=checkbox],input[type=radio],input[type=button],input[type=submit],.crumb-point{cursor:pointer!important}}
/* Equal dropdown gutters; larger menu type without shifting hover rectangles. */
.site-header .header-nav{font-size:16.8px;gap:24px}
.site-header .dropdown{padding:12px 8px;min-width:300px;box-sizing:border-box}
.site-header .dropdown a{width:100%;box-sizing:border-box}
.site-header .languages .dropdown{min-width:180px}
.site-header .mobile-menu{font-size:19.2px}
.site-header .mobile-menu details a{font-size:18px}
.site-header .mobile-menu .languages a{font-size:16.8px}
@media(min-width:901px) and (max-width:1150px){.site-header .header-inner{grid-template-columns:1fr 95px 1fr;gap:14px}.site-header .header-nav{gap:18px}.site-header .logo{width:95px}}
.course-map-light{overflow:visible!important}
.course-after-light-map{overflow-x:clip;overflow-y:visible}
.partner-colour .partner-logo-panel{align-self:stretch}
/* The map may show in gallery gaps, never on top of the photographs. */
.course-flow{z-index:2}.course-after-light-map{z-index:1}
/* 2 November: image details, one-time number emergence and real edge impacts. */
.js-number-reveal .home-gallery-story .exhibit-item .exhibit-number{translate:0 56px;transition:translate 1s cubic-bezier(.22,.72,.18,1);transition-delay:calc(var(--number-order,0)*130ms)}
.js-number-reveal .home-gallery-story .exhibit-item.number-revealed .exhibit-number{translate:0 0}
.home-gallery-story .exhibit-item:nth-child(3) .exhibit-photo{height:auto!important;aspect-ratio:3/2;overflow:visible!important}
.home-gallery-story .exhibit-item:nth-child(3) .exhibit-photo>img{height:auto!important;aspect-ratio:3/2;object-fit:contain!important}
.journal-card>img{height:auto;aspect-ratio:3/2;object-fit:cover}
.journal-card.journal-shadow-ink:is(:hover,:focus-visible){box-shadow:0 18px 35px #0004}
.firefly-surface::before,.button.firefly-surface::before,.concept-button.firefly-surface::before{display:none!important;content:none!important}
.firefly-surface>.firefly-impact,.button.firefly-surface>.firefly-impact,.concept-button.firefly-surface>.firefly-impact{
 position:absolute!important;display:block!important;z-index:-1;pointer-events:none;width:132px!important;height:88px!important;max-width:none!important;margin:0!important;padding:0!important;inset:auto;left:50%;top:50%;translate:-50% -50%;transform:none!important;border:0;border-radius:50%;background:radial-gradient(ellipse,#ffe000eb 0%,#ffe000b0 25%,#ffe00052 48%,transparent 72%);filter:blur(17px);opacity:0;transition:none!important
}
.video-play.firefly-surface>.firefly-impact{width:88px!important;height:88px!important}
.extra-typographic .extra-aligned-price>div{padding-right:0;display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:18px 22px;align-items:stretch}
.extra-typographic .extra-aligned-price .eyebrow{grid-column:1/-1;margin-bottom:0}
.extra-typographic .extra-aligned-price h2{grid-column:1;margin:0;align-self:center;font-size:36px;line-height:1.1}
.extra-typographic .extra-aligned-price h2 .display{font-size:clamp(38px,4vw,52px);margin-top:5px;line-height:1}
.extra-typographic .extra-aligned-price .extra-price{position:static;grid-column:2;grid-row:2;width:auto;height:auto;margin:0;padding:10px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.extra-typographic .extra-aligned-price .extra-price strong{font:400 61px/.95 Display;letter-spacing:0}
.extra-typographic .extra-aligned-price .extra-price span{max-width:none;font-size:11px;text-align:center}
/* A less exposed S blend: faint road traces between photos, full drawing below. */
.course-map-light .venue-art .course-map-drawing{object-fit:contain;object-position:50% 70%}
.course-map-light .venue-art:after{background:linear-gradient(90deg,#fff 0%,#ffffffed 20%,#ffffff70 39%,transparent 58%),linear-gradient(0deg,#fff 0%,#ffffff44 14%,transparent 35%)}
/* Mobile: two lines / X and direct language access, no square Menu button. */
.mobile-controls{display:none}
@media(max-width:900px){
 .header-inner,.concept-home .header-inner{grid-template-columns:1fr 93px 1fr;gap:8px}
 .header-inner>.header-nav{display:none!important}
 .header-inner>.logo-link{grid-column:2;grid-row:1}
 .mobile-controls{display:flex;align-items:center;justify-self:end;grid-column:3;grid-row:1;gap:5px}
 .mobile-controls .menu-button{display:flex;position:relative;align-items:center;justify-content:center;width:44px;height:44px;border:0!important;padding:0;background:transparent;color:inherit;flex-shrink:0}
 .menu-button .menu-line{position:absolute;left:9px;width:26px;height:2px;background:currentColor;border-radius:1px;transition:transform .3s ease}
 .menu-button .menu-line:first-child{transform:translateY(-4px)}.menu-button .menu-line:last-child{transform:translateY(4px)}
 .menu-button[aria-expanded=true] .menu-line:first-child{transform:rotate(45deg)}.menu-button[aria-expanded=true] .menu-line:last-child{transform:rotate(-45deg)}
 .mobile-language{position:relative}
 .mobile-language summary{display:flex;align-items:center;justify-content:center;width:39px;height:44px;cursor:pointer;list-style:none;padding:0}
 .mobile-language summary::-webkit-details-marker{display:none}
 .mobile-language summary img{width:27px;height:18px;object-fit:cover;box-shadow:0 0 0 1px #ffffff33}
 .mobile-language-options{position:absolute;top:48px;right:0;min-width:176px;padding:8px;background:#fff;color:var(--ink);border-top:3px solid var(--yellow);box-shadow:0 12px 30px #0003}
 .mobile-language-options a{display:flex;align-items:center;gap:12px;padding:11px 10px;text-decoration:none;font:500 16px Reading}
 .mobile-language-options a img{width:27px;height:18px;object-fit:cover}
 .mobile-language-options a:is(:hover,:focus-visible),.mobile-language-options a[aria-current=true]{background:var(--yellow)}
 .site-header .mobile-menu:not([hidden]){color:var(--ink);background:rgba(255,255,255,.97)!important}
}
@media(max-width:620px){
 .js-number-reveal .home-gallery-story .exhibit-item .exhibit-number{translate:0 48px;transition-delay:0s}
 .js-number-reveal .home-gallery-story .exhibit-item.number-revealed .exhibit-number{translate:0 0}
 .extra-typographic .extra-aligned-price>div{grid-template-columns:minmax(0,1fr) 92px;gap:15px 12px}
 .extra-typographic .extra-aligned-price h2{font-size:28px}.extra-typographic .extra-aligned-price h2 .display{font-size:clamp(31px,8vw,43px)}
 .extra-typographic .extra-aligned-price .extra-price{padding:4px;gap:3px}.extra-typographic .extra-aligned-price .extra-price strong{font-size:40px}.extra-typographic .extra-aligned-price .extra-price span{font-size:9px;white-space:nowrap}
 .course-map-light .venue-art .course-map-drawing{object-fit:contain}
}
@media(prefers-reduced-motion:reduce){.home-gallery-story .exhibit-number{translate:none!important;transition:none!important}.firefly-impact{display:none!important}.menu-button .menu-line{transition:none}}

/* Soft outer button light must never create a horizontal page scroller. */
html{overflow-x:clip}
/* Open FAQ answers need a clear pause after the question, not loose line spacing. */
.private-faq details[open]>summary,.faq details[open]>summary{margin-bottom:20px}
.private-faq details>p,.faq details .prose>p{margin-top:0;line-height:1.55}
.private-faq details>p+p,.faq details .prose>p+p{margin-top:14px}

/* Minimal booking: details belong inside the enquiry dialog. */
.booking-card,.booking-rail .booking-card.is-following{max-height:none!important;overflow:visible!important}
.booking-card .price{font-size:54px!important;line-height:1}
.booking-card .quick-facts{margin:12px 0!important}.booking-card .quick-facts li{padding:7px 0!important}
.booking-card .next-course-date{margin:16px 0!important;padding-top:6px;padding-bottom:6px}
.booking-card .next-course-date strong{font-size:21px}
.enrolment-dialog{width:min(940px,calc(100vw - 32px));max-height:calc(100dvh - 24px)}
.enrolment-layout{grid-template-columns:1.15fr 1fr}
.enrolment-enquiry{padding:28px}.enrolment-enquiry h2{font-size:27px;margin:0 0 18px}
.enrolment-summary{padding:48px 28px 24px}.enrolment-summary h3{font-size:24px;margin:0 0 16px}
.enrolment-summary>p{font-size:14px;line-height:1.45}.enrolment-price{font-size:44px!important}
.enrolment-tax{margin:4px 0 12px}.enrolment-summary .next-course-date{margin:14px 0}
.enrolment-form{grid-template-columns:1fr 1fr;gap:12px}.enrolment-form .full{grid-column:1/-1}
.enrolment-form label{margin-bottom:4px;font-size:12px}.enrolment-form .field{gap:3px}
.enrolment-form input,.enrolment-form textarea{padding:9px 10px;line-height:1.3}
.enrolment-form textarea{min-height:65px;height:65px;resize:none}
.enrolment-form .button{min-height:44px;padding:12px;font-size:14px}
.enrolment-form .form-privacy{line-height:1.3}.enrolment-payments{margin-top:18px;gap:8px}
.enrolment-payments p{margin:0;line-height:1.45}.enrolment-next-step{margin:20px 0 0}
.enrolment-switch{display:none}
@media(max-width:650px){
 .enrolment-dialog{width:calc(100vw - 24px)}.enrolment-layout{display:block}
 .enrolment-close{position:absolute;top:10px;right:10px;margin:0;float:none;width:32px;height:32px}
 .enrolment-switch{display:flex;gap:8px;padding:14px 54px 12px 18px;border-bottom:1px solid #ddd}
 .enrolment-switch button{border:0;background:none;padding:8px 10px;font:600 14px Reading;color:var(--ink)}
 .enrolment-switch button[aria-pressed=true]{background:var(--yellow)}
 .enrolment-dialog[data-view=info] .enrolment-enquiry,.enrolment-dialog[data-view=enquiry] .enrolment-summary{display:none}
 .enrolment-enquiry,.enrolment-summary{padding:20px}.enrolment-enquiry h2{font-size:23px;margin-bottom:14px}
 .enrolment-summary h3{font-size:24px}.enrolment-form{grid-template-columns:1fr 1fr;gap:10px}
 .enrolment-form .full{grid-column:1/-1}.enrolment-summary .next-course-date strong{font-size:20px}
}
@media(min-width:651px) and (max-height:700px){
 .enrolment-enquiry{padding:20px}.enrolment-summary{padding:42px 22px 20px}
 .enrolment-enquiry h2{font-size:24px;margin-bottom:12px}.enrolment-form{gap:9px}
 .booking-card{padding:16px!important}.booking-card .price{font-size:46px!important}
 .booking-card .quick-facts li{padding:5px 0!important}.booking-card .next-course-date{margin:10px 0!important}
}

/* One smooth, directional motion for every action arrow. */
html:root body [data-arrow-action] .ui-arrow{--arrow-x:0px;--arrow-y:0px;transform:translate(0,0)!important;transition:transform 240ms cubic-bezier(.2,.65,.3,1)!important;transition-delay:0s!important;animation:none!important}
html:root body [data-arrow-action] .ui-arrow[data-direction=right]{--arrow-x:6px}
html:root body [data-arrow-action] .ui-arrow[data-direction=up-right]{--arrow-x:5px;--arrow-y:-5px}
html:root body [data-arrow-action] .ui-arrow[data-direction=left]{--arrow-x:-6px}
html:root body [data-arrow-action] .ui-arrow[data-direction=down]{--arrow-y:6px}
html:root body [data-arrow-action] .ui-arrow[data-direction=up]{--arrow-y:-6px}
html:root body [data-arrow-action] .ui-arrow[data-direction=down-right]{--arrow-x:5px;--arrow-y:5px}
html:root body [data-arrow-action]:is(:hover,:focus-visible) .ui-arrow{transform:translate(var(--arrow-x),var(--arrow-y))!important}
/* The course arrows arrive at the photo edge, never beyond it. */
html:root body .cinema-discover [data-arrow-action] strong{padding-right:6px;gap:12px}
html:root body .cinema-discover [data-arrow-action] .ui-arrow{transform:translate(-5px,5px)!important}
html:root body .cinema-discover [data-arrow-action]:is(:hover,:focus-visible) .ui-arrow{transform:translate(0,0)!important}
/* Ten percent more of each number above the photo; twice the reveal duration. */
.home-gallery-story .exhibit-item .exhibit-number{top:-28.5px!important}
.js-number-reveal .home-gallery-story .exhibit-item .exhibit-number{transition-duration:2s;transition-delay:calc(var(--number-order,0)*260ms)}
@media(max-width:620px){.home-gallery-story .exhibit-item .exhibit-number{top:-24.1px!important}}
.crumb-point:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){
 html:root body [data-arrow-action] .ui-arrow,html:root body [data-arrow-action]:is(:hover,:focus-visible) .ui-arrow{transform:none!important;transition:none!important}
 .js-number-reveal .home-gallery-story .exhibit-item .exhibit-number{transition:none!important;translate:none!important}
}
