*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eee9db;color:#20231d;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:1px solid currentColor;background:transparent;color:inherit;padding:10px 14px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e8a934;outline-offset:5px}figure,p,h1,h2,h3{margin:0}img{display:block;width:100%;height:100%;object-fit:cover}
.skip{position:absolute;left:16px;top:-100px;z-index:100;background:#fff;color:#000;padding:12px}.skip:focus{top:12px}
header{padding:28px 4vw;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:900;font-size:32px;letter-spacing:-2px}nav{display:flex;gap:28px;font:13px Arial,sans-serif}nav a:hover,nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.mono{font:11px 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase}
.cta{display:inline-flex;align-items:center;justify-content:center;padding:17px 25px;font:bold 14px Arial,sans-serif;background:#d85328;color:#fff;white-space:nowrap;border:0}.cta:hover{background:#c04620}
h1{font-size:clamp(64px,8.7vw,132px);line-height:.85;letter-spacing:-.075em;font-weight:900}
.intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:36px 4vw 32px;gap:30px}.intro-right{display:flex;align-items:end;justify-content:space-between;gap:25px}.intro p{max-width:340px}
.rail-head{display:flex;justify-content:space-between;padding:22px 4vw 14px}
.roll{background:#1d211c;padding:29px 0 30px;position:relative}
.frames{display:flex;gap:26px;overflow-x:auto;padding:7px 4vw 3px;scroll-snap-type:x mandatory;scrollbar-width:none}.frames::-webkit-scrollbar{display:none}.frames figure{flex:0 0 490px;scroll-snap-align:center;color:#e4b04b}.frames figure.tall{flex-basis:270px}.frames img{height:355px}.frames figcaption{display:flex;justify-content:space-between;padding-top:12px;font:11px 'Courier New',monospace}
.controls{display:flex;justify-content:space-between;align-items:center;padding:18px 4vw}.control-buttons{display:flex;gap:8px}.control-buttons button{width:48px;font-size:20px;padding:5px}.end-note{font:italic 20px Georgia,serif}
footer{display:flex;justify-content:space-between;gap:20px;font:11px 'Courier New',monospace;padding:28px 4vw;border-top:1px solid #c7c6ba}.motion{font:11px 'Courier New',monospace}

/* gallery */
.page-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;padding:36px 4vw 40px}.page-intro p{max-width:400px;justify-self:start}
.filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 4vw 22px}.filters button{font:11px 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px}.filters button[aria-pressed=true]{background:#20231d;color:#eee9db;border-color:#20231d}
.sheet{background:#1d211c;color:#e4b04b;padding:40px 4vw 44px;position:relative}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.grid figure{cursor:zoom-in;transition:opacity .35s}.grid figure[hidden]{display:none}.grid .ph{aspect-ratio:3/2;overflow:hidden;background:#111}.grid .ph.tall{aspect-ratio:auto;height:100%}.grid figure.tall{grid-row:span 2;display:flex;flex-direction:column}.grid figure.tall .ph{flex:1}.grid img{transition:transform .6s}.grid figure:hover img{transform:scale(1.03)}.grid figcaption{display:flex;justify-content:space-between;padding-top:12px;font:11px 'Courier New',monospace}
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(20,22,19,.96);color:#e4b04b;display:none;flex-direction:column}.lightbox.open{display:flex}.lb-top{display:flex;justify-content:space-between;align-items:center;padding:20px 4vw}.lb-img{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 4vw}.lb-img img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.lb-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 4vw 24px}

/* book */
.sessions{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c7c6ba;margin:0 4vw}.sessions article{padding:26px 22px 30px 0;border-right:1px solid #c7c6ba}.sessions article+article{padding-left:22px}.sessions article:last-child{border-right:0}.sessions h3{font-size:28px;letter-spacing:-.04em;font-weight:900;margin:14px 0 10px}.sessions p{font-size:14px;line-height:1.5}
.booking{display:grid;grid-template-columns:320px 1fr;gap:40px;padding:56px 4vw 64px}.booking h2{font-size:clamp(40px,4.4vw,64px);line-height:.9;letter-spacing:-.06em;font-weight:900;margin:14px 0 18px}.booking .side p{font-size:15px;line-height:1.55}.steps{list-style:none;padding:0;margin:26px 0 0;counter-reset:s}.steps li{counter-increment:s;display:flex;gap:14px;padding:12px 0;border-top:1px solid #c7c6ba;font-size:14px}.steps li:before{content:'0' counter(s);font:11px 'Courier New',monospace;padding-top:3px;color:#d85328}
.cal-frame{background:#fff;border:1px solid #c7c6ba;min-height:640px;position:relative}.cal-frame #cal-inline{width:100%;height:100%;min-height:640px;overflow:auto}
.cal-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:30px;background:#1d211c;color:#e4b04b}.cal-empty strong{font:italic 22px Georgia,serif;color:#eee9db}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.paused *{transition:none!important;animation:none!important}body.paused{scroll-behavior:auto}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.sessions{grid-template-columns:repeat(2,1fr)}.sessions article:nth-child(2){border-right:0}.sessions article:nth-child(3){padding-left:0}.sessions article:nth-child(n+3){border-top:1px solid #c7c6ba}.booking{grid-template-columns:1fr}}
@media(max-width:600px){header{padding:22px;display:block}.brand{font-size:30px}nav{margin-top:24px;justify-content:space-between;gap:18px;font-size:12px}.intro,.page-intro{display:block;padding:30px 22px 12px}h1{font-size:76px}.intro-right{margin-top:24px;align-items:center;gap:15px}.intro p{font-size:13px;max-width:150px}.page-intro p{margin-top:20px;font-size:14px}.cta{padding:15px 18px;font-size:12px}.rail-head{padding:20px 22px 13px}.frames{padding-left:22px;gap:18px}.frames figure{flex-basis:285px}.frames figure.tall{flex-basis:200px}.frames img{height:300px}.controls{padding:16px 22px}.end-note{font-size:15px}footer{font-size:10px;padding:18px 24px 24px;flex-wrap:wrap}.filters{padding:14px 22px 18px}.sheet{padding:40px 22px 36px}.grid{grid-template-columns:1fr;gap:22px}.grid figure.tall{grid-row:auto}.grid .ph.tall{aspect-ratio:2/3}.sessions{grid-template-columns:1fr;margin:0 22px}.sessions article,.sessions article+article{padding:22px 0;border-right:0;border-top:1px solid #c7c6ba}.sessions article:first-child{border-top:0}.booking{padding:40px 22px 48px;gap:28px}.cal-frame,.cal-frame #cal-inline{min-height:560px}}
.ig{text-decoration:underline;text-underline-offset:3px}
/* pull quotes */
.intro p,.page-intro p{position:relative;font:italic 400 clamp(22px,2.1vw,30px)/1.22 Georgia,'Times New Roman',serif;letter-spacing:-.01em;padding:0 0 0 26px;border-left:3px solid #d85328}
.intro p:before,.page-intro p:before{content:'“';position:absolute;left:20px;top:-.52em;font:900 2.4em/1 Georgia,serif;color:#d85328}
.intro p .mono,.page-intro p .mono{display:block;margin-top:16px;font-style:normal;color:#6b6d62}
.intro p .mono:before,.page-intro p .mono:before{content:'— '}
.page-intro{grid-template-columns:auto 1fr;column-gap:7vw}.intro{grid-template-columns:auto 1fr;column-gap:7vw}
@media(max-width:600px){.intro p,.page-intro p{font-size:22px;max-width:none;padding-left:18px}.intro p:before,.page-intro p:before{left:12px}.intro-right{display:block}.intro-right .cta{margin-top:26px}.intro p{margin-top:40px}.page-intro p{margin-top:40px}}
