:root{color-scheme:light;--paper:#fff;--ink:#171717;--muted:#696969;--line:#dededb;--space:clamp(1.25rem,5vw,6rem);--serif:Georgia,'Times New Roman',serif;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;scroll-behavior:smooth;--chrome-height:calc(6rem + env(safe-area-inset-top));scroll-padding-top:calc(var(--chrome-height) + 1rem)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hero-content h2{margin:0}h1,h2,h3{overflow-wrap:anywhere}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;appearance:none}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:5px}p{line-height:1.65}h1,h2,h3,p,figure{margin-top:0}::selection{color:#fff;background:#252525}.skip{position:fixed;left:1rem;top:-6rem;padding:1rem;background:#fff;z-index:100}.skip:focus{top:1rem}
.site-chrome{position:fixed;inset:0 0 auto;z-index:30;background:var(--paper);border-bottom:1px solid var(--line);transition:background-color 1s ease,border-color 1s ease}.site-chrome--hero{background:transparent;border-bottom-color:transparent}.site-chrome--hero.is-scrolled,.site-chrome--hero.is-menu-open{background:var(--paper);border-bottom-color:var(--line)}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:calc(1.5rem + env(safe-area-inset-top)) var(--space) 1.5rem}.brand{font-size:.875rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500;white-space:nowrap}.site-header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 clamp(.75rem,1.8vw,2rem);font-size:.875rem;min-width:0;max-height:60svh;overflow:auto}.site-header nav a{overflow-wrap:anywhere}.site-header nav a,.site-footer nav a{padding:.5rem 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-footer nav a:hover{border-bottom-color:currentColor}.menu-toggle{display:none;border:0;background:transparent;padding:.75rem 0;font-size:.875rem}
.panel{min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:flex-start;padding:6rem var(--space);border-bottom:1px solid var(--line);scroll-margin-top:0}.panel--hero{min-height:100vh;min-height:100lvh;align-items:center;isolation:isolate;padding:6rem 0;justify-content:center;border-bottom:0}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-overlay{position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--hero-overlay-color,#fff);opacity:var(--hero-overlay-opacity,0)}.hero-content{width:100%;text-align:center;margin-top:-1rem}.hero-content h1{margin:0}.hero-logo{width:min(var(--hero-logo-width,94%),1500px);height:auto;margin:auto;mix-blend-mode:multiply}.hero-subtitle{font-size:.875rem;letter-spacing:.12em;margin:clamp(-1rem,-1vw,0rem) 1rem 0}.hero-next{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;font-size:.875rem}.hero-next span{font-size:1.5rem}.hero-location{position:absolute;left:var(--space);bottom:2.5rem;font-size:.75rem;color:var(--muted);margin:0}
.hero-video{opacity:0;pointer-events:none}.hero-video.is-playing{opacity:1}
.hero-video-toggle{position:absolute;bottom:calc(1rem + env(safe-area-inset-bottom) + 100lvh - 100svh);right:max(1rem,env(safe-area-inset-right));display:grid;place-items:center;width:44px;height:44px;padding:12px;border:0;background:transparent;color:var(--ink);opacity:.6;z-index:1}.hero-video-toggle:hover,.hero-video-toggle:focus-visible{opacity:1}
.hero-video-toggle .hero-icon-pause{display:none}.hero-video-toggle[data-playing="true"] .hero-icon-pause{display:block}.hero-video-toggle[data-playing="true"] .hero-icon-play{display:none}
.hero-video-toggle[hidden]{display:none}
.video-gallery{display:grid;gap:3rem}.video-card{margin:0;min-width:0}.video-card>video{display:block;width:100%;max-height:70svh;aspect-ratio:16/9;object-fit:contain;background:#f3f3f1}
.video-card figcaption{margin-top:1rem}.video-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin:0 0 .5rem}.video-card figcaption p{font-size:.875rem;color:var(--muted);margin:0}
.video-direct{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:.8125rem;text-decoration:underline;text-underline-offset:.25em}.video-consent{font-size:.75rem;color:var(--muted);margin:.75rem 0 0}
.youtube-player{min-width:0}.youtube-load{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;min-height:200px;border:1px solid var(--line);padding:0;background:#f3f3f1;color:var(--ink);overflow:hidden}
.youtube-load[hidden]{display:none}.youtube-load img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.youtube-play{position:relative;display:inline-flex;align-items:center;gap:.75rem;background:#fff;padding:.85rem 1.2rem;font-size:.875rem}
.youtube-player iframe{display:block;width:100%;aspect-ratio:16/9;min-height:200px;border:0}.youtube-close{display:block;margin:.5rem 0 0 auto;padding:.6rem 0;min-height:44px;border:0;background:transparent;font-size:.8125rem;color:var(--ink)}
/* Decorative edge fades: image (-3), fades (-2), overlay (-1), content. */
.panel--hero::before,.panel--hero::after{content:"";position:absolute;left:0;right:0;height:100px;z-index:-2;pointer-events:none}
.panel--hero::before{top:0;background:linear-gradient(to bottom,var(--hero-edge-color,#fff),transparent)}
.panel--hero::after{bottom:0;background:linear-gradient(to top,var(--hero-edge-color,#fff),transparent)}
.section-inner{width:100%;max-width:1500px;margin:0 auto}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:1.25rem;margin-bottom:3rem}.eyebrow span{color:var(--muted);letter-spacing:0}.section-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,7vw,8rem);align-items:start}.section-intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4.5vw,5.2rem);letter-spacing:-.045em;line-height:1.04;margin-bottom:2rem}.intro-copy{max-width:30rem;color:var(--muted);font-size:1rem}.intro-copy p:last-child{margin-bottom:0}.section-content{min-width:0}.project-list{list-style:none;padding:0;margin:0}.project-list li{border-top:1px solid var(--line)}.project-list li:last-child{border-bottom:1px solid var(--line)}.project-list a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 0;transition:padding .2s}.project-list a:hover{padding-left:.65rem}.project-list h3{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,2rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;margin-bottom:.35rem}.project-list p{font-size:.875rem;color:var(--muted);margin:0}.project-list a>span{font-size:1.35rem}.signature{font-family:var(--serif);font-style:italic;font-size:clamp(2rem,4vw,4rem);text-align:center}.editorial-image{width:100%;height:auto;max-height:65vh;object-fit:contain}.event-row{display:grid;grid-template-columns:3.2rem 1fr;gap:1.5rem;padding:1.5rem 0;border-top:1px solid var(--line)}.event-row:last-child{border-bottom:1px solid var(--line)}.event-row time{display:flex;flex-direction:column;font-size:.75rem;color:var(--muted);gap:.35rem}.event-row time span:first-child{font-family:var(--serif);font-size:2.5rem;line-height:1;color:var(--ink)}.event-row h3{font-size:1.15rem;font-weight:500;line-height:1.45;margin:0 0 .75rem}.event-row p{font-size:.875rem;color:var(--muted);margin:0}.row-action{grid-column:2;font-size:.875rem;display:flex;gap:.65rem;align-items:center}.event-row:hover h3{text-decoration:underline;text-underline-offset:.25em}.text-link{display:inline-flex;gap:1.5rem;align-items:center;font-size:.875rem;border-bottom:1px solid var(--ink);padding:.4rem 0;margin-top:1.75rem}.contact-email{display:block;font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,2.6rem);letter-spacing:-.025em;overflow-wrap:anywhere}.contact-phone{display:block;font-size:1rem;color:var(--muted);margin:1rem 0 2.5rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--ink);border:1px solid var(--ink);color:#fff;padding:1rem 1.35rem;min-height:3.25rem;font-size:.875rem;line-height:1.4;transition:background .2s}.button:hover{background:#444}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}.gallery figcaption{font-size:.875rem;color:var(--muted);margin-top:.65rem}.site-footer{padding:3rem var(--space) calc(3rem + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;}.site-footer p{font-size:.75rem;color:var(--muted);margin:0}.site-footer nav{display:flex;gap:1.5rem;font-size:.875rem}.detail-inner{max-width:1000px;margin:auto;min-height:85svh;padding:10rem var(--space) 5rem}.detail-inner>.text-link{margin:0 0 4rem}.detail-inner h1{font-family:var(--serif);font-size:clamp(2.5rem,6vw,5rem);font-weight:400;letter-spacing:-.04em;line-height:1.08}.detail-inner .eyebrow{margin-bottom:1.5rem}.event-facts{display:flex;flex-direction:column;gap:.7rem;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:2rem;font-size:1rem}.prose{max-width:65ch;line-height:1.75;overflow-wrap:anywhere}.prose p{white-space:normal}.detail-inner .button{margin-top:1rem}.muted{font-size:.875rem;color:var(--muted);margin-top:1rem}/* Full white lightbox: controls and caption never overlap the photograph. */
.gallery-open{overflow:hidden}.gallery-open body{position:fixed;width:100%;overflow:hidden}
.gallery-dialog{position:fixed;inset:0;margin:0;border:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;background:#fff;color:var(--ink);overflow:hidden;overscroll-behavior:contain}
.gallery-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.gallery-dialog::backdrop{background:#fff}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(.75rem + env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) .75rem max(1.25rem,env(safe-area-inset-left));font-size:.75rem;letter-spacing:.08em;border-bottom:1px solid var(--line)}
.dialog-close{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:44px;min-width:44px;padding:.5rem;background:transparent;border:0;font-size:.875rem;letter-spacing:0;color:var(--ink)}
.dialog-close:hover{background:#f5f5f3}.dialog-close svg{flex:none}
.gallery-dialog figure{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;margin:0;padding:clamp(1rem,3vw,3rem) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));gap:1rem}
.gallery-stage{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}
.gallery-dialog img{width:100%;height:100%;object-fit:contain;min-width:0;min-height:0}
.gallery-dialog figcaption{max-height:20dvh;overflow:auto;margin:0;text-align:center;font-size:.8125rem;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.gallery-dialog figcaption:empty{display:none}
.preview-bar{background:#171717;color:white;padding:.6rem var(--space);font-size:.875rem;position:relative;z-index:20;display:flex;justify-content:space-between}.preview-bar{gap:.5rem 1.5rem;flex-wrap:wrap}.icon-arrow{width:1.1em;height:1.1em;flex:none;vertical-align:middle}
.offers-list{display:grid;gap:1.25rem}.offer-card{border:1px solid var(--line);padding:clamp(1.25rem,2.5vw,2rem);min-width:0}.offer-date{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;color:var(--muted);font-size:.8125rem;margin-bottom:1rem;font-variant-numeric:tabular-nums}.offer-card h3{font-family:var(--serif);font-size:clamp(1.5rem,2.3vw,2rem);font-weight:400;letter-spacing:-.025em;line-height:1.2;margin-bottom:.75rem}.offer-card h3 a:hover{text-decoration:underline;text-underline-offset:.2em}.offer-location,.offer-description{font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}.offer-location{margin-bottom:.75rem}.offer-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-bottom:1.5rem}.offer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}.offer-actions .text-link{margin:0;min-height:44px}.offers-note{font-size:.8125rem;color:var(--muted);margin:0}.offers-more>summary{cursor:pointer;padding:.8rem 0;font-size:.875rem;min-height:44px}.offers-more>summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.offers-more[open]>.offers-list{margin-top:.5rem}
@media(prefers-reduced-motion:no-preference){.section-inner.is-seen .section-intro{animation:arrive .6s ease-out}@keyframes arrive{from{transform:translateY(14px)}to{transform:translateY(0)}}}
@media(min-width:1400px){.event-row{grid-template-columns:3.2rem 1fr auto}.row-action{grid-column:auto}}
@media(max-width:1000px){.menu-toggle{display:flex;gap:1rem;align-items:center}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:1rem var(--space) 2rem;border-bottom:1px solid var(--line);flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:.75rem;max-height:calc(100svh - var(--chrome-height));overflow-y:auto;overscroll-behavior:contain}.site-header nav.is-open{display:flex}.site-header nav a{padding:.75rem 0}}
@media(max-width:760px){.site-header{gap:1rem}.brand{font-size:.75rem}.menu-toggle{display:flex;gap:1rem;align-items:center}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:1rem var(--space) 2rem;border-bottom:1px solid var(--line);flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:.75rem;max-height:calc(100svh - var(--chrome-height));overflow-y:auto;overscroll-behavior:contain}.site-header nav.is-open{display:flex}.site-header nav a{padding:.75rem 0}.hero-logo{width:var(--hero-logo-mobile,96%)}.hero-content{margin-top:-3rem}.hero-subtitle{font-size:.75rem;letter-spacing:.05em;margin-top:1rem}.hero-location{left:0;right:0;bottom:1.1rem;text-align:center;font-size:.75rem}.hero-next{bottom:4.5rem}.panel{padding:5.5rem var(--space) 4rem}.panel--hero{padding-left:0;padding-right:0}.eyebrow{margin-bottom:2rem}.section-grid{grid-template-columns:1fr;gap:2.25rem}.section-intro h2{font-size:clamp(2.8rem,10vw,4rem);margin-bottom:1.5rem}.project-list a{padding:1.15rem 0}.signature{padding:2rem 0}.site-footer{gap:1.5rem}.site-footer>.brand{width:100%}.detail-inner{padding-top:9rem}.event-row{gap:1rem}.contact-email{font-size:clamp(1.35rem,5.6vw,2rem)}.gallery{gap:.75rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Let the image occupy Safari's large viewport; keep controls above expanded UI. */
.panel--hero{padding-top:max(6rem,env(safe-area-inset-top));padding-bottom:max(6rem,env(safe-area-inset-bottom))}
.hero-content{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.hero-next{bottom:calc(3rem + env(safe-area-inset-bottom) + 100lvh - 100svh)}
.hero-location{left:max(var(--space),env(safe-area-inset-left));bottom:calc(2.5rem + env(safe-area-inset-bottom) + 100lvh - 100svh)}
@media(max-width:760px){.hero-next{bottom:calc(4.5rem + env(safe-area-inset-bottom) + 100lvh - 100svh)}.hero-location{left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:calc(1.1rem + env(safe-area-inset-bottom) + 100lvh - 100svh)}}
:where(.inquiry-form){display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2.5rem 0;max-width:760px}.inquiry-form label{display:grid;gap:.6rem;font-size:.875rem}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-width:0;padding:.9rem;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:0}.inquiry-form textarea{resize:vertical}.form-wide{grid-column:1/-1}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{border-left:2px solid var(--ink);padding:1rem}.inquiry-form .button{margin:0}@media(max-width:760px){.inquiry-form{grid-template-columns:1fr}}

/* Legal copy stays readable and independent of viewport-height panels. */
.legal .prose h2{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:400;line-height:1.25;margin:2.5rem 0 1rem;letter-spacing:-.02em}
.legal .prose a{text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.legal-draft{border:1px solid var(--line);padding:1rem;max-width:65ch;font-size:.875rem}
.site-footer nav{flex-wrap:wrap}

.anchor-alias{position:absolute;top:0;left:0;width:0;height:0;scroll-margin-top:0}
