/* Lost Dogma exhibition study */
:root{--paper:#f6f5f1;--paper2:#efede7;--ink:#252522;--muted:#666660;--line:#c9c8c1;--gold:#675f50;--night:#252522}
body{background:var(--paper);color:var(--ink)}
.site-header{height:auto;min-height:86px;border-bottom-color:var(--ink)}
.wordmark{font-size:1.85rem;letter-spacing:-.045em}
.site-nav{font-size:.73rem;letter-spacing:.09em;gap:clamp(18px,2.5vw,38px)}
.site-nav a,.line-link{transition:color .25s ease,border-color .25s ease,opacity .25s ease}
.eyebrow{color:var(--muted);font-size:.75rem;letter-spacing:.13em;font-weight:500}
.line-link{letter-spacing:.1em;font-size:.76rem}
.hero{display:flex;flex-direction:column;justify-content:space-between;gap:0;min-height:min(780px,calc(100dvh - 86px));padding-block:clamp(40px,5vw,72px) clamp(45px,5vw,76px)}
.hero-top,.hero-bottom{width:100%;display:flex;justify-content:space-between;align-items:start;gap:32px}
.hero-number{font:400 .81rem/1.5 'DM Sans',sans-serif;color:var(--muted);text-align:right}
.hero h1{font:400 clamp(6rem,14.1vw,15rem)/.79 'EB Garamond',serif;letter-spacing:-.075em;margin:clamp(75px,8vw,125px) 0 clamp(60px,7vw,115px);white-space:nowrap}
.hero h1 em{font-weight:400;padding-right:.08em}
.hero-bottom{align-items:end}
.hero-bottom p{font:400 clamp(1.65rem,2.45vw,2.7rem)/1.08 'EB Garamond',serif;letter-spacing:-.025em;margin:0}
.folio{border-top-color:var(--ink);padding-block:22px;font-size:.73rem;letter-spacing:.09em}
.section{padding-block:clamp(100px,12vw,190px)}
.section h2,.edition-band h2,.contact h2{font:400 clamp(4.2rem,7.3vw,8rem)/.91 'EB Garamond',serif;letter-spacing:-.06em;margin:26px 0 0}
.section h2 em,.edition-band h2 em{font-weight:400}
.large-copy{font-size:clamp(1.9rem,2.65vw,3.05rem)}
.body-copy{max-width:56ch;line-height:1.75}
.practice{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(55px,10vw,170px)}
.practice-heading{display:flex;flex-direction:column;align-items:flex-start}
.practice-heading .line-link{margin-top:auto}
.works{display:block;margin:0;border-top:1px solid var(--ink)}
.work{display:grid;grid-template-columns:135px 1fr;gap:28px;border-top:0;border-bottom:1px solid var(--line);padding:37px 0 39px}
.work-index,.edition-index{font:500 .74rem/1.5 'DM Sans',sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.work h3{font:400 clamp(2.65rem,4vw,4.7rem)/.95 'EB Garamond',serif;letter-spacing:-.045em;margin:0 0 12px}
.work p{font-size:.94rem;line-height:1.6;margin:0;max-width:42ch}
.edition-band{background:var(--paper2);color:var(--ink);padding-block:clamp(105px,12vw,190px)}
.edition-band .eyebrow,.contact .eyebrow{color:var(--muted)}
.edition-intro{display:grid;grid-template-columns:.28fr 1fr .4fr;align-items:end;gap:40px}
.edition-band h2{margin:0}
.edition-intro p{max-width:26ch;margin:0 0 5px;color:var(--muted);line-height:1.7}
.edition-list{border-top-color:var(--ink);margin-top:clamp(70px,9vw,135px)}
.edition-row{grid-template-columns:.28fr 1fr .4fr;gap:40px;padding:44px 0;border-bottom-color:var(--line)}
.edition-row strong{font:400 clamp(2.55rem,4vw,4.55rem)/.93 'EB Garamond',serif;letter-spacing:-.04em}
.edition-row strong i{font-weight:400;color:var(--muted)}
.edition-row span:last-child{color:var(--muted);font-size:.85rem}
.contact{background:var(--paper2);color:var(--ink);border-top:1px solid var(--line)}
.contact .body-copy{color:var(--muted)}
.site-footer{border-top-color:var(--line);color:var(--muted)}
.page-head{padding-block:clamp(80px,9vw,135px)}
.page-head h1{font-size:clamp(5rem,10vw,11rem)}
@media(max-width:1050px){.hero h1{font-size:clamp(5.5rem,13vw,10rem)}.practice{grid-template-columns:1fr;gap:58px}.practice-heading .line-link{margin-top:25px}.edition-intro,.edition-row{grid-template-columns:1fr 1.5fr}.edition-intro p,.edition-row span:last-child{grid-column:2}.edition-row .edition-index{grid-row:1 / span 2}}
@media(max-width:700px){.site-header{display:block;padding-block:20px 0}.wordmark{display:block;width:max-content}.site-nav{overflow-x:auto;max-width:100%;padding:18px 0 15px;gap:25px;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.site-nav a:nth-child(2){display:inline}.hero{min-height:610px;padding-block:38px 48px}.hero h1{font-size:clamp(5.4rem,19vw,8.4rem);white-space:normal;line-height:.73;margin:85px 0 80px}.hero h1 em{display:block;margin-left:11%}.hero-number{font-size:.7rem}.hero-bottom{align-items:end}.hero-bottom p{font-size:1.75rem}.folio{font-size:.63rem;line-height:1.4}.section h2,.edition-band h2{font-size:clamp(4rem,15vw,6rem)}.practice{gap:60px}.work{grid-template-columns:1fr;gap:14px;padding:32px 0}.work h3{font-size:3.25rem}.edition-intro,.edition-row{display:block}.edition-intro p{margin-top:30px}.edition-row strong{display:block;margin:15px 0 18px;font-size:3.4rem}.edition-row span:last-child{display:block}.contact{padding-top:100px}.contact h2{font-size:clamp(4rem,15vw,6rem)}.site-footer{margin-top:90px}.page-head h1{font-size:clamp(5rem,17vw,7rem)}}
@media(max-width:390px){.hero h1{font-size:19vw}.hero-bottom p{font-size:1.45rem}.hero-number{max-width:115px}.work h3{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Original transparent PNG centered on the opening screen. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.centered-logo-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:calc(100dvh - 86px);padding-block:30px 36px}
.logo-crop{position:relative;width:min(56vw,760px);max-width:100%;aspect-ratio:1582/1327;overflow:hidden;flex-shrink:0;background:transparent}
.front-page-logo{display:block;position:absolute;top:-25.3956%;left:0;width:100%;height:auto;max-width:none;background:transparent;border:0}
.centered-logo-hero .hero-bottom{justify-content:center;align-items:center}
@media(max-width:700px){.centered-logo-hero{min-height:calc(100dvh - 117px);padding-block:28px 36px;gap:24px}.logo-crop{width:82%}.centered-logo-hero .hero-top{align-items:start}.centered-logo-hero .hero-top .eyebrow{max-width:150px;line-height:1.5}}

/* The scans crossfade beneath the original fixed transparent mark. */
.hero-gallery{width:min(56vw,760px);max-width:100%;flex-shrink:0;outline-offset:8px}
.gallery-stage{position:relative;height:min(61dvh,650px);isolation:isolate}
.gallery-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1s ease;pointer-events:none}
.gallery-slide.is-active{opacity:1;z-index:1}
.gallery-stage .logo-crop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;z-index:2;pointer-events:none}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:clamp(15px,3vw,35px);padding-top:26px;font-size:.75rem;letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums}
.gallery-controls button{appearance:none;background:transparent;border:0;border-bottom:1px solid transparent;color:var(--ink);padding:8px 2px;font:inherit;cursor:pointer;transition:color .2s,border-color .2s}
.gallery-controls button:hover{border-color:currentColor}
.gallery-controls button:active{opacity:.65}
.gallery-count{min-width:60px;text-align:center}
@media(max-width:700px){.hero-gallery{width:100%}.gallery-stage{height:min(56dvh,510px)}.gallery-controls{padding-top:20px}.gallery-stage .logo-crop{width:100%}}
@media(prefers-reduced-motion:reduce){.gallery-slide{transition:none}}

/* A compact exhibition layout for phones, including landscape viewing. */
@media (max-width:700px){
  .shell{padding-inline:clamp(20px,5.5vw,36px)}
  .site-header{height:auto;min-height:0;padding-block:20px 12px}
  .wordmark{font-size:1.9rem}
  .site-nav{display:flex;flex-wrap:wrap;overflow:visible;gap:0 20px;padding:12px 0 0;font-size:.875rem;letter-spacing:.045em;line-height:1.4}
  .site-nav a{display:inline-flex!important;align-items:center;min-height:44px;white-space:normal}
  .eyebrow,.hero-number,.work-index,.edition-index{font-size:.75rem;line-height:1.6}
  .centered-logo-hero{min-height:0;gap:30px;padding-block:28px 36px}
  .hero-top{gap:18px}
  .hero-top .eyebrow{max-width:48%}
  .hero-number{max-width:48%;text-wrap:balance}
  .hero-gallery{width:100%;min-width:0}
  .gallery-stage{height:min(112vw,56svh);min-height:240px}
  .gallery-controls{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:8px;padding-top:14px;font-size:.875rem;letter-spacing:.025em}
  .gallery-controls button{min-width:44px;min-height:44px;padding:10px 4px;touch-action:manipulation}
  .gallery-count{min-width:54px;font-size:.75rem}
  .hero-bottom .line-link{margin:0}
  .line-link{font-size:.875rem;letter-spacing:.07em;min-height:44px;display:inline-flex;align-items:center;padding-block:10px;line-height:1.5}
  .folio{flex-wrap:wrap;gap:8px 20px;font-size:.75rem;letter-spacing:.06em;padding-block:18px}
  .section{padding-block:72px}
  .split{gap:30px;min-width:0}
  .split>*,.product-grid>*{min-width:0}
  .section h2,.edition-band h2,.contact h2{font-size:clamp(3rem,14vw,5.5rem);line-height:.98;letter-spacing:-.05em}
  .section h2{margin:22px 0 0}
  .section h2+.body-copy{margin-top:26px}
  .body-copy{font-size:1rem;line-height:1.7}
  .large-copy{font-size:clamp(1.65rem,7vw,2.4rem);line-height:1.2}
  .practice{gap:38px}
  .work{padding-block:28px;gap:14px}
  .work h3{font-size:clamp(2.4rem,10vw,3.4rem);line-height:1.05}
  .work p{font-size:1rem}
  .edition-band{padding-block:72px}
  .edition-list{margin-top:44px}
  .edition-row{padding-block:30px}
  .edition-row strong{font-size:clamp(2.5rem,10vw,3.5rem);line-height:1.05}
  .edition-row span:last-child{font-size:.875rem}
  .service{grid-template-columns:28px minmax(0,1fr);gap:16px}
  .service strong{line-height:1.15}
  .service p{line-height:1.7}
  .contact{padding-top:72px}
  .site-footer{margin-top:60px;font-size:.75rem;letter-spacing:.07em;line-height:1.7}
  .site-footer a{min-height:44px;padding-top:12px}
  .page-head{padding-block:60px 50px}
  .page-head h1{font-size:clamp(4rem,16vw,7rem);line-height:.92;letter-spacing:-.06em}
  .page-head p{font-size:1.6rem;line-height:1.25}
  .product-section{padding-block:48px 72px}
  .product-grid{gap:44px}
  .product-info h2{font-size:clamp(3rem,12vw,4rem);line-height:1.05}
  .product-info p{font-size:1rem;line-height:1.7}
  .book-cover{box-shadow:8px 8px 0 #d8d2c8;padding:24px}
  .book-cover .cover-title{font-size:clamp(3rem,13vw,5rem);line-height:.94}
  .book-cover .kicker,.book-cover .cover-end,.book-caption{font-size:.75rem;letter-spacing:.08em}
  .book-caption{margin-top:26px;line-height:1.7}
  .not-live{max-width:100%;font-size:.875rem;letter-spacing:.06em;line-height:1.6;padding:14px 16px}
  .checkout-note,.detail-note{font-size:1rem!important;line-height:1.7}
  .shirt-lead{margin-bottom:40px}
  .colorway{margin-top:48px}
  .colorway-head{flex-wrap:wrap;gap:12px}
  .colorway-head .price{font-size:1.75rem;white-space:nowrap}
  .product-gallery figcaption{font-size:.75rem;padding:12px 14px}
  .back-link{margin-top:40px}
}
@media (max-width:480px){
  .product-gallery,.product-gallery.full{grid-template-columns:1fr;gap:20px}
}
@media (max-width:950px) and (orientation:landscape) and (max-height:600px){
  .centered-logo-hero{min-height:0;gap:24px;padding-block:24px 32px}
  .hero-gallery{width:min(100%,calc(58svh * 1.192))}
  .gallery-stage{height:58svh;min-height:0}
}

/* Four primary links share one row on phones. */
@media (max-width:700px){
  .site-nav{flex-wrap:nowrap;justify-content:space-between;gap:clamp(8px,3vw,20px);font-size:clamp(.72rem,3.5vw,.875rem)}
  .site-nav a{flex:0 0 auto;white-space:nowrap}
}
#shop{scroll-margin-top:24px}
.work-photo-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:35px}.work-photo-grid img{width:100%;height:auto}
.events-section h2{font-size:clamp(3.5rem,6vw,6.5rem)}.events-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,6vw,100px);margin-top:30px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-toolbar h3{font:400 2rem 'EB Garamond',serif;margin:0}.calendar-toolbar button{background:transparent;border:1px solid var(--line);color:var(--ink);font-size:1.2rem;cursor:pointer;width:44px;height:44px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.calendar-weekdays{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;color:var(--muted)}.calendar-days>span,.calendar-days>a{display:flex;align-items:center;justify-content:center;min-height:48px;border-top:1px solid var(--line);font-size:.9rem}.calendar-event{background:var(--night);color:var(--paper);text-underline-offset:4px}.calendar-today{box-shadow:inset 0 0 0 1px var(--gold)}.calendar-note{margin-top:16px;font-size:.75rem;color:var(--muted)}.events-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:25px}.event-card{border-top:1px solid var(--line);padding:28px 0 35px;scroll-margin-top:30px}.event-card h3{font:400 clamp(2.6rem,4vw,4rem)/1 'EB Garamond',serif;letter-spacing:-.035em;margin:22px 0 18px}.event-card p{color:var(--muted);max-width:570px}.event-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px}
@media(max-width:700px){.calendar-layout{grid-template-columns:1fr}.events-heading{display:block}.work-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calendar-toolbar h3{font-size:1.8rem}}

