:root{--charcoal:#2b2b2b;--deep:#202020;--panel:#252525;--paper:#f6f3ed;--muted:#c8c4bc;--dim:#a8a49d;--line:#f7f4ee;--soft:#f7f4ee45;--gutter:clamp(82px,9vw,150px);--measure:68ch}*{box-sizing:border-box}html{background:var(--charcoal);color:var(--paper);scroll-behavior:smooth}body{background:radial-gradient(circle at 50% 18%,#393939 0,var(--charcoal) 48%,#272727 100%);min-width:320px;margin:0;font-family:Libre Baskerville,Georgia,serif;line-height:1.6}button,input,textarea,select{font:inherit}a{color:inherit}.skip{z-index:100;background:var(--paper);color:var(--deep);padding:.65rem 1rem;position:fixed;top:-5rem;left:1rem}.skip:focus{top:1rem}.site-header{z-index:40;padding:14px var(--gutter);border-bottom:1px solid var(--soft);backdrop-filter:blur(8px);background:linear-gradient(#252525f5,#252525e8);position:sticky;top:0}.header-inner{align-items:center;gap:28px;max-width:1200px;min-height:40px;margin:auto;display:flex;position:relative}.brand{margin-right:auto;font-family:Berkshire Swash,serif;font-size:1.7rem;line-height:1;text-decoration:none}.brand small{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px;font:400 .48rem/1 Libre Baskerville,serif;display:block}.desktop-nav{align-items:center;gap:18px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.desktop-nav a{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid #0000;padding:8px 0;font-size:.62rem;text-decoration:none}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--paper);border-bottom-color:var(--paper)}.desktop-nav a[aria-current=page]{color:var(--paper);border:1px solid var(--paper);padding:8px 12px}.book-link{border:1px solid var(--line)!important;color:var(--paper)!important;padding:8px 12px!important}.mobile-nav{display:none}.mobile-nav a[aria-current=page]{color:var(--paper);outline:1px solid var(--paper);outline-offset:-5px}.menu-button{border:1px solid var(--line);color:var(--paper);letter-spacing:.1em;text-transform:uppercase;background:0 0;min-width:132px;min-height:44px;padding:8px 16px;font-size:.62rem;display:none;position:relative}.menu-indicator{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--paper);width:0;height:0;transition:transform .18s;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.menu-button[aria-expanded=true] .menu-indicator{transform:translate(-50%)rotate(180deg)}.page-shell{z-index:2;padding:clamp(80px,10vw,140px) var(--gutter) 180px;position:relative}.page-shell>section,.page-shell>header,.page-shell>form,.page-shell>footer{max-width:1120px;margin-inline:auto}.page-heading{text-align:center;margin-bottom:clamp(60px,8vw,100px)}.kicker{color:var(--muted);letter-spacing:.25em;text-transform:uppercase;margin:0 0 10px;font-size:.66rem}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(3rem,8vw,7.2rem);font-weight:400;line-height:.95}.page-heading p{max-width:var(--measure);color:var(--muted);margin:22px auto 0;font-size:.93rem}.ornament-divider{color:var(--paper);justify-content:center;align-items:center;gap:10px;margin:34px auto;display:flex}.ornament-divider:before,.ornament-divider:after{content:"";background:linear-gradient(90deg,transparent,var(--line));flex:1;max-width:170px;height:1px}.ornament-divider:after{background:linear-gradient(90deg,var(--line),transparent)}.ornament-divider i,.ornament-divider b{background:var(--paper);border-radius:50%;display:block}.ornament-divider i{width:5px;height:5px}.ornament-divider b{width:9px;height:9px}.section-title{margin:0 0 14px;font-size:clamp(1.8rem,4vw,3.6rem);font-weight:400;line-height:1.1}.section-note{color:var(--muted);max-width:var(--measure);margin:0}.placeholder{border:1px solid var(--line);min-height:250px;color:var(--muted);text-align:center;background:linear-gradient(135deg,#303030,#242424);place-items:center;padding:28px;display:grid;position:relative;overflow:hidden}.placeholder:before,.placeholder:after{content:"";border:1px solid #f7f4ee2e;position:absolute;inset:11px}.placeholder:after{aspect-ratio:1;border-color:#f7f4ee1a;width:52%;inset:50% auto auto 50%;transform:translate(-50%,-50%)rotate(45deg)}.placeholder span{z-index:1;letter-spacing:.15em;text-transform:uppercase;font-size:.66rem;position:relative}.site-footer{z-index:25;padding:36px var(--gutter) 50px;border-top:1px solid var(--soft);background:#252525;position:relative}.footer-inner{grid-template-columns:1fr auto;align-items:end;gap:20px;max-width:1120px;margin:auto;display:grid}.footer-brand{font-family:Berkshire Swash,serif;font-size:1.55rem}.footer-meta,.footer-links{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.63rem}.footer-links{gap:16px;display:flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--paper)}.booking-intro{text-align:center;margin-bottom:70px;display:block}.booking-intro aside{border-block:1px solid var(--line);color:var(--muted);padding:26px 0;font-size:.82rem}.booking-intro aside strong{color:var(--paper);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:.7rem;display:block}.booking-form{max-width:850px!important}.form-section{border:0;margin:0 0 64px;padding:0}.form-section legend{border-bottom:1px solid var(--soft);width:100%;margin-bottom:28px;padding:0 0 16px;font-size:clamp(1.4rem,3vw,2.25rem)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.field{gap:8px;display:grid}.field.full{grid-column:1/-1}.field label,.choice-group legend{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.field input,.field textarea,.field select{width:100%;color:var(--paper);background:#202020d9;border:1px solid #f7f4eeb3;border-radius:0;min-height:48px;padding:13px 14px}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field textarea:focus,.field select:focus,.upload:focus-within{outline:2px solid var(--paper);outline-offset:4px}.hint{color:var(--dim);margin:0;font-size:.72rem}.choices{flex-wrap:wrap;gap:10px;display:flex}.choice{position:relative}.choice input{opacity:0;position:absolute}.choice label{border:1px solid var(--soft);place-items:center;min-height:44px;padding:9px 18px;font-size:.7rem;display:grid}.choice input:checked+label{background:var(--paper);color:var(--deep);border-color:var(--paper)}.choice input:focus-visible+label{outline:2px solid var(--paper);outline-offset:4px}.upload{border:1px dashed var(--line);text-align:center;background:#242424;padding:22px}.upload input{max-width:100%}.form-notice{border-block:1px solid var(--line);color:var(--muted);margin:50px 0;padding:24px 0;font-size:.84rem}.submit{border:1px solid var(--paper);background:var(--paper);width:100%;min-height:54px;color:var(--deep);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;font-size:.7rem}.submit:hover,.submit:focus-visible{color:var(--paper);outline:2px solid var(--paper);outline-offset:4px;background:0 0}.gallery-lead{grid-template-columns:1fr auto;align-items:end;gap:30px;margin-bottom:30px;display:grid}.quiet-controls{gap:8px;display:flex}.quiet-controls button{border:1px solid var(--line);min-width:46px;min-height:44px;color:var(--paper);cursor:pointer;background:0 0}.quiet-controls button:hover,.quiet-controls button:focus-visible{background:var(--paper);color:var(--deep);outline:2px solid var(--paper);outline-offset:3px}.featured-viewer{border-block:1px solid var(--line);grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:32px;margin-bottom:90px;padding:30px 0;display:grid}.featured-viewer .placeholder{min-height:520px}.featured-copy{align-self:center}.status{border:1px solid var(--line);letter-spacing:.13em;text-transform:uppercase;margin-bottom:18px;padding:5px 9px;font-size:.59rem;display:inline-block}.featured-copy h2{margin:0 0 16px;font-size:clamp(2rem,5vw,4.3rem);font-weight:400;line-height:1}.featured-copy p{color:var(--muted);font-size:.83rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.gallery-item{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.gallery-item .placeholder{min-height:340px}.gallery-item:nth-child(3n+2) .placeholder{min-height:410px}.gallery-item h3{margin:12px 0 2px;font-size:.84rem;font-weight:400}.gallery-item p{color:var(--dim);margin:0;font-size:.68rem}.filters{flex-wrap:wrap;gap:8px;margin:0 0 35px;display:flex}.filters button{border:1px solid var(--soft);min-height:42px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:0 0;padding:8px 14px;font-size:.62rem}.filters button.active{background:var(--paper);color:var(--deep);border-color:var(--paper)}.about-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(45px,8vw,100px);display:grid}.portrait.placeholder{min-height:650px;position:sticky;top:110px}.story{font-size:1.02rem}.story .draft{border-block:1px solid var(--soft);color:var(--muted);padding:20px 0;font-size:.76rem}.story p{max-width:62ch}.contact-strip{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin-top:80px;display:grid}.contact-strip a,.contact-strip div{text-align:center;border-right:1px solid var(--soft);padding:24px;text-decoration:none}.contact-strip>:last-child{border-right:0}.contact-strip small{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:.58rem;display:block}.contact-strip span{font-size:.8rem}.faq-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:70px;display:grid}.faq-index{border-block:1px solid var(--line);padding:18px 0;position:sticky;top:110px}.faq-index a{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:9px 0;font-size:.68rem;text-decoration:none;display:block}.faq-index a:hover,.faq-index a:focus-visible{color:var(--paper)}.faq-group{margin-bottom:58px;scroll-margin-top:110px}.faq-group h2{margin:0 0 16px;font-size:1.8rem;font-weight:400}.faq-item{border-top:1px solid var(--soft)}.faq-item:last-child{border-bottom:1px solid var(--soft)}.faq-item summary{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:16px;min-height:62px;padding:12px 0;font-size:.86rem;list-style:none;display:grid}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.35rem;font-weight:400}.faq-item[open] summary:after{content:"−"}.faq-item summary:focus-visible{outline:2px solid var(--paper);outline-offset:5px}.faq-answer{color:var(--muted);padding:0 35px 24px 0;font-size:.82rem}.faq-info{margin:0;padding:0;list-style:none}.faq-info li{border-top:1px solid var(--soft);color:var(--muted);padding:14px 35px 14px 0;font-size:.82rem}.faq-info li:last-child{border-bottom:1px solid var(--soft)}.draft-copy{color:var(--dim);font-style:italic}.lightbox[hidden]{display:none}.lightbox{z-index:90;background:#171717f5;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.lightbox-dialog{grid-template-rows:auto 1fr auto;gap:15px;width:min(900px,100%);max-height:90vh;display:grid}.lightbox-close{border:1px solid var(--line);width:46px;height:44px;color:var(--paper);background:0 0;justify-self:end}.lightbox .placeholder{height:min(70vh,700px)}.lightbox-caption{text-align:center;color:var(--muted);font-size:.75rem}@media (width<=900px){:root{--gutter:64px}.desktop-nav{display:none}.menu-button{display:block}.mobile-nav{border:1px solid var(--line);background:#202020;padding:8px;display:none;position:absolute;top:100%;left:58px;right:58px}.mobile-nav.open{display:grid}.mobile-nav a{border-bottom:1px solid var(--soft);letter-spacing:.1em;text-transform:uppercase;align-items:center;min-height:48px;padding:8px 12px;font-size:.68rem;text-decoration:none;display:flex}.mobile-nav a:last-child{border:0}.page-shell{padding-top:70px}.booking-intro,.featured-viewer,.about-grid,.faq-layout{grid-template-columns:1fr}.booking-intro{gap:25px}.featured-viewer .placeholder{min-height:400px}.portrait.placeholder{min-height:480px;position:relative;top:auto}.faq-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;position:relative;top:auto;overflow:visible}.faq-index a{white-space:normal;text-align:center;place-items:center;min-height:44px;display:grid}.contact-strip{grid-template-columns:1fr}.contact-strip a,.contact-strip div{border-right:0;border-bottom:1px solid var(--soft)}.contact-strip>:last-child{border-bottom:0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item .placeholder,.gallery-item:nth-child(3n+2) .placeholder{min-height:300px}}@media (width<=580px){:root{--gutter:62px}.site-header{padding-block:11px}.brand{font-size:1.45rem}.page-shell{padding-top:60px;padding-bottom:150px}.page-heading{margin-bottom:48px}.page-heading h1{font-size:clamp(2.8rem,14vw,4.1rem)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.featured-viewer{grid-template-columns:1fr}.featured-viewer .placeholder{min-height:310px}.gallery-lead,.gallery-grid{grid-template-columns:1fr}.gallery-item .placeholder,.gallery-item:nth-child(3n+2) .placeholder{min-height:330px}.footer-inner{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.lightbox{padding:20px 60px}.lightbox .placeholder{height:58vh}}@view-transition{navigation:auto}@keyframes page-fade-out{to{opacity:.84}}@keyframes page-fade-in{0%{opacity:.84}}::view-transition-old(root){animation:.12s ease-out both page-fade-out}::view-transition-new(root){animation:.22s ease-out both page-fade-in}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}.empty-state{border-block:1px solid var(--soft);text-align:center;max-width:760px;margin:0 auto;padding:clamp(30px,6vw,60px) 0}.empty-state h2{margin:0 0 12px;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:400}.empty-state p{color:var(--muted);max-width:55ch;margin:0 auto}.contact-card{border-block:1px solid var(--line);max-width:820px;margin:0 auto;padding:35px 0}.contact-card dl{grid-template-columns:180px 1fr;gap:16px 30px;margin:0;display:grid}.contact-card dt{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;font-size:.65rem}.contact-card dd{margin:0}.contact-card a{text-underline-offset:4px}.acknowledgement{color:var(--muted);grid-template-columns:auto 1fr;align-items:start;gap:12px;margin:30px 0;font-size:.82rem;display:grid}.acknowledgement input{width:20px;height:20px;margin-top:2px}.honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.form-error{color:#ffe5e5;border:1px solid #e6b9b9;max-width:850px;margin:0 auto 30px;padding:16px;scroll-margin-top:90px}.form-error strong{margin-bottom:8px;display:block}.form-error ul{margin:0;padding-left:22px}.form-error li+li{margin-top:5px}.form-error a{text-underline-offset:3px}.form-error:focus-visible{outline-offset:4px;outline:3px solid #ffe5e5}.legal-copy{max-width:760px!important}.legal-copy h2{margin-top:2.5rem;font-weight:400}.legal-copy p,.legal-copy li{color:var(--muted)}.confirmation{text-align:center;max-width:720px!important}.confirmation .section-title{margin-bottom:20px}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.not-found-actions a{border:1px solid var(--line);padding:10px 16px;text-decoration:none}.footer-links{flex-direction:column;align-items:flex-start;gap:2px}.footer-links a{align-items:center;gap:8px;min-height:44px;display:inline-flex}.footer-link-icon{flex:0 0 16px;width:16px;height:16px}.about-profile{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:center;gap:clamp(34px,6vw,72px);max-width:820px;margin:0 auto 72px;display:grid}.about-headshot{aspect-ratio:1;object-fit:cover;object-position:50% 30%;border:1px solid var(--line);border-radius:50%;width:100%;height:auto;display:block}.about-bio .section-title{margin-bottom:20px}.about-bio p{max-width:46ch;color:var(--muted)}.contact-card dt{align-items:center;gap:9px;display:flex}.contact-label-icon{width:17px;height:17px;color:var(--paper);flex:0 0 17px}@media (width<=700px){.about-profile{text-align:center;grid-template-columns:1fr}.about-headshot{width:min(68vw,280px);margin:0 auto}.about-bio p{margin-inline:auto}.contact-card dt{margin-top:10px}}.gallery-status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gallery-kicker{color:var(--dim);letter-spacing:.15em;text-transform:uppercase;margin:0 0 10px;font-size:.62rem}.gallery-counter{letter-spacing:.12em;text-transform:uppercase;color:var(--paper)!important;font-size:.72rem!important}.flash-stage{border-block:1px solid var(--line);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:clamp(28px,5vw,64px);padding:clamp(24px,4vw,44px) 80px clamp(24px,4vw,44px) 0;display:grid}.flash-stage-media{background:#f5f3ee;place-items:center;height:min(68vh,720px);min-height:520px;display:grid;position:relative;overflow:hidden}.flash-stage-media img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.flash-stage-copy h2{margin:0 0 8px;font-size:clamp(2.2rem,5vw,4.5rem);font-weight:400;line-height:1}.flash-stage-copy>p:not(.gallery-kicker):not(.gallery-counter){max-width:36ch;color:var(--muted);font-size:.82rem}.gallery-actions{gap:8px;margin:28px 0 18px;display:flex}.gallery-arrow{border:1px solid var(--line);min-height:46px;color:var(--paper);cursor:pointer;background:0 0;padding:9px 14px}.gallery-arrow:hover,.gallery-arrow:focus-visible,.flash-thumbnail:hover,.flash-thumbnail:focus-visible{background:var(--paper);color:var(--deep);outline:2px solid var(--paper);outline-offset:3px}.gallery-book{min-height:44px;color:var(--paper);text-underline-offset:5px;align-items:center;display:inline-flex}.flash-thumbnails{overscroll-behavior-inline:contain;scrollbar-color:var(--line) transparent;scroll-snap-type:x proximity;grid-auto-columns:132px;grid-auto-flow:column;gap:12px;padding:28px 4px 18px;display:grid;overflow-x:auto}.flash-thumbnail{border:1px solid var(--soft);color:var(--muted);cursor:pointer;scroll-snap-align:start;background:0 0;grid-template-rows:172px auto;gap:8px;padding:7px;display:grid}.flash-thumbnail[aria-current=true]{border-color:var(--paper);color:var(--paper)}.flash-thumbnail img{object-fit:contain;background:#f5f3ee;width:100%;height:172px;display:block}.flash-thumbnail span{letter-spacing:.12em;text-align:center;font-size:.62rem}.portfolio-lead{border-bottom:1px solid var(--line);grid-template-columns:1fr minmax(220px,.55fr);align-items:end;gap:32px;margin:0 80px 28px;padding-bottom:20px;display:grid}.portfolio-lead h2{margin:0;font-size:clamp(1.8rem,4vw,3rem);font-weight:400}.portfolio-lead>p{color:var(--muted);text-align:right;margin:0;font-size:.78rem}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);display:grid}.portfolio-card{border:1px solid var(--soft);color:var(--paper);cursor:pointer;background:0 0;padding:0;display:block;position:relative;overflow:hidden}.portfolio-card[hidden]{display:none}.portfolio-card img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .25s;display:block}.portfolio-card span{border:1px solid var(--soft);letter-spacing:.12em;background:#202020e6;padding:4px 6px;font-size:.58rem;position:absolute;bottom:8px;right:8px}.portfolio-card:hover img,.portfolio-card:focus-visible img{transform:scale(1.025)}.portfolio-card:focus-visible{outline:2px solid var(--paper);outline-offset:4px}.portfolio-more{place-items:center;margin-top:34px;display:grid}.portfolio-show-all{border:1px solid var(--line);min-height:48px;color:var(--paper);cursor:pointer;background:0 0;padding:10px 18px}.portfolio-show-all:hover,.portfolio-show-all:focus-visible,.portfolio-lightbox-close:hover,.portfolio-lightbox-close:focus-visible{background:var(--paper);color:var(--deep);outline:2px solid var(--paper);outline-offset:3px}.lightbox-open{overflow:hidden}.portfolio-lightbox[hidden]{display:none}.portfolio-lightbox{z-index:100;background:#171717f7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.portfolio-lightbox-dialog{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(960px,100%);height:min(94vh,900px);display:grid}.portfolio-lightbox-close{border:1px solid var(--line);min-width:84px;min-height:44px;color:var(--paper);cursor:pointer;background:0 0;justify-self:end}.portfolio-lightbox figure{grid-template-columns:minmax(0,1fr) minmax(190px,.32fr);align-items:center;gap:24px;min-height:0;margin:0;display:grid}.portfolio-lightbox figure>img{object-fit:contain;width:100%;height:100%;max-height:74vh;display:block}.portfolio-lightbox figcaption h2{margin:0 0 12px;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:400}.portfolio-lightbox figcaption p{color:var(--muted);font-size:.75rem}.portfolio-lightbox-controls{justify-content:center;gap:8px;display:flex}@media (width<=900px){.flash-stage{grid-template-columns:1fr;padding-right:0}.flash-stage-media{height:min(58vh,580px);min-height:400px}.portfolio-lead{grid-template-columns:1fr;margin-inline:0}.portfolio-lead>p{text-align:left}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-card img{height:auto}.portfolio-lightbox figure{grid-template-columns:minmax(0,1fr) minmax(160px,.45fr)}}@media (width<=580px){.contact-card dl{grid-template-columns:1fr;gap:4px}.contact-card dd{margin-bottom:18px}.flash-stage-media{height:52vh;min-height:310px}.gallery-arrow span{display:none}.flash-thumbnails{grid-auto-columns:106px}.flash-thumbnail{grid-template-rows:138px auto}.flash-thumbnail img{height:138px}.portfolio-grid{gap:12px}.portfolio-lightbox{padding:14px}.portfolio-lightbox-dialog{height:96vh}.portfolio-lightbox figure{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:10px}.portfolio-lightbox figure>img{max-height:66vh}.portfolio-lightbox figcaption{text-align:center}.portfolio-lightbox figcaption h2{margin-bottom:5px;font-size:1.3rem}.portfolio-lightbox figcaption p{max-width:38ch;margin:0 auto 5px}.portfolio-lightbox-controls .gallery-arrow{min-width:52px}}.portfolio-sentinel{height:1px}.portfolio-lightbox figure{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:10px}.portfolio-lightbox figure>img{object-fit:contain;touch-action:pan-y;width:100%;height:100%;max-height:none}.portfolio-lightbox figcaption{text-align:center}.portfolio-lightbox-controls{justify-content:center;gap:12px}.flash-stage-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.flash-stage-open:focus-visible{outline:3px solid var(--deep);outline-offset:-6px}.flash-lightbox[hidden]{display:none}.flash-lightbox{z-index:100;background:#171717f7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.flash-lightbox-dialog{grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(1100px,100%);height:min(96vh,940px);display:grid}.flash-lightbox-close{border:1px solid var(--line);min-width:84px;min-height:44px;color:var(--paper);cursor:pointer;background:0 0;justify-self:end}.flash-lightbox-close:hover,.flash-lightbox-close:focus-visible{background:var(--paper);color:var(--deep);outline:2px solid var(--paper);outline-offset:3px}.flash-lightbox-image{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.form-required-note{color:var(--muted);margin:0 0 30px;font-size:.78rem}.booking-form .field{align-content:start}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true],.choices[aria-invalid=true] .choice label{border-color:#ff8f8f}.acknowledgement input[aria-invalid=true]{outline-offset:2px;outline:2px solid #ff8f8f}.acknowledgement input[aria-invalid=true]:focus-visible{outline-color:var(--paper)}.field-error{color:#ffc4c4;margin:0;font-size:.8rem;line-height:1.45}.acknowledgement+.field-error{margin:-22px 0 30px;padding-left:39px}.upload-note{color:var(--paper);margin:0 0 28px}.field-short input{max-width:calc(50% - 11px)}@media (width<=580px){.field-short input{max-width:none}}.upload-field input[type=file]{cursor:pointer;padding:10px}.upload-field input[type=file]::file-selector-button{border:1px solid var(--line);color:var(--paper);font:inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;margin-right:12px;padding:10px 12px;font-size:.66rem}.upload-previews{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.upload-preview{gap:6px;min-width:0;display:grid}.upload-preview img{aspect-ratio:1;object-fit:cover;border:1px solid var(--soft);width:100%;height:auto;display:block}.upload-remove{border:1px solid var(--line);min-height:44px;color:var(--paper);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;font-size:.66rem}.upload-remove:hover,.upload-remove:focus-visible{background:var(--paper);color:var(--deep);outline:2px solid var(--paper);outline-offset:2px}
