:root{--bg:#080a08;--ink:#141914;--cream:#eeeae2;--paper:#f3f0e9;--muted:#a8aba1;--olive:#4b5442;--border:#373c35;--font: 'DM Sans',system-ui,sans-serif;--display:'DM Serif Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:#f1eee8;font:400 15px/1.6 var(--font)}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}img{max-width:100%;display:block}.constrain{width:min(1250px,calc(100% - 112px));margin:0 auto}[hidden]{display:none!important}.skip{position:absolute;left:12px;top:-60px;z-index:200;padding:12px;background:#fff;color:#000}.skip:focus{top:12px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,28px);gap:30px;background:rgba(8,10,8,.94);border-bottom:1px solid rgba(255,255,255,.1);position:fixed;top:0;left:0;right:0;z-index:90;backdrop-filter:blur(16px)}.brand{flex:0 0 222px}.brand img{width:222px;height:69px;object-fit:contain}.nav{display:flex;align-items:center;gap:34px}.nav a,.header-cta,.header-cta span,.footer,.kicker,.hero-edge,.hero-scroll,.text-link,.button,.filters button,.album-count,.album-category,.feature-label,.feature-sub,.subtle,.back-link{letter-spacing:.13em}.nav a{text-transform:uppercase;font-size:10px;font-weight:700;opacity:.88;padding:12px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a:focus-visible{border-color:#eae4da}.header-cta{white-space:nowrap;border:1px solid #68715d;background:#333d30;padding:13px 16px;color:#eae8e0;text-transform:uppercase;font-size:10px;font-weight:600}.header-cta span{margin-left:15px}.header-cta:hover,.button.solid:hover{background:#58624f}.menu-button{display:none;border:0;background:none;padding:12px;width:45px}.menu-button span{height:1px;display:block;background:#f5f1e9;margin:7px 0}.mobile-menu{position:fixed;top:88px;left:0;right:0;background:#10140f;z-index:89;padding:20px 30px 30px;border-bottom:1px solid #4c5447}.mobile-menu a{display:block;padding:14px 0;text-transform:uppercase;letter-spacing:.13em;font-size:12px;border-bottom:1px solid #32372e}.kicker{text-transform:uppercase;font-size:10px;font-weight:700;color:#4d584c;letter-spacing:.24em;display:flex;align-items:center;gap:18px}.kicker.light{color:#c8cfc2}.hairline{display:inline-block;width:58px;height:1px;background:currentColor;opacity:.6;vertical-align:middle}.hero{height:min(850px,100svh);min-height:630px;position:relative;display:flex;align-items:center;margin-top:88px;overflow:hidden}.hero-image{position:absolute;inset:0;background-color:#20231b;background-size:cover;background-position:center 41%;filter:saturate(.87)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,5,.91) 0,rgba(4,6,5,.67) 39%,rgba(6,7,5,.12) 74%),linear-gradient(0deg,rgba(2,4,2,.48),transparent 24%)}.hero-content{position:relative;z-index:1;padding:25px 0 75px}.hero h1{font:400 clamp(60px,7.2vw,110px)/.99 var(--display);margin:28px 0 27px;letter-spacing:-.045em;max-width:890px;text-wrap:balance}.hero h1 em,h2 em{font-weight:400}.hero-sub{max-width:500px;text-transform:uppercase;font-size:11px;letter-spacing:.25em;line-height:2.1;margin-bottom:32px;color:#dcdace}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #5b6954;padding:14px 20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;min-height:44px}.button.solid{background:#384333;color:#eeeee8}.button.outline{border-color:#899581;color:#f2f1e9}.button.outline:hover{background:#4d5847}.hero-edge{position:absolute;right:52px;bottom:70px;color:#f9f6ee;font-size:10px;text-transform:uppercase;max-width:250px;line-height:1.8;text-align:right}.hero-scroll{position:absolute;left:5%;bottom:28px;color:#d4d4c8;font-size:9px;font-weight:700}.editorial-intro{background:var(--paper);color:var(--ink)}.intro-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:55px;align-items:center;padding:65px 0 45px}.intro-row h2,.split-heading h2,.about-copy h2,.sessions h2,.contact h2{font:400 clamp(39px,4.5vw,68px)/1.05 var(--display);letter-spacing:-.035em;margin:14px 0 0}.intro-row p{font-family:var(--display);font-size:17px;line-height:1.5;color:#3b443a;max-width:440px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px;white-space:nowrap}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:#222}.feature-card{height:380px;position:relative;overflow:hidden;background:#121512;display:block}.feature-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s;filter:saturate(.87)}.feature-card:hover img{transform:scale(1.06)}.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 42%)}.feature-text{position:absolute;z-index:2;bottom:22px;left:22px;right:16px}.feature-label{font-size:12px;text-transform:uppercase;font-weight:700}.feature-sub{font-size:9px;text-transform:uppercase;color:#dedbd1;margin-top:5px;line-height:1.55}.dark-section{background:#0d100d;color:var(--cream)}.galleries{padding:96px 0 125px}.section-top{display:flex;justify-content:space-between;align-items:center}.subtle{font-size:10px;color:var(--muted);text-transform:uppercase}.subtle.dark{color:#4b5447}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:16px 0 30px}.split-heading h2{max-width:520px}.split-heading p{color:#c8c8bf;font:italic 20px var(--display);margin-bottom:5px}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding:24px 0 32px}.filters button{background:transparent;border:1px solid #424c40;color:#dbddd5;padding:11px 16px;font-size:10px;text-transform:uppercase;font-weight:600}.filters button[aria-pressed=true],.filters button:hover{background:#e9e7df;border-color:#e9e7df;color:#11160f}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 19px}.album-card{display:block;min-width:0}.album-cover{height:370px;overflow:hidden;position:relative;background:#263026}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s;filter:saturate(.89)}.album-card:hover .album-cover img{transform:scale(1.035);filter:saturate(1.02)}.album-meta{border-bottom:1px solid var(--border);padding:16px 2px;display:flex;align-items:center;justify-content:space-between;gap:15px}.album-meta h3{font:400 27px/1.2 var(--display);margin:4px 0 0}.album-category{font-size:9px;color:#aab3a6;text-transform:uppercase}.album-count{font-size:10px;color:#aab3a6;text-transform:uppercase;white-space:nowrap}.about-section{background:var(--paper);color:#182019;padding:108px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-image{min-height:540px;background-size:cover;background-position:center;background-color:#222d23}.about-copy p{font:19px/1.7 var(--display);color:#475047;max-width:590px;margin:28px 0}.about-copy .text-link{margin-top:12px}.sessions{padding:105px 0;background-image:linear-gradient(90deg,rgba(7,12,8,.98),rgba(7,12,8,.86)),radial-gradient(ellipse at 70% 30%,#364531,transparent 70%)}.sessions-row{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}.sessions-row p{font:19px/1.7 var(--display);color:#d8ddd1;max-width:530px;margin:0 0 30px}.contact{background:var(--paper);color:#1b231b;padding:100px 0}.contact-row{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:12vw}.contact-right p{font:19px/1.5 var(--display);margin:0 0 25px}.contact-right a{display:inline-flex;margin:0 15px 12px 0}.footer{background:#090b09;border-top:1px solid #353b33}.footer-layout{min-height:150px;display:flex;align-items:center;gap:48px;justify-content:space-between}.footer-logo img{width:188px;max-height:85px;object-fit:contain}.footer span{font-size:10px;text-transform:uppercase;color:#adb2a7}.footer-layout>div{display:flex;gap:24px}.footer-layout a:not(.footer-logo){font-size:11px;color:#c3c8bd}.footer a:hover{text-decoration:underline}.footer a.admin-link{color:#858b82}.album-view{padding:155px 0 110px;min-height:100vh;background:#090b09}.back-link{font-size:10px;text-transform:uppercase;color:#ced4c6;display:inline-block;margin-bottom:80px}.album-view-heading{text-align:center;max-width:720px;margin:0 auto 65px}.album-view-heading .kicker{justify-content:center}.album-view-heading h1{font:400 clamp(66px,8vw,120px)/1.05 var(--display);letter-spacing:-.045em;margin:14px 0 15px}.album-view-heading p{font:italic 24px/1.5 var(--display);color:#cad2c6}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px}.photo-grid button{border:0;padding:0;background:#1b221a;display:block;overflow:hidden;position:relative;width:100%}.photo-grid img{width:100%;height:auto;object-fit:cover;transition:transform .5s}.photo-grid button:hover img{transform:scale(1.025)}.photo-grid button:nth-child(5n+2){grid-row:span 1}.album-footer{display:flex;justify-content:space-between;border-top:1px solid #303b32;margin-top:75px;padding-top:25px}.light-link{color:#e7eade}.lightbox{padding:0;margin:0;border:0;background:#050705;color:#fff;max-width:none;max-height:none;width:100vw;height:100dvh;overflow:hidden}.lightbox::backdrop{background:rgba(0,0,0,.95)}.lightbox[open]{display:flex;justify-content:center;align-items:center}.lightbox img{max-height:88dvh;max-width:84vw;object-fit:contain}.lightbox button{z-index:10;position:absolute;border:1px solid #555c55;color:#fff;background:rgba(10,13,10,.75);border-radius:50%;font-size:28px;width:49px;height:49px;display:grid;place-content:center}.lightbox .close-lightbox{top:21px;right:24px}.lightbox .prev-lightbox{left:20px;top:49%}.lightbox .next-lightbox{right:20px;top:49%}.lightbox-caption{position:absolute;bottom:14px;font-size:11px;letter-spacing:.18em;color:#cfd5ca}
/* management */
.admin-body{background:#10130f;min-height:100vh;color:#eee}.admin-header{background:#060806;border-bottom:1px solid #30362e;padding:16px max(4vw,24px);display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-header>a img{width:190px;height:72px;object-fit:contain}.admin-header>div{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.admin-main{width:min(1240px,calc(100% - 50px));margin:0 auto;padding:55px 0 100px}.admin-heading{margin-bottom:35px}.admin-heading h1{font:400 clamp(45px,6vw,75px)/1 var(--display);margin:15px 0}.admin-heading p{color:#bfc8b8;max-width:700px}.admin-card{background:#191e18;border:1px solid #394238;padding:30px;min-width:0}.admin-card h2{font:400 32px/1.1 var(--display);margin:0 0 13px}.admin-card h3{font:400 25px var(--display);margin:0}.admin-card p{color:#b9bfb2}.admin-card a{text-decoration:underline}.admin-card code{background:#303a2b;padding:2px 5px}.admin-notice:empty{display:none}.admin-notice{border:1px solid #747d6a;background:#273023;padding:12px 18px;margin-bottom:25px}.admin-notice.error{background:#3c2424;border-color:#a26f6f}.form-stack{display:grid;gap:16px}.form-stack label{color:#d0d4ca;font-size:12px;letter-spacing:.045em;display:grid;gap:7px}.form-stack input:not([type=checkbox]),.form-stack select,.form-stack textarea{width:100%;background:#0b0f0b;border:1px solid #455040;color:#f1f1e9;padding:13px 12px;border-radius:0;outline:none}.form-stack textarea{resize:vertical}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:#c8d3be}.form-stack .check-line{display:flex;align-items:center;gap:12px}.form-stack .check-line input{width:19px;height:19px}.admin-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:30px 0 22px;flex-wrap:wrap}.admin-tabs{display:flex;gap:8px}.admin-tabs button,.mini-button{padding:11px 17px;border:1px solid #596351;color:#eef2e7;background:transparent;font:600 11px var(--font)}.admin-tabs button.active,.admin-tabs button:hover,.mini-button:hover{background:#e4e8df;color:#0b120a}.mini-button.dangerous{color:#f4b4b4;border-color:#785657}.admin-columns{display:grid;grid-template-columns:minmax(280px,.83fr) minmax(0,1.65fr);gap:20px}.admin-album-list{display:grid;gap:8px;margin:24px 0}.admin-album-list button{display:flex;gap:12px;text-align:left;align-items:center;width:100%;padding:10px;background:#101510;color:#e6ebe0;border:1px solid #394138}.admin-album-list button.active,.admin-album-list button:hover{border-color:#d0d9c5}.admin-album-list button img{height:62px;width:62px;object-fit:cover;background:#293328}.admin-album-list button .album-chooser-info{flex:1}.admin-album-list button small{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#b8c2b4}.admin-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button.full{width:100%}.admin-help{font-size:12px;color:#a9b3a5!important}.photo-editor{margin-top:45px;border-top:1px solid #3c463b;padding-top:20px}.photo-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.upload-button{background:#374a34;padding:12px 17px;color:#e7f1e7;cursor:pointer;font-size:12px;font-weight:600}.upload-button input{display:none}.admin-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-photo-item{border:1px solid #3b493c;background:#101610;padding:7px;min-width:0}.admin-photo-item.cover{border-color:#cad6c4}.admin-photo-item img{width:100%;height:150px;object-fit:cover}.admin-photo-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.admin-photo-actions button{background:#2a362a;color:#e6eee2;border:1px solid #4c5c4b;font-size:11px;padding:6px 8px}.admin-photo-actions button:hover{background:#4a5c48}.admin-photo-actions button.dangerous{color:#ffc3c3}.cover-flag{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#d8e9d0;padding-top:7px}.settings-card{max-width:760px}.admin-footer{padding:20px;text-align:center;color:#96a091;font-size:12px;border-top:1px solid #303c2e}
@media(max-width:1100px){.nav{gap:18px}.brand{flex-basis:185px}.brand img{width:185px}.intro-row{grid-template-columns:1fr 1fr;gap:24px}.intro-row>a{grid-column:2}.hero-edge{display:none}.feature-card{height:300px}.album-cover{height:300px}}
@media(max-width:800px){.header{height:74px;padding:0 18px}.brand{flex:0 1 190px}.brand img{height:60px;width:190px}.nav,.header-cta{display:none}.menu-button{display:block}.mobile-menu{top:74px}.constrain{width:calc(100% - 38px)}.hero{margin-top:74px;min-height:580px;height:76svh;max-height:800px}.hero h1{font-size:clamp(52px,10vw,86px)}.hero-image{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.16)),linear-gradient(0deg,rgba(0,0,0,.4),transparent)}.hero-content{padding:0 0 30px}.hero-sub{font-size:10px;max-width:350px}.hero-scroll{bottom:15px}.intro-row{display:block;padding:60px 0 45px}.intro-row p{margin:24px 0}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{height:280px}.galleries{padding:65px 0 90px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.album-cover{height:270px}.album-meta h3{font-size:23px}.about-grid,.sessions-row,.contact-row{grid-template-columns:1fr;gap:40px}.about-section{padding:65px 0}.about-image{min-height:390px}.sessions,.contact{padding:70px 0}.footer-layout{flex-wrap:wrap;justify-content:center;text-align:center;padding:24px 0;gap:15px}.footer-logo{width:100%;display:grid;justify-content:center}.album-view{padding-top:120px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-columns{grid-template-columns:1fr}.admin-main{width:calc(100% - 26px);padding:40px 0}.admin-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.hero{min-height:555px}.hero h1{font-size:54px}.feature-card{height:245px}.feature-text{left:13px;bottom:14px;right:9px}.feature-label{font-size:10px}.feature-sub{font-size:8px}.split-heading{display:block}.split-heading p{margin-top:16px;font-size:17px}.album-grid{grid-template-columns:1fr}.album-cover{height:350px}.album-meta h3{font-size:28px}.intro-row h2,.split-heading h2,.about-copy h2,.sessions h2,.contact h2{font-size:47px}.about-image{min-height:420px}.photo-grid{grid-template-columns:1fr 1fr;gap:5px}.lightbox img{max-width:100vw;max-height:84dvh}.lightbox button{width:39px;height:39px}.lightbox .prev-lightbox{left:5px}.lightbox .next-lightbox{right:5px}.admin-header{padding:12px;flex-wrap:wrap}.admin-header>a img{width:162px;height:60px}.admin-card{padding:18px}.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-photo-item img{height:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}


/* 2026 editorial direction — public website only. Management screens remain unchanged. */
.public-body{
  --bg:#080808;--ink:#eee9e0;--cream:#efe9df;--paper:#0d0d0c;
  --muted:#aaa69e;--olive:#b4a28b;--border:#34332f;
  --display:'Cormorant Garamond',Georgia,serif;
  color:#eee9e0;background:#080808;font-size:15px;
  -webkit-font-smoothing:antialiased;
}
.public-body ::selection{background:#9f917e;color:#0d0c0b}
.public-body a:focus-visible,.public-body button:focus-visible{
  outline:2px solid #d9c5a7;outline-offset:5px;
}
.public-body .constrain{width:min(1300px,calc(100% - 120px))}
.public-body .header{
  height:90px;padding-inline:max(4.3vw,24px);background:rgba(10,10,9,.53);
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:none;transition:background .3s,border-color .3s;
}
.public-body .header.scrolled{background:rgba(10,10,9,.96);border-color:#32302c}
.public-body .brand{flex-basis:224px}
.public-body .brand img{width:224px;height:73px}
.public-body .nav{gap:30px}
.public-body .nav a{font-weight:500;font-size:10px;letter-spacing:.21em;opacity:.8}
.public-body .nav a:hover{opacity:1}
.public-body .header-cta{background:transparent;color:#f5f0e9;border-color:#8e887c;letter-spacing:.18em;transition:background .25s,color .25s}
.public-body .header-cta:hover{background:#e7dfd1;color:#11100e}
.public-body .hero{height:100svh;min-height:670px;max-height:1050px;margin-top:0;isolation:isolate}
.public-body .hero-image{background-position:center 40%;filter:saturate(.76) contrast(1.03);transform:scale(1.02)}
.public-body .hero-shade{
 background:linear-gradient(90deg,rgba(5,5,5,.82) 0%,rgba(5,5,5,.46) 47%,rgba(5,5,5,.12) 77%),
 linear-gradient(0deg,rgba(0,0,0,.56),transparent 24%,transparent 80%,rgba(0,0,0,.18));
}
.public-body .hero-content{padding:105px 0 25px}
.public-body .hero .kicker{color:#f0e6d8;font-size:10px;letter-spacing:.32em}
.public-body .hero h1{
  font-size:clamp(82px,9.4vw,158px);line-height:.88;letter-spacing:-.055em;
  max-width:1000px;margin:34px 0 36px;font-weight:400;text-wrap:balance;
}
.public-body .hero h1 em{font-weight:400;color:#eee0cb}
.public-body .hero-sub{font-size:11px;line-height:2.1;letter-spacing:.23em;max-width:515px;margin-bottom:41px;color:#eee8de}
.public-body .button{letter-spacing:.22em;font-weight:600;padding:17px 24px;border-color:#a9a399}
.public-body .button.solid{background:#eee9df;border-color:#eee9df;color:#0b0b0a;transition:background .25s,color .25s}
.public-body .button.solid:hover{background:#bda990;color:#100f0c}
.public-body .hero-edge{right:max(4vw,26px);bottom:43px;letter-spacing:.21em;font-size:9px;max-width:280px;opacity:.82}
.public-body .hero-scroll{left:max(4.3vw,24px);bottom:38px;letter-spacing:.28em;font-size:9px;color:#e8ddd1}
.public-body .editorial-intro,.public-body .about-section,.public-body .contact{background:#0d0d0c;color:#f1ece3}
.public-body .editorial-intro{border-top:1px solid #2e2c29}
.public-body .kicker{color:#bdb1a0;letter-spacing:.3em;font-size:10px}
.public-body .kicker.light{color:#bdb1a0}
.public-body .hairline{width:65px;opacity:.55}
.public-body .intro-row{
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:10vw;align-items:start;padding:136px 0 112px;
}
.public-body .intro-row h2,.public-body .split-heading h2,.public-body .about-copy h2,
.public-body .sessions h2,.public-body .contact h2{
 font-size:clamp(64px,6.5vw,108px);line-height:.89;letter-spacing:-.045em;
}
.public-body h2 em{color:#d3c1aa}
.public-body .intro-row h2{margin-top:28px}
.public-body .intro-row p{
 color:#d2ccc1;font-family:var(--display);font-size:clamp(24px,2.2vw,32px);
 line-height:1.25;max-width:440px;margin:42px 0 0;
}
.public-body .intro-row>a{grid-column:2;justify-self:start;margin-top:-11px}
.public-body .text-link{
 color:#f0e7da;border-bottom-color:#aa9982;padding-bottom:11px;
 letter-spacing:.18em;font-size:10px;transition:color .25s,border-color .25s;
}
.public-body .text-link:hover{color:#c8ac8a;border-color:#f2e6d7}
.public-body .feature-grid{background:#080808;gap:3px;grid-template-columns:repeat(5,minmax(0,1fr))}
.public-body .feature-card{height:clamp(390px,43vw,610px);background:#171614}
.public-body .feature-card img{filter:saturate(.7) contrast(1.06);transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .85s}
.public-body .feature-card:hover img{filter:saturate(.9);transform:scale(1.045)}
.public-body .feature-card::after{background:linear-gradient(0deg,rgba(0,0,0,.84),transparent 60%),linear-gradient(180deg,rgba(0,0,0,.2),transparent 26%)}
.public-body .feature-index{position:absolute;top:24px;left:24px;z-index:2;font-size:11px;letter-spacing:.23em;color:#f5f0e9}
.public-body .feature-text{bottom:30px;left:28px;right:25px}
.public-body .feature-label{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.45vw,42px);line-height:1;letter-spacing:-.01em;text-transform:none}
.public-body .feature-sub{font-size:9px;letter-spacing:.19em;color:#e0d8ce;margin-top:14px}
.public-body .galleries{background:#10100f;border-top:1px solid #36322e;padding:137px 0 154px}
.public-body .section-top{padding-bottom:11px}
.public-body .split-heading{align-items:end;margin:22px 0 55px}
.public-body .split-heading h2{max-width:830px}
.public-body .split-heading p{color:#bfb6a9;font-size:24px;line-height:1.2;max-width:255px;text-align:right}
.public-body .filters{border-color:#403b35;gap:31px;padding:22px 0 45px}
.public-body .filters button{
 color:#a9a199;background:none;border:0;border-bottom:1px solid transparent;
 padding:8px 1px 12px;letter-spacing:.19em;font-size:10px;font-weight:500;
 transition:color .2s,border-color .2s;
}
.public-body .filters button:hover,.public-body .filters button[aria-pressed=true]{
 background:transparent;color:#f5efe5;border-color:#d1b89c;
}
.public-body .album-grid{gap:56px 24px}
.public-body .album-cover{height:auto;aspect-ratio:4/5;background:#201e1a}
.public-body .album-card:nth-child(3n+2) .album-cover{aspect-ratio:4/4.45}
.public-body .album-card:nth-child(3n+3) .album-cover{aspect-ratio:4/5.5}
.public-body .album-cover::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.24),transparent 28%,transparent 72%,rgba(0,0,0,.3))}
.public-body .album-cover img{filter:saturate(.82);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .7s}
.public-body .album-card:hover img{transform:scale(1.055);filter:saturate(1.05)}
.public-body .album-ordinal,.public-body .album-arrow{position:absolute;z-index:2;color:#fff}
.public-body .album-ordinal{top:19px;left:19px;font-size:11px;letter-spacing:.2em}
.public-body .album-arrow{bottom:16px;right:20px;font-size:20px;transition:transform .25s}
.public-body .album-card:hover .album-arrow{transform:translate(4px,-4px)}
.public-body .album-meta{padding:19px 0 23px;border-color:#36332e}
.public-body .album-meta h3{font-size:clamp(29px,2.75vw,43px);line-height:1.03;margin:9px 0 0}
.public-body .album-category{font-size:9px;color:#aca497;letter-spacing:.22em}
.public-body .album-count{font-size:9px;color:#aca497;letter-spacing:.12em}
.public-body .about-section{padding:155px 0;border-top:1px solid #292723}
.public-body .about-grid{grid-template-columns:.95fr 1.05fr;gap:min(12vw,170px)}
.public-body .about-image{min-height:710px;position:relative;filter:saturate(.76)}
.public-body .about-image::after{content:"A STUDY IN STILLNESS";position:absolute;left:22px;bottom:20px;color:#f0e9df;font:500 10px var(--font);letter-spacing:.24em;text-shadow:0 2px 12px #000}
.public-body .about-copy h2{margin-top:26px}
.public-body .about-copy p{color:#c7bfb4;font:clamp(22px,2.3vw,31px)/1.37 var(--display);margin:38px 0 30px}
.public-body .about-copy .text-link{margin-top:16px}
.public-body .sessions{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:center;background:#171512;overflow:hidden;border-top:1px solid #292723}
.public-body .sessions::before{content:"";position:absolute;inset:0 0 0 45%;background-image:var(--session-image);background-size:cover;background-position:center 40%;opacity:.47;filter:saturate(.6);z-index:-2}
.public-body .sessions::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090908 3%,rgba(9,9,8,.92) 34%,rgba(9,9,8,.48) 80%,rgba(9,9,8,.4));z-index:-1}
.public-body .sessions-row{grid-template-columns:1.05fr .65fr;gap:10vw;width:100%}
.public-body .sessions h2{font-size:clamp(68px,7vw,117px);margin-top:27px}
.public-body .sessions-row p{color:#e0d9cf;font:clamp(23px,2.2vw,31px)/1.3 var(--display);margin-bottom:36px}
.public-body .button.outline{color:#f0e9de;border-color:#aaa096}
.public-body .button.outline:hover{background:#eee9df;color:#0b0b0a}
.public-body .contact{padding:154px 0 165px;border-top:1px solid #34312d;background:radial-gradient(circle at 3% 95%,#1b1915,transparent 40%),#0e0e0d}
.public-body .contact-row{align-items:center;gap:8vw}
.public-body .contact h2{font-size:clamp(70px,7.2vw,120px);margin-top:28px}
.public-body .contact-right{border-top:1px solid #72695c;padding-top:31px}
.public-body .contact-right p{color:#d0c6b9;font:clamp(23px,2.25vw,32px)/1.28 var(--display);margin-bottom:36px}
.public-body .contact-right a{margin:0 20px 15px 0}
.public-body .subtle.dark{color:#aaa49c}
.public-body .footer{background:#090909;border-color:#292825}
.public-body .footer-layout{min-height:190px}
.public-body .footer-logo img{width:207px}
.public-body .footer span,.public-body .footer-layout a:not(.footer-logo){color:#aaa198;letter-spacing:.13em}
.public-body .footer a.admin-link{opacity:.58}
.public-body .album-view{background:#0c0c0b}
.public-body .album-view-heading h1{font-size:clamp(82px,10vw,160px);line-height:.9}
.public-body .album-view-heading p{color:#c7b9a6;font-size:26px}
.public-body .back-link{color:#d7c7b3}
.public-body .photo-grid{display:block;columns:3;column-gap:13px}
.public-body .photo-grid button{display:block;break-inside:avoid;overflow:hidden;width:100%;margin:0 0 13px}
.public-body .photo-grid button img{width:100%;height:auto;transition:transform .65s,filter .65s;filter:saturate(.9)}
.public-body .photo-grid button:hover img{transform:scale(1.018);filter:saturate(1.07)}
.public-body .album-footer{border-color:#36312d}
@media(max-width:1100px){
 .public-body .constrain{width:calc(100% - 80px)}
 .public-body .header{gap:14px}
 .public-body .nav{gap:18px}
 .public-body .feature-card{height:410px}
 .public-body .intro-row{gap:5vw}
 .public-body .about-image{min-height:600px}
}
@media(max-width:800px){
 .public-body .constrain{width:calc(100% - 46px)}
 .public-body .header{height:74px;padding-inline:20px}
 .public-body .brand{flex:0 1 195px}
 .public-body .brand img{width:195px;height:64px}
 .public-body .mobile-menu{top:74px;background:#0d0d0c;border-color:#35312b}
 .public-body .hero{margin-top:0;height:93svh;min-height:600px;max-height:none}
 .public-body .hero-image{background-position:58% 40%}
 .public-body .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.24)),linear-gradient(0deg,rgba(0,0,0,.5),transparent 45%)}
 .public-body .hero-content{padding:84px 0 30px}
 .public-body .hero h1{font-size:clamp(69px,10.6vw,104px);max-width:690px}
 .public-body .hero-edge{display:none}
 .public-body .intro-row{display:block;padding:99px 0 82px}
 .public-body .intro-row p{margin:30px 0}
 .public-body .intro-row>a{margin-top:10px}
 .public-body .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-body .feature-card{height:350px}
 .public-body .feature-card:last-child{grid-column:span 2;height:360px}
 .public-body .galleries{padding:100px 0}
 .public-body .album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 18px}
 .public-body .album-card:nth-child(n) .album-cover{aspect-ratio:4/5}
 .public-body .about-section{padding:110px 0}
 .public-body .about-grid,.public-body .sessions-row,.public-body .contact-row{grid-template-columns:1fr;gap:50px}
 .public-body .about-image{min-height:560px}
 .public-body .sessions{min-height:580px;padding:100px 0}
 .public-body .sessions::before{inset:0 0 0 25%}
 .public-body .sessions::after{background:linear-gradient(90deg,rgba(4,4,4,.9),rgba(4,4,4,.58))}
 .public-body .sessions-row>div:last-child{max-width:500px}
 .public-body .contact{padding:115px 0}
 .public-body .split-heading p{text-align:left}
 .public-body .photo-grid{columns:2;column-gap:9px}
 .public-body .photo-grid button{margin-bottom:9px}
}
@media(max-width:520px){
 .public-body .constrain{width:calc(100% - 36px)}
 .public-body .header{padding-inline:16px}
 .public-body .hero{min-height:660px;height:92svh}
 .public-body .hero-content{padding:80px 0 22px}
 .public-body .hero h1{font-size:clamp(63px,12.5vw,80px);line-height:.92;margin:25px 0 26px}
 .public-body .hero .kicker{font-size:9px}
 .public-body .hero-sub{font-size:10px;letter-spacing:.17em;max-width:320px;margin-bottom:31px}
 .public-body .hero-scroll{bottom:18px}
 .public-body .intro-row{padding:82px 0 72px}
 .public-body .intro-row h2,.public-body .split-heading h2,.public-body .about-copy h2,.public-body .sessions h2,.public-body .contact h2{font-size:clamp(56px,12vw,76px)}
 .public-body .intro-row p{font-size:26px}
 .public-body .feature-grid{gap:2px}
 .public-body .feature-card{height:305px}
 .public-body .feature-index{top:13px;left:13px}
 .public-body .feature-text{left:13px;bottom:16px;right:9px}
 .public-body .feature-label{font-size:29px}
 .public-body .feature-sub{font-size:8px;line-height:1.45;letter-spacing:.11em}
 .public-body .galleries{padding:83px 0 96px}
 .public-body .split-heading{display:block;margin:23px 0 37px}
 .public-body .split-heading p{margin-top:20px;font-size:22px}
 .public-body .filters{gap:17px;padding:17px 0 30px}
 .public-body .filters button{font-size:9px;padding:8px 0}
 .public-body .album-grid{grid-template-columns:1fr;gap:42px}
 .public-body .album-card:nth-child(n) .album-cover{aspect-ratio:4/4.7}
 .public-body .album-meta h3{font-size:40px}
 .public-body .about-section{padding:90px 0}
 .public-body .about-image{min-height:460px}
 .public-body .about-copy p,.public-body .sessions-row p,.public-body .contact-right p{font-size:26px}
 .public-body .sessions{padding:93px 0}
 .public-body .contact{padding:92px 0}
 .public-body .footer-layout{gap:20px}
 .public-body .album-view{padding-top:114px}
 .public-body .album-view-heading h1{font-size:75px}
 .public-body .album-view-heading p{font-size:23px}
 .public-body .photo-grid{columns:2;column-gap:5px}
 .public-body .photo-grid button{margin-bottom:5px}
}


/* Premium inquiry dialog; email destination comes from Supabase Website Settings */
.public-body.booking-open{overflow:hidden}
.public-body .booking-cta{margin:0 0 24px;min-width:260px}
.booking-dialog{width:min(780px,calc(100% - 28px));max-width:none;max-height:min(92dvh,920px);padding:0;border:1px solid #635b50;background:#11110f;color:#ede8e0;overflow:auto;box-shadow:0 25px 85px rgba(0,0,0,.7)}
.booking-dialog::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.booking-shell{padding:clamp(24px,4.4vw,54px)}
.booking-top{display:flex;justify-content:space-between;align-items:start;gap:18px}
.booking-top .kicker{padding-top:8px}
.booking-close{border:1px solid #5c5750;color:#f5eee3;background:transparent;width:43px;height:43px;flex:0 0 43px;font-size:26px;font-weight:300;line-height:1}
.booking-close:hover{background:#e9dfd1;color:#11110f}
.booking-dialog h2{font:400 clamp(48px,5.2vw,78px)/.92 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em;margin:18px 0 20px}
.booking-dialog h2 em{color:#d8c4ab}
.booking-intro{font:400 24px/1.25 'Cormorant Garamond',Georgia,serif;color:#c6bcb0;max-width:560px;margin:0 0 34px}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 19px}
.booking-fields label{display:flex;flex-direction:column;gap:8px;min-width:0;color:#e0d9d0;font:500 10px/1.4 'DM Sans',sans-serif;letter-spacing:.15em;text-transform:uppercase}
.booking-fields input,.booking-fields select,.booking-fields textarea{min-height:50px;width:100%;background:#1c1b18;border:1px solid #554e45;border-radius:0;padding:14px 15px;color:#f2ebe0;font:400 15px/1.45 'DM Sans',sans-serif;letter-spacing:normal;outline:none}
.booking-fields input::placeholder,.booking-fields textarea::placeholder{color:#9d968d}
.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{border-color:#e4ceb2;box-shadow:0 0 0 1px #e4ceb2}
.booking-fields .booking-message-label{grid-column:1/-1}
.booking-fields textarea{resize:vertical;min-height:114px}
.booking-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.booking-privacy{font:400 11px/1.6 'DM Sans',sans-serif;color:#a9a093;margin:20px 0 0}
.booking-status:empty{display:none}
.booking-status{padding:10px 14px;margin:17px 0 0;border:1px solid #625b50;background:#26231e;color:#e8dbca;font:400 13px/1.5 'DM Sans',sans-serif}
.booking-status.booking-success{border-color:#677d65;background:#1b281a;color:#e0f3d7}
.booking-status.booking-error{border-color:#ad6e69;background:#321f1e;color:#f5c7be}
.booking-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:26px}
.booking-dialog .booking-submit{min-width:242px}
.booking-dialog .booking-submit:disabled{opacity:.6;cursor:not-allowed}
.booking-dialog .text-link{font-size:10px}
@media(max-width:590px){
  .booking-dialog{max-height:94dvh}
  .booking-shell{padding:23px 20px 28px}
  .booking-dialog h2{font-size:57px}
  .booking-intro{font-size:21px;margin-bottom:25px}
  .booking-fields{grid-template-columns:1fr;gap:15px}
  .booking-fields .booking-message-label{grid-column:auto}
  .booking-fields input,.booking-fields select{min-height:48px}
  .booking-actions{gap:20px}
  .booking-dialog .booking-submit{width:100%}
}