.artist-statement{margin:1.75rem 0 0;padding:0;border:0}.artist-statement footer{margin-top:1.25rem}

.artist-attribution{font-size:.85rem;color:var(--muted)}

/* Close-up sequence in the introduction. */
.process-intro .process-gallery{grid-column:1 / -1;min-width:0;margin-top:24px}
.process-gallery .gallery-stage{height:auto;min-height:0;aspect-ratio:3 / 2;max-height:720px;overflow:hidden;background:#d7d2c8}
.process-gallery .gallery-slide{object-fit:cover}
.process-caption{display:flex;justify-content:space-between;gap:20px;padding-top:18px;font-size:.75rem;letter-spacing:.08em;color:var(--muted)}
.process-concept{font-size:.65rem;letter-spacing:.04em}
.process-gallery .gallery-controls{padding-top:10px}
@media(max-width:700px){.process-intro .process-gallery{margin-top:0}.process-gallery .gallery-stage{aspect-ratio:3 / 2;height:auto;min-height:0}.process-caption{gap:10px}}

.polaroid-wheel{grid-column:1/-1;min-width:0;margin-top:35px}
.polaroid-wheel-stage{position:relative;height:clamp(480px,58vw,700px);perspective:1500px;isolation:isolate;overflow:hidden;touch-action:pan-y;outline-offset:6px}
.polaroid-card{position:absolute;width:clamp(245px,35vw,440px);left:50%;top:68px;transform-origin:50% 50%;transition:transform 650ms cubic-bezier(.22,.7,.25,1),opacity 650ms ease;will-change:transform,opacity;backface-visibility:hidden}
.polaroid-card img{width:100%;height:auto;box-shadow:0 18px 38px rgba(35,30,24,.18);pointer-events:none;user-select:none;-webkit-user-drag:none}
.stack-controls{display:flex;align-items:center;justify-content:center;gap:35px;font-size:.8rem;letter-spacing:.06em}
.stack-controls button{border:0;border-bottom:1px solid transparent;background:none;color:var(--ink);font:inherit;padding:12px 4px;min-height:44px;cursor:pointer}
.stack-controls button:hover{border-color:currentColor}
.stack-count{color:var(--muted);font-variant-numeric:tabular-nums;min-width:62px;text-align:center}
.stack-hint{text-align:center;font-size:.72rem;color:var(--muted);margin:10px 0 0}
@media(max-width:700px){.polaroid-wheel-stage{height:clamp(425px,115vw,610px);perspective:1000px}.polaroid-card{width:min(66vw,360px);top:54px}.stack-controls{gap:24px}.stack-hint{max-width:260px;margin:10px auto 0;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.polaroid-card{transition:none}}

/* Date details and booking requests */
.calendar-days>button{display:flex;align-items:center;justify-content:center;min-height:48px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer;border-radius:0}
.calendar-days>button.calendar-event{background:var(--night);color:var(--paper);text-decoration:underline;text-underline-offset:4px}
.calendar-days>button:disabled{color:var(--muted);opacity:.45;cursor:default}
.calendar-days>button:not(:disabled):hover,.calendar-days>button.calendar-selected{box-shadow:inset 0 0 0 1px var(--ink)}
.calendar-days>button:focus-visible,.date-booking button:focus-visible,.date-booking a:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.date-booking{grid-column:1/-1;text-align:left;padding:24px;border:1px solid var(--line);background:var(--paper);margin:0 0 12px;min-width:0}
.date-booking[hidden],.booking-request[hidden]{display:none}
.booking-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}
.booking-heading h3{font:400 1.8rem 'EB Garamond',serif;margin:12px 0 20px}
.booking-close{border:0;background:transparent;color:var(--ink);font-size:1.5rem;cursor:pointer;min-width:44px;min-height:44px}
.date-booking p{font-size:.85rem;color:var(--muted);line-height:1.6}
.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.booking-wide,.booking-submit{grid-column:1/-1}
.date-booking label{display:block;font-size:.75rem;letter-spacing:.02em;text-align:left}
.date-booking input,.date-booking select,.date-booking textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1px solid var(--line);padding:12px;background:transparent;color:var(--ink);font:inherit;font-size:16px;border-radius:0;min-width:0}
.date-booking textarea{resize:vertical}
.booking-submit{border:1px solid var(--ink);background:var(--night);color:var(--paper);padding:14px;font:inherit;font-size:.8rem;cursor:pointer}
.booking-request{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.booking-copy{background:none;border:0;padding:0;color:var(--ink);font:inherit;cursor:pointer}
@media(max-width:420px){.date-booking{padding:18px}.booking-form{grid-template-columns:1fr}.booking-wide,.booking-submit{grid-column:auto}}

.home-calendar{grid-column:1/-1;width:100%;max-width:760px;margin:36px auto 0;min-width:0}

.session-archive{grid-column:1/-1;margin-top:48px;min-width:0}.session-archive .event-card{max-width:900px}#sessions,#session-calendar,#session-archive{scroll-margin-top:24px}
@media(max-width:650px){.site-nav a:nth-child(2){display:inline-block}.site-nav{gap:12px;font-size:.6rem}.wordmark{font-size:1.5rem}}

.session-archive summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;min-height:64px}.session-archive summary::-webkit-details-marker{display:none}.session-archive summary .subhead{margin:0}.archive-toggle::before{content:'+';font-size:1.8rem;font-weight:300}.session-archive[open] .archive-toggle::before{content:'−'}.session-archive summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.session-archive[open] #past-events{padding-top:24px}

