*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#303030;font:13px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#fa4bae}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #e43191;outline-offset:5px}button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}img,video{max-width:100%;display:block}p{margin:0 0 12px;white-space:pre-line}h1,h2,h3,h4{font-family:'Open Sans Condensed',Arial,sans-serif;line-height:1.4}h1,h2{font-size:16px;letter-spacing:1px}h1{font-weight:700}h2{margin:24px 0 10px}.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:#fff;padding:12px}.skip-link:focus{top:12px}.site-header{position:absolute;left:65px;top:44px;z-index:3}.wordmark{font-family:'Open Sans Condensed',Arial,sans-serif;font-weight:700;font-size:35px;line-height:1.4;letter-spacing:2px;color:#22313d}.site-menu{position:absolute;left:65px;top:129px;width:210px;z-index:2;font-size:13px;line-height:26px}.site-menu>a,.projects a{display:block}.site-menu [aria-current=page]{color:#ff4bab}.projects summary{list-style:none;cursor:pointer;width:max-content}.projects summary::-webkit-details-marker{display:none}.projects>div{padding-left:14px}.menu-toggle{display:none}main{width:min(740px,calc(100% - 360px));margin:0 auto;padding-top:127px;min-height:70vh}main:focus{outline:none}.home main{width:480px;padding-bottom:410px}.home .film{width:312px;margin:0 auto}.home .film:first-child{height:560px}.film{margin:28px auto;max-width:100%;width:520px}.film video{width:100%;max-height:80vh;object-fit:contain;background:#faf5f8}.home .film video{height:100%;object-fit:cover;max-height:none}.home .film:last-child{height:548px;margin-top:38px}.home-description{margin-top:26px;font-size:12px;line-height:18px;text-align:justify}.home-description h1{font-size:13px;letter-spacing:1.3px;margin:0 0 3px}.home-description p{margin:0}.home-description p:last-child{margin-top:18px;text-align:left}.home-description p:last-child::first-line{font-style:italic}.page-title{margin:0 0 28px;font-size:20px}.interior main>h1{margin-top:0}.interior main>p{max-width:620px;margin-bottom:16px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0 36px;align-items:start}.gallery-single{display:block;max-width:580px;margin-inline:auto}.artwork{border:0;background:none;padding:0;cursor:zoom-in;width:100%;display:block}.artwork img{width:100%;height:auto}.related{display:flex;flex-direction:column;gap:8px;margin:30px 0}.related a{text-decoration:underline;text-underline-offset:3px}.contact{border-top:1px solid #ccc;margin-top:42px;padding-top:15px}.contact-button{display:inline-block;border:1px solid #555;padding:10px 20px;margin:10px 0}.catalog-card{display:block;max-width:420px}.catalog-card img{width:100%;height:auto}.catalog-card h2{margin-bottom:6px}.catalog-note{font-size:12px;color:#626262;margin-top:24px}.site-footer{width:min(938px,calc(100% - 64px));margin:0 auto;padding:36px 10px 20px;border-top:1px solid #bdbdbd;font-size:12px;line-height:18px}.interior .site-footer{margin-top:100px}.footer-row{display:flex;justify-content:space-between;gap:24px}.footer-row nav a{display:block}.social{display:flex;gap:14px;font-size:19px;font-weight:bold;padding-right:32px}.copyright{font-size:10px;text-align:right;margin:35px 0 0}.lightbox{border:0;max-width:96vw;max-height:96vh;background:#fff;padding:35px 20px 15px}.lightbox::backdrop{background:#000d}.lightbox img{max-width:88vw;max-height:80vh;object-fit:contain;margin:auto}.lightbox p{text-align:center;margin:10px 0 0}.lightbox-close{position:absolute;right:5px;top:0;font-size:28px;background:#fff;border:0;cursor:pointer;line-height:32px;width:34px}
@media(min-width:901px){.projects:not([open]):hover>div{display:block;position:absolute;left:80px;top:182px;background:#fff;padding:5px 18px;min-width:190px;box-shadow:0 0 0 1px #eee}}
@media(max-width:1100px) and (min-width:901px){.site-header,.site-menu{left:28px}.wordmark{font-size:29px}.site-menu{width:170px}.interior main{margin-left:260px;width:calc(100% - 310px)}}
@media(max-width:900px){.site-header{position:relative;top:auto;left:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px}.wordmark{font-size:29px;letter-spacing:1.5px}.menu-toggle{display:flex;gap:12px;align-items:center;background:#fff;border:0;padding:9px 0 9px 12px;cursor:pointer}.site-menu{display:none;position:relative;left:auto;top:auto;width:auto;padding:0 24px 24px;line-height:30px;border-bottom:1px solid #eee}.site-menu.is-open{display:block}.projects>div{padding-left:20px}main,.home main{width:calc(100% - 48px);margin:0 24px;padding-top:20px;min-height:60vh}.home main{padding-bottom:90px}.home .film{width:min(312px,100%)}.home .film:first-child{height:auto;aspect-ratio:312/560}.home .film:last-child{height:auto;aspect-ratio:312/548;margin-top:30px}.home-description{max-width:480px;margin:26px auto 0}.site-footer{width:calc(100% - 48px);padding:24px 0 18px}.interior .site-footer{margin-top:70px}.gallery{gap:12px}.social{padding-right:0}.copyright{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Visual refinement: shared typography and measured page layouts. */
:root{--site-font:'Nunito Sans',Arial,sans-serif;--body-weight:300;--heading-weight:600;--body-size:12px;--body-line:18px;--space:18px}
body{font-family:var(--site-font);font-weight:var(--body-weight);font-size:var(--body-size);line-height:var(--body-line);font-synthesis:none;color:#000}
h1,h2,h3,h4,.wordmark{font-family:var(--site-font);font-weight:var(--heading-weight)}
strong,b{font-weight:600}.wordmark{font-size:32px;letter-spacing:1.3px;line-height:1.4}.site-menu{font-family:var(--site-font);font-weight:400}.text-body{font:var(--body-weight) var(--body-size)/var(--body-line) var(--site-font);letter-spacing:0;margin:0 0 18px}.text-caption{font:600 13px/19.5px var(--site-font);letter-spacing:1.3px;margin:0 0 8px}.text-section-heading{font:600 17px/23.8px var(--site-font);letter-spacing:0}.align-justify{text-align:justify}.align-start{text-align:start}.home-description{margin-top:26px}.home-description h1{font-family:var(--site-font);line-height:19.5px}.home-description p:last-child::first-line{font-style:normal}.page-title{font-size:13px;line-height:19.5px;letter-spacing:1.3px}.interior main>h2.text-body{font-weight:300;font-size:12px;line-height:18px;letter-spacing:0;margin:0 0 18px}.interior main>.gallery:first-child{margin-top:0}
.film{position:relative}.film-toggle{position:absolute;bottom:14px;right:14px;width:38px;height:38px;border:1px solid #ffffffb0;border-radius:50%;background:#0006;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s}.film:hover .film-toggle,.film:focus-within .film-toggle,.film-toggle:focus-visible{opacity:1}.film-toggle[hidden]{display:none}.film video{background:#fff}
.layout-team main{width:852px;padding-top:210px}.team-intro{margin-bottom:37px}.team-intro h1{margin:0 0 7px}.team-intro p{margin:0}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}.team-card{min-width:0}.team-card .artwork img{aspect-ratio:403/334;object-fit:cover}.team-card h2{font-size:17px;line-height:23.8px;font-weight:600;letter-spacing:0;margin:18px 0 10px}.team-social{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:10px;line-height:15px}.team-social a{text-decoration:underline;text-underline-offset:3px}
.layout-about main{width:678px;margin-left:calc(50% - 320px);padding-top:142px}.about-intro{display:grid;grid-template-columns:316px 339px;gap:23px;align-items:start}.about-bio p{margin:0 0 18px;text-align:justify}.about-images .artwork{margin:0 0 26px}.about-history{margin-top:60px}.about-history .artwork{max-width:339px;margin:24px auto}.about-history h2{font-size:13px;letter-spacing:1.3px}.about-history p{margin:0 0 18px}.layout-about .contact h2{font-size:13px}.layout-portraits main{width:676px}.layout-portraits .gallery:first-child{max-width:418px;margin:0 auto 27px}.layout-portraits main>.text-body{margin:0}.layout-portraits main>.text-caption{margin:0 0 4px}.layout-portraits .gallery:not(:first-child){grid-template-columns:repeat(5,minmax(0,1fr));margin:38px -45px;gap:12px}.layout-portraits .gallery-single:not(:first-child){display:block;max-width:560px;margin:28px auto}.layout-paintings main{width:560px}.layout-paintings .gallery-single{max-width:390px;margin:28px auto 20px}.layout-paintings main>.text-body{margin:0}.layout-paintings main>.text-caption{margin:0 0 10px}.layout-paintings .text-body+.gallery{margin-top:30px}
@media(max-width:1100px) and (min-width:901px){.layout-team main{width:calc(100% - 300px);margin-left:260px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-about main{margin-left:260px;width:calc(100% - 300px)}.about-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px}.layout-portraits main,.layout-paintings main{margin-left:260px;width:calc(100% - 300px)}.layout-portraits .gallery:not(:first-child){margin-inline:0}}
@media(max-width:900px){.wordmark{font-size:25px;letter-spacing:1px}.layout-team main,.layout-about main,.layout-portraits main,.layout-paintings main{width:calc(100% - 48px);margin:0 24px;padding-top:20px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.team-card h2{font-size:14px;line-height:20px}.about-intro{display:flex;flex-direction:column;gap:22px}.about-bio,.about-images{width:100%}.about-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.about-history{margin-top:32px}.layout-portraits .gallery:not(:first-child){grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:0}.layout-paintings .gallery-single{max-width:390px}.text-body{font-size:12px;line-height:18px}.film-toggle{opacity:1}}
@media(prefers-reduced-motion:reduce){.film-toggle{transition:none}}

/* Approved typography, 20 October 2026. Text blocks are centered, lines start left. */
:root{--heading-font:'Open Sans Condensed',Arial,sans-serif;--heading-weight:700;--heading-size:13px;--heading-line:19.5px;--heading-spacing:.1em}
body,.text-body{font-family:var(--site-font);font-size:12px;font-weight:300;line-height:18px;letter-spacing:0}
main h1:not(.text-body),main h2:not(.text-body),main h3:not(.text-body),main h4:not(.text-body),main .text-caption,main .text-section-heading,main .page-title,.team-card h2,.about-history h2,.layout-about .contact h2,.home-description h1{font-family:var(--heading-font);font-weight:700;font-size:13px;line-height:19.5px;letter-spacing:.1em;text-align:left}
main .text-body,main p,.home-description,.about-bio p,.align-justify{font-family:var(--site-font);font-weight:300;font-size:12px;line-height:18px;letter-spacing:0;text-align:left}
.wordmark{font-family:var(--heading-font);font-weight:700;font-size:35px;line-height:1.4;letter-spacing:.1em}
.site-menu{font-family:var(--site-font);font-size:12px;font-weight:300;letter-spacing:0}
.interior main>.text-body,.interior main>.text-caption{max-width:100%;margin-left:auto;margin-right:auto}
.artwork{max-width:var(--artwork-width,100%);margin-left:auto;margin-right:auto}
.artwork img{height:auto;object-fit:contain}
.layout-rose-center main{width:680px;margin-left:auto;margin-right:auto}
.layout-rose-center .gallery,.layout-rose-center .gallery-single{display:flex;flex-direction:column;align-items:center;gap:28px;width:100%;max-width:none;margin:28px auto 20px}
.layout-rose-center .gallery .artwork{width:100%;max-width:none}
.layout-rose-center .artwork img{width:100%;height:auto;object-fit:contain}
.layout-rose-center main>.text-body,.layout-rose-center main>.text-caption{width:100%;max-width:none;text-align:left}
.layout-team main{width:min(1257px,calc(100% - 64px));margin-left:auto;margin-right:auto}
.team-intro{max-width:852px;margin-left:auto;margin-right:auto;margin-bottom:64px}
.team-grid{grid-template-columns:repeat(3,minmax(0,403px));justify-content:center;gap:40px 24px}
.team-card .artwork{max-width:403px}.team-card .artwork img{aspect-ratio:403/334;object-fit:cover}
.team-card h2{margin:18px 0 10px}
@media(min-width:901px) and (max-width:1100px){.layout-rose-center main{width:calc(100% - 310px);margin-left:260px;margin-right:50px}.layout-team main{width:calc(100% - 64px);margin-left:auto;margin-right:auto}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-intro{max-width:calc(100% - 230px);margin-left:230px;margin-right:0}}
@media(max-width:900px){.wordmark{font-size:29px}.layout-rose-center main,.layout-team main{width:calc(100% - 48px);margin:0 24px;padding-top:20px}.team-intro{max-width:100%;margin-bottom:32px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px}.team-card h2{font-size:13px;line-height:19.5px;letter-spacing:.1em}.team-social{font-size:10px;overflow-wrap:anywhere}.team-card h2{overflow-wrap:anywhere}}
@media(max-width:540px){.team-grid{grid-template-columns:1fr}.team-card{max-width:403px;margin-left:auto;margin-right:auto;width:100%}}

/* Travel with Estera: five passenger portraits per desktop row. */
.layout-travel main{width:680px;margin-left:auto;margin-right:auto}
.layout-travel .gallery:first-child{width:100%;max-width:none;margin:0 auto 24px}
.layout-travel .gallery:first-child .artwork{width:100%;max-width:none}
.layout-travel main>.text-body,.layout-travel main>.text-caption{width:100%;max-width:none;text-align:left}
.layout-travel .gallery:not(:first-child){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:28px 0}
.layout-travel .gallery:not(:first-child) .artwork{width:100%;max-width:none}
@media(min-width:901px) and (max-width:1100px){.layout-travel main{width:calc(100% - 310px);margin-left:260px;margin-right:50px}}
@media(max-width:900px){.layout-travel main{width:calc(100% - 48px);margin:0 24px}.layout-travel .gallery:not(:first-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.layout-travel .gallery:not(:first-child){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Single reference images keep their recorded Wix width, limited by the viewport. */
.layout-standard .gallery-single{max-width:none}

.youtube-film{width:100%;margin:28px auto}.youtube-film iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}.youtube-film figcaption{margin-top:6px;font:300 12px/18px var(--site-font);letter-spacing:0;text-align:left}.youtube-film figcaption a{text-decoration:underline;text-underline-offset:3px}

/* November update: menu and text widths approved by Estera. */
.menu-separator{display:block;line-height:26px}
main>.text-body,main>.text-caption,main>.text-section-heading,
main>.page-title,main>p,.home-description,.team-intro,.about-bio,.about-history,
.layout-travel main>.text-body,.layout-travel main>.text-caption,
.layout-rose-center main>.text-body,.layout-rose-center main>.text-caption{
width:100%;max-width:600px;margin-left:auto;margin-right:auto}
.home main{width:min(600px,calc(100% - 360px))}
@media(max-width:900px){.home main{width:calc(100% - 48px)}}

/* Current Wix content, November 2026. Shared typography remains unchanged. */
.layout-updated main{width:min(600px,calc(100% - 48px));margin-left:auto;margin-right:auto;padding-top:127px}
.layout-updated .content-text{width:100%;max-width:600px;margin:22px auto}
.layout-updated .content-text .text-body{margin-bottom:14px}
.layout-updated .content-text .text-caption{margin:0 0 10px}
.hero-image{width:100%;margin:0 auto 24px}.hero-image img{width:100%;height:auto;display:block}
.layout-updated .gallery{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.gallery-image{margin:0;min-width:0}.gallery-image img{width:100%;height:auto;display:block}
.updated-ticket .gallery{grid-template-columns:repeat(5,minmax(0,1fr))}
.updated-about .hero-image{width:auto;max-width:100%}.updated-about .hero-image img{width:auto;max-width:100%;margin:auto}
.youtube-film video{width:100%;height:auto}
@media(min-width:901px){
 .site-header,.site-menu{left:40px}.site-header{top:44px}.site-menu{top:129px;width:210px}
 main,.layout-updated main{margin-left:calc(280px + (100% - 280px - min(740px,100% - 320px))/2)}
 .layout-updated main{margin-left:calc(280px + (100% - 280px - 600px)/2)}
 .layout-team main{width:calc(100% - 320px);margin-left:280px;margin-right:40px}
 .team-intro{max-width:600px;margin-left:auto;margin-right:auto}
}
@media(min-width:901px) and (max-width:1100px){
 .layout-updated main{width:calc(100% - 320px);margin-left:280px;margin-right:40px}
}
@media(max-width:900px){
 .layout-updated main{width:calc(100% - 48px);margin:0 24px;padding-top:20px}
 .site-menu.is-open{display:block}.site-menu a{min-height:32px;line-height:32px}
 .wordmark{font-size:29px}.content-text{overflow-wrap:anywhere}
}
@media(max-width:540px){
 .layout-updated .gallery,.updated-ticket .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wordmark{font-size:26px;letter-spacing:.08em}.site-header{padding:22px 24px}
}

/* Keep all body text within the approved 600px, across legacy layouts too. */
body main p,body main .text-body,body main>.text-caption,body main>.text-section-heading,
body .layout-travel main>.text-body,body .layout-rose-center main>.text-body,
body.interior main>.text-body,body.interior main>.text-caption{
max-width:600px;width:100%;margin-left:auto;margin-right:auto}
@media(min-width:1200px){.layout-updated main{margin-left:auto;margin-right:auto}}
@media(min-width:901px) and (max-width:1199px){
 body.interior main{width:calc(100% - 320px);margin-left:280px;margin-right:40px}
}
