:root{--paper:#F3EFE7;--sand:#E5DCD0;--ink:#292724;--wine:#70423E}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1260px;padding:0 clamp(22px,5vw,78px);margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(243,239,231,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(41,39,36,.12)}.head-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Georgia,'Times New Roman',serif;font-size:30px;letter-spacing:-.03em;white-space:nowrap}.nav{display:flex;align-items:center;gap:clamp(13px,2.8vw,38px)}.nav a{font-size:12px;letter-spacing:.09em;text-transform:uppercase}.nav a:hover,.lang a[aria-current=page]{color:var(--wine)}.lang{border-left:1px solid #b9b1a7;padding-left:18px;display:flex;gap:9px}.lang a{opacity:.65}.lang a[aria-current=page]{opacity:1;font-weight:600}.intro{padding:clamp(70px,10vw,140px) 0 55px;max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:var(--wine);font-weight:600}h1,h2,h3,.quote{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(56px,8.8vw,118px);margin:16px 0 24px}h2{font-size:clamp(43px,6vw,78px);margin:12px 0 24px}p{margin:0 0 22px}.lede{font-size:clamp(16px,1.9vw,21px);max-width:690px;color:#58524c}.button{display:inline-flex;align-items:center;gap:18px;border:1px solid var(--ink);padding:13px 22px;font-size:12px;letter-spacing:.11em;text-transform:uppercase;transition:.2s}.button:hover{background:var(--ink);color:var(--paper)}.button.filled{background:var(--wine);border-color:var(--wine);color:#fff}.button.filled:hover{background:var(--ink);border-color:var(--ink)}.hero-image{height:min(75vw,750px);min-height:440px;overflow:hidden;background:#252525}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 31%}.section{padding:clamp(85px,11vw,160px) 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-top p{max-width:420px;color:#655e58}.feature{display:grid;grid-template-columns:1fr 1fr;gap:22px}.feature a{display:block}.feature img{width:100%;height:clamp(350px,46vw,640px);object-fit:cover;background:#ddd}.feature h3{font-size:clamp(29px,3.5vw,45px);margin:20px 0 6px}.feature small{font-size:12px;color:#716960;letter-spacing:.08em}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,25px)}.gallery figure{margin:0;overflow:hidden;background:var(--sand)}.gallery img{width:100%;height:clamp(240px,36vw,510px);object-fit:cover;transition:transform .4s}.gallery img:hover{transform:scale(1.025)}.gallery figure:nth-child(5n+2){align-self:center}.gallery figure:nth-child(5n+2) img{height:clamp(220px,29vw,400px)}.gallery figure:nth-child(7n+4) img{height:clamp(270px,40vw,540px)}.textblock{max-width:730px}.textblock p{font-size:17px;color:#544e48}.quote{font-size:clamp(35px,5vw,67px);max-width:950px;margin:40px auto 65px;text-align:center}.quote em{font-style:normal;color:var(--wine)}.about-layout{display:grid;grid-template-columns: minmax(250px,.8fr) 1.2fr;gap:clamp(40px,8vw,130px);align-items:center}.about-layout img{width:100%;max-height:700px;object-fit:cover}.signature{font-family:Georgia,'Times New Roman',serif;font-size:29px;margin-top:28px}.publications{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.publications img{height:340px;width:100%;object-fit:contain;background:#e8e3dc}.contact{background:#e5dcd0;text-align:center;padding:100px 22px}.contact h2{max-width:850px;margin:10px auto 24px}.contact p{max-width:570px;margin:0 auto 26px}.details{display:flex;justify-content:center;gap:28px;margin-top:24px;flex-wrap:wrap;font-size:13px}.footer{padding:35px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#716960}.footer-links{display:flex;gap:22px}.legal{max-width:750px;padding-top:90px;padding-bottom:120px;min-height:55vh}.legal h1{font-size:65px}.legal p{max-width:650px}.legal .warning{padding:20px;background:#e9ddd0;border-left:3px solid var(--wine)}.divider{height:1px;background:#d9d1c6;margin:55px 0}.mobile-toggle{display:none}@media(max-width:750px){.head-inner{min-height:69px;flex-wrap:wrap}.brand{font-size:25px}.nav{gap:12px;flex-wrap:wrap}.nav a{font-size:10px}.lang{padding-left:9px}.intro{padding:75px 0 40px}.hero-image{height:72vh;min-height:430px}.feature{grid-template-columns:1fr;gap:44px}.feature img{height:480px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img{height:300px}.gallery figure:nth-child(5n+2) img,.gallery figure:nth-child(7n+4) img{height:300px}.about-layout{grid-template-columns:1fr}.about-layout img{max-height:580px}.publications{grid-template-columns:repeat(2,1fr)}.publications img{height:250px}}@media(max-width:460px){.head-inner{padding-top:12px;padding-bottom:12px;gap:8px}.nav{width:100%;justify-content:space-between}.brand{font-size:27px}.gallery{gap:9px}.gallery img,.gallery figure:nth-child(5n+2) img,.gallery figure:nth-child(7n+4) img{height:235px}.publications{grid-template-columns:1fr}.publications img{height:300px}.section-top{display:block}.hero-image{min-height:380px;height:63vh}}
/* V2: careful text composition and accessible gallery viewer */
.intro .lede{max-width:560px;text-wrap:pretty;line-height:1.75;hyphens:none}.intro h1{text-wrap:balance}.gallery figure{background:transparent}.gallery .photo-open{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.gallery .photo-open:focus-visible{outline:3px solid var(--wine);outline-offset:4px}.gallery img{object-fit:contain;background:transparent}.lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px 72px;border:0;background:rgba(17,17,17,.97);color:#fff;align-items:center;justify-content:center}.lightbox[open]{display:flex}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{max-width:100%;max-height:calc(100dvh - 70px);width:auto;height:auto;object-fit:contain}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.10);color:#fff;cursor:pointer;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:36px;line-height:1}.lightbox-close{top:16px;right:18px}.lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}.lightbox-next{right:12px;top:50%;transform:translateY(-50%)}.lightbox-count{position:absolute;bottom:12px;font-size:12px;letter-spacing:.08em;color:#ccc}@media(max-width:750px){.intro .lede{max-width:100%;font-size:16px;line-height:1.7}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img,.gallery figure:nth-child(5n+2) img,.gallery figure:nth-child(7n+4) img{height:auto;max-height:420px;aspect-ratio:3/4;object-fit:contain}.lightbox{padding:56px 14px}.lightbox img{max-height:calc(100dvh - 130px)}.lightbox-prev,.lightbox-next{top:auto!important;bottom:12px;transform:none!important}.lightbox-prev{left:14px}.lightbox-next{right:14px}}@media(max-width:460px){.gallery{grid-template-columns:1fr;gap:24px}.gallery img,.gallery figure:nth-child(5n+2) img,.gallery figure:nth-child(7n+4) img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}.intro{padding-top:55px}.intro h1{font-size:clamp(47px,12vw,65px)}.head-inner{align-items:center}.nav{gap:10px}.nav a{letter-spacing:.03em}.lang{gap:6px}}@media(prefers-reduced-motion:reduce){.gallery img{transition:none}.gallery img:hover{transform:none}}

/* V3: fluid titles and deliberate readable line lengths */
.intro{max-width:1260px}.intro h1{font-size:clamp(48px,7.4vw,100px);overflow-wrap:normal;hyphens:auto;line-height:1.11;text-wrap:balance}.intro .lede{max-width:610px;font-size:clamp(16px,1.55vw,19px);line-height:1.72;text-wrap:pretty}.intro .lede, .textblock p{hyphens:auto}.textblock{max-width:610px}.textblock p{line-height:1.8}.legal{max-width:900px}.legal h1{font-size:clamp(44px,6vw,74px)}.legal h2{font-size:clamp(26px,3.1vw,39px);margin-top:42px}.legal p{overflow-wrap:anywhere}.legal a{text-decoration:underline;text-underline-offset:3px}.legal-note{color:#665e55}.legal-pending{padding:20px 24px;border-left:3px solid var(--wine);background:var(--sand);margin-top:36px;line-height:1.7}.contact p{max-width:630px;text-wrap:pretty}
@media(max-width:750px){.intro h1{font-size:clamp(42px,8vw,68px)}.intro .lede{font-size:16px}.legal{padding-top:60px}}
@media(max-width:460px){.intro h1{font-size:clamp(38px,10vw,52px);hyphens:auto}.intro{padding-top:50px}.quote{font-size:clamp(30px,8vw,42px)}.contact p{font-size:15px}.contact p br{display:block}.head-inner{gap:8px}}
/* Keep enlarged photographs entirely inside the visible viewport on both language versions. */
.lightbox{box-sizing:border-box;overflow:hidden}
.lightbox img{display:block;min-width:0;min-height:0;max-width:min(100%,calc(100vw - 150px));max-height:calc(100dvh - 86px);object-fit:contain}
@media(max-width:750px){.lightbox img{max-width:calc(100vw - 30px);max-height:calc(100dvh - 150px)}}

/* V4: editorial composition, no automatic hyphenation */
h1,h2,h3,p,.lede,.textblock p,.intro h1,.intro .lede,.contact p{hyphens:none!important;overflow-wrap:normal;word-break:normal}
.intro h1{font-size:clamp(43px,6.5vw,92px)}
.selected-gallery img{object-fit:contain;height:auto!important;max-height:590px;width:100%;aspect-ratio:auto}
.selected-gallery figure{align-self:center}
@media(max-width:750px){.selected-gallery img{max-height:none}}