.sessions-flow>.session-upcoming{max-width:760px;margin-top:30px}.sessions-flow .home-calendar{margin:20px 0 0}.sessions-flow>.session-archive{max-width:900px}.sessions-flow>.session-upcoming .event-card{padding-bottom:12px}.sessions-flow>.session-upcoming .events-label{margin-bottom:16px}

.process-intro .process-instagram{grid-column:1 / -1;margin-top:0}

.main-footer{border-top:1px solid var(--line);background:var(--paper);padding-block:64px 24px}.footer-logo{display:block;width:max-content;max-width:100%;margin:0 auto 32px}.main-footer .logo-crop{width:220px;max-width:100%;margin:0 auto}.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 32px}.footer-nav a,.footer-email,.footer-bottom a{text-decoration:none}.footer-nav a{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;min-height:44px;display:inline-flex;align-items:center}.footer-nav a:hover,.footer-email:hover,.footer-bottom a:hover{color:var(--gold)}.footer-email{display:block;width:max-content;max-width:100%;margin:16px auto 48px;font-size:.875rem;min-height:44px;padding-block:10px;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.7rem;letter-spacing:.06em}.footer-bottom a{min-height:44px;display:inline-flex;align-items:flex-start}@media(max-width:700px){.main-footer{padding-top:48px}.main-footer .logo-crop{width:180px}.footer-nav{gap:8px 24px}.footer-email{margin-bottom:32px}.footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:12px}}

