/* Bounded image layouts and progressive, accessible galleries. */
.cv-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.cv-with-photos .cv-photo{margin:0;min-width:0;position:relative;padding:6px;background:#fffdf9;border:1px solid #d6cbb4;border-radius:22px;box-shadow:0 7px 24px #2b39250b;break-inside:avoid}
.cv-photo__open{position:relative;display:block;overflow:hidden;border-radius:16px;background:#e7e4da;isolation:isolate}
.cv-with-photos .cv-photo img{display:block;width:100%;height:220px;object-fit:cover;object-position:center;transition:transform .4s ease}
.cv-photo__open:hover img{transform:scale(1.035)}
.cv-photo__zoom{position:absolute;bottom:10px;right:10px;width:31px;height:31px;display:grid;place-items:center;background:#fffef3ed;color:#283629;border:1px solid #fff9;border-radius:50%;font:17px/1 Arial,sans-serif}
.cv-with-photos .cv-photo figcaption{font:11px/1.5 Arial,Helvetica,sans-serif;color:#656454;padding:10px 7px 5px}
.cv-with-photos .cv-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:65px;padding-top:42px;padding-bottom:48px}
.cv-with-photos .cv-hero h1{font-size:clamp(45px,4.9vw,68px)}
.cv-hero-collage{min-width:0;display:grid;gap:13px;transform:translateY(5px)}
.cv-hero-collage .cv-photo--hero-main{border-radius:65px 22px 22px 22px}
.cv-hero-collage .cv-photo--hero-main .cv-photo__open{border-radius:59px 16px 16px 16px}
.cv-with-photos .cv-hero-collage .cv-photo--hero-main img{height:235px;object-position:center 60%}
.cv-hero-collage__pair{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:13px;padding-left:28px}
.cv-with-photos .cv-hero-collage__pair img{height:140px}
.cv-hero-collage__pair .cv-photo:last-child{border-bottom-right-radius:45px}
.cv-hero-collage__pair .cv-photo:last-child .cv-photo__open{border-bottom-right-radius:39px}
.cv-with-photos .cv-hero-collage figcaption{font-size:10px;padding-top:7px;padding-bottom:3px}
.cv-with-photos .cv-card{padding:12px 12px 28px}
.cv-with-photos .cv-card__icon{display:none}
.cv-with-photos .cv-card h3,.cv-with-photos .cv-card>p,.cv-with-photos .cv-card>.cv-link,.cv-with-photos .cv-card>.cv-card__tag{margin-left:16px;margin-right:16px}
.cv-with-photos .cv-card h3{margin-top:24px}
.cv-with-photos .cv-card .cv-photo{width:100%;border-radius:15px;padding:0;border:0;box-shadow:none;background:transparent}
.cv-with-photos .cv-card .cv-photo img{height:180px}
.cv-with-photos .cv-card .cv-photo figcaption{font-size:10px;padding-left:5px}
.cv-photo-pair{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:16px}
.cv-with-photos .cv-photo-pair .cv-photo:first-child img{height:285px}
.cv-with-photos .cv-photo-pair .cv-photo:last-child img{height:210px}
.cv-photo-pair .cv-photo:last-child{transform:translateY(25px)}
.cv-visual-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr);align-items:start;gap:17px}
.cv-with-photos .cv-visual-grid .cv-photo img{height:225px}
.cv-with-photos .cv-visual-grid .cv-photo--wide img{height:280px}
.cv-visual-grid .cv-photo:nth-child(3){margin-top:32px}
.cv-page-mosaic{margin-bottom:55px}
.cv-contact-landscape .cv-photo{padding:7px}
.cv-with-photos .cv-contact-landscape img{height:245px;object-position:center 45%}
.cv-gallery-collection{padding-bottom:65px}
.cv-gallery-top{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:26px}
.cv-gallery-top>p{font-size:15px;color:var(--cv-muted);max-width:730px}
.cv-gallery-top .cv-link{flex:none}
.cv-gallery-filters{display:flex;flex-wrap:wrap;gap:10px;border-block:1px solid var(--cv-line);padding:20px 0}
.cv-gallery-filters button{display:inline-flex;align-items:center;gap:9px;min-height:44px;border:1px solid #d6ccb8;border-radius:24px;padding:10px 17px;background:#fffdf8;color:#44503e;font:12px/1.4 Arial,sans-serif;cursor:pointer}
.cv-gallery-filters button[aria-pressed=true]{background:#283629;border-color:#283629;color:#fff}
.cv-gallery-filters button span{font-size:10px;opacity:.7}
.cv-gallery-count{font-size:11px;color:var(--cv-muted);margin-top:14px!important}
.cv-gallery-group{margin-top:45px}
.cv-gallery-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--cv-line);padding-bottom:16px;margin-bottom:22px}
.cv-gallery-heading h2{font-size:31px;letter-spacing:-.6px}
.cv-gallery-heading>span{font:italic 23px Georgia,serif;color:#a68b52}
.cv-gallery-columns{columns:3;column-gap:18px}
.cv-with-photos .cv-gallery-columns .cv-photo{margin-bottom:18px;display:inline-block;width:100%;vertical-align:top}
.cv-with-photos .cv-gallery-columns .cv-photo--portrait img{height:290px}
.cv-with-photos .cv-gallery-columns .cv-photo--landscape img{height:205px}
.cv-with-photos .cv-gallery-columns .cv-photo figcaption{padding:10px 7px 7px;font-size:12px}
.cv-lightbox{width:min(1080px,calc(100% - 36px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #c4b081;border-radius:20px;background:#1e251e;color:#fff;overflow:hidden;box-shadow:0 20px 80px #0008}
.cv-lightbox::backdrop{background:#111b16db;backdrop-filter:blur(5px)}
.cv-lightbox__bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 17px;border-bottom:1px solid #ffffff25}
.cv-lightbox__bar strong{font:12px/1.5 Arial,sans-serif;max-width:75%}
.cv-lightbox button{border:1px solid #ffffff42;background:transparent;color:#fff;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;font:18px Arial,sans-serif}
.cv-lightbox button:focus-visible{outline:3px solid #d5b675;outline-offset:3px}
.cv-lightbox__stage{height:min(70dvh,750px);display:flex;align-items:center;justify-content:center;position:relative;background:#172019;padding:12px 62px}
.cv-lightbox__stage img{display:block;width:100%;height:100%;object-fit:contain}
.cv-lightbox__prev,.cv-lightbox__next{position:absolute;top:calc(50% - 22px);background:#1e251edd!important}
.cv-lightbox__prev{left:9px}.cv-lightbox__next{right:9px}
.cv-lightbox__caption{font:13px/1.6 Arial,sans-serif;padding:15px 20px 18px;text-align:center;margin:0}
body.cv-viewer-open{overflow:hidden}
@media(max-width:1050px){.cv-with-photos .cv-hero{gap:35px}.cv-with-photos .cv-hero h1{font-size:56px}.cv-with-photos .cv-hero-collage .cv-photo--hero-main img{height:225px}.cv-with-photos .cv-hero-collage__pair img{height:125px}.cv-hero-collage__pair{padding-left:10px}.cv-gallery-columns{columns:2}.cv-gallery-top{gap:25px}.cv-gallery-top .cv-link{flex:0 1 auto}.cv-with-photos .cv-visual-grid .cv-photo img{height:205px}.cv-with-photos .cv-visual-grid .cv-photo--wide img{height:250px}}
@media(max-width:760px){.cv-with-photos .cv-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:34px}.cv-with-photos .cv-hero h1{font-size:clamp(43px,10.8vw,62px)}.cv-hero-collage{transform:none;gap:12px}.cv-with-photos .cv-hero-collage .cv-photo--hero-main img{height:210px}.cv-hero-collage__pair{padding-left:18px;gap:12px}.cv-with-photos .cv-hero-collage__pair img{height:135px}.cv-with-photos .cv-localnav{gap:0;justify-content:space-between;font-size:11px}.cv-with-photos .cv-card .cv-photo img{height:190px}.cv-with-photos .cv-card{padding:10px 10px 25px}.cv-photo-pair{gap:12px}.cv-with-photos .cv-photo-pair .cv-photo:first-child img{height:230px}.cv-with-photos .cv-photo-pair .cv-photo:last-child img{height:170px}.cv-photo-pair .cv-photo:last-child{transform:translateY(18px)}.cv-visual-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.cv-visual-grid .cv-photo--wide{grid-column:1/-1}.cv-with-photos .cv-visual-grid .cv-photo--wide img{height:210px}.cv-with-photos .cv-visual-grid .cv-photo img{height:175px}.cv-visual-grid .cv-photo:nth-child(3){margin-top:19px}.cv-page-mosaic{margin-bottom:42px}.cv-with-photos .cv-contact-landscape img{height:185px}.cv-gallery-top{display:block}.cv-gallery-top>p{font-size:14px}.cv-gallery-top>.cv-link{margin-top:19px}.cv-gallery-filters{gap:8px;padding:17px 0}.cv-gallery-filters button{padding:10px 13px;font-size:11px}.cv-gallery-group{margin-top:32px}.cv-gallery-heading h2{font-size:26px}.cv-gallery-columns{column-gap:12px}.cv-with-photos .cv-gallery-columns .cv-photo{margin-bottom:12px;padding:4px;border-radius:15px}.cv-gallery-columns .cv-photo__open{border-radius:11px}.cv-with-photos .cv-gallery-columns .cv-photo--portrait img{height:225px}.cv-with-photos .cv-gallery-columns .cv-photo--landscape img{height:160px}.cv-with-photos .cv-gallery-columns .cv-photo figcaption{font-size:11px;padding:8px 5px 5px}.cv-photo__zoom{width:27px;height:27px;bottom:7px;right:7px;font-size:14px}.cv-lightbox{width:calc(100% - 18px);max-height:calc(100dvh - 18px);border-radius:14px}.cv-lightbox__stage{height:67dvh;padding:8px 43px}.cv-lightbox__bar{padding:10px 12px}.cv-lightbox__bar strong{font-size:11px}.cv-lightbox button{min-width:36px;min-height:40px}.cv-lightbox__prev{left:3px}.cv-lightbox__next{right:3px}.cv-lightbox__caption{font-size:12px}}
@media(max-width:370px){.cv-with-photos .cv-gallery-columns .cv-photo--portrait img{height:195px}.cv-with-photos .cv-gallery-columns .cv-photo--landscape img{height:140px}.cv-with-photos .cv-localnav{font-size:10px}.cv-with-photos .cv-photo figcaption{font-size:10px}.cv-photo-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.cv-with-photos .cv-photo img{transition:none}}