.portrait-invitation{text-align:center;margin-top:30px}.portrait-invitation .line-link{padding:10px 0 6px}

.inquiry-address{font-size:14px;margin-bottom:16px}.inquiry-email-options{display:flex;flex-wrap:wrap;gap:18px 28px}.inquiry-email-options .line-link{padding-top:8px;min-height:40px}

.artist-portrait{width:min(100%,360px);margin:36px 0 0}.artist-portrait img{width:100%;height:auto;box-shadow:0 14px 30px rgba(35,30,24,.10)}.artist-portrait figcaption{margin-top:16px;color:var(--muted);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}@media(max-width:700px){.artist-portrait{width:min(85%,330px);margin-top:30px}.artist-section .artist-bio{padding-top:0}}

.artist-section{display:block}.artist-section>div:first-child{text-align:center}.artist-section .artist-portrait{margin:36px auto 0}.artist-section .artist-bio{max-width:800px;margin:48px auto 0;padding-top:0}.artist-section .artist-bio .large-copy{max-width:none}.artist-section .artist-statement{max-width:640px;margin:32px auto 0}.artist-section .artist-statement .body-copy{max-width:none}@media(max-width:700px){.artist-section .artist-bio{margin-top:38px}.artist-section .artist-portrait{margin-top:30px}}

.artist-section{max-width:none;width:100%;min-height:100svh;background-color:#272b27;background-image:linear-gradient(180deg,rgba(18,22,19,.55),rgba(18,22,19,.44) 42%,rgba(18,22,19,.78)),url("/assets/artist-mountain-background.webp");background-size:cover;background-position:center;background-repeat:no-repeat;color:#f3f1ec;border-top:0}.artist-section .eyebrow,.artist-section .artist-attribution,.artist-section .artist-portrait figcaption{color:#ded8c9}.artist-section .artist-bio .body-copy{color:#eee9df}.artist-section .artist-portrait img{box-shadow:0 18px 45px rgba(0,0,0,.3)}@media(max-width:700px){.artist-section{background-position:47% center}}

.artist-section .artist-portrait{width:min(60vw,250px);margin:clamp(200px,28svh,320px) auto 0}.artist-section .artist-bio{margin-top:36px}@media(max-width:700px){.artist-section .artist-portrait{width:min(55vw,220px);margin-top:clamp(220px,32svh,300px)}.artist-section .artist-bio{margin-top:32px}}

.artist-section{background-position:55% center}@media(max-width:700px){.artist-section{background-position:52% center}}

/* The photograph fills exactly the weekday and date grid. */
.calendar-photo-grid{background:#353a35 url("/assets/calendar-mountain-background.webp") center/cover no-repeat;padding:12px 0 0;isolation:isolate}
.calendar-photo-grid .calendar-weekdays{margin-bottom:12px;color:#fff;font-weight:600}
.calendar-photo-grid .calendar-days>span,.calendar-photo-grid .calendar-days>button{border-top:1px solid rgba(255,255,255,.22);min-height:clamp(48px,7vw,70px)}
.calendar-photo-grid .calendar-days>button,.calendar-photo-grid .calendar-days>button.calendar-event{background:transparent;color:var(--date-ink,#fff);font-weight:600;text-shadow:0 1px 3px var(--date-shadow,rgba(0,0,0,.45))}
.calendar-photo-grid .calendar-weekdays>span{color:var(--date-ink,#fff);text-shadow:0 1px 3px var(--date-shadow,rgba(0,0,0,.45))}
.calendar-photo-grid .calendar-days>button:disabled{color:var(--date-ink,#fff);opacity:.8}
.calendar-photo-grid .calendar-days>button.calendar-event{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.calendar-photo-grid .calendar-days>button.calendar-today,.calendar-photo-grid .calendar-days>button.calendar-selected,.calendar-photo-grid .calendar-days>button:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--date-ink,#fff)}
.calendar-photo-grid .calendar-days>button:focus-visible{outline:2px solid var(--date-ink,#fff);outline-offset:-4px}
.home-calendar>.date-booking,.event-calendar>.date-booking{margin-top:16px}

/* Homepage footer: a gentle gray fade from the editions section. */
.home-footer{border-top:0;background:linear-gradient(to bottom,rgba(211,210,206,0) 0,rgba(211,210,206,.4) 100px,rgba(211,210,206,.72) 180px,rgba(211,210,206,.88) 260px),var(--paper2)}
.home-footer .logo-crop{width:280px;max-width:100%}
@media(max-width:700px){.home-footer .logo-crop{width:230px}}
