*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#faf9f6;color:#20211f;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid #655b40;outline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:0}header{height:105px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#faf9f6f5;position:sticky;top:0;z-index:5}.brand{font-size:37px;letter-spacing:-2px;font-weight:600;line-height:1}.brand span{display:block;font-size:8px;letter-spacing:2px;margin-top:7px}nav{display:flex;gap:32px;font-size:11px;letter-spacing:1.2px}#menu{display:none}main{padding:0 5vw}.intro{padding:65px 0 35px}.intro p,.section-heading p,.about>p{font-size:10px;letter-spacing:2px}.intro h1{font:normal clamp(52px,6.3vw,96px)/1.1 Georgia,serif;letter-spacing:-4px;margin:20px 0 0;display:flex;align-items:baseline;justify-content:space-between}.intro h1 span{font:11px Arial;letter-spacing:2px}#letters{display:flex;gap:0;justify-content:space-between;margin:12px 0 36px}#letters button{background:none;border:0;padding:9px 7px;font-size:11px}#letters button:disabled{opacity:.2;cursor:default}#letters button[aria-pressed=true]{background:#20211f;color:#fff}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:45px 23px}.card{border:0;padding:0;background:none;text-align:left;min-width:0}.card-frame{aspect-ratio:3/4;background:#e9e7e1;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.card img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.card:hover img{transform:scale(1.04)}.monogram{font:normal 80px Georgia;color:#a29d91;position:absolute}.card img{position:relative}.card strong{font-size:12px;font-weight:500;letter-spacing:.8px;display:block;margin-top:15px;text-transform:uppercase}.card small{display:block;color:#77766f;font-size:10px;margin-top:6px;letter-spacing:.7px;text-transform:uppercase}.editorial{padding:100px 0 50px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{font:normal 44px Georgia}.film-cover{width:100%;min-height:380px;background:#262925;border:0;color:#eee9da;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px}.film-word{font:90px Georgia;letter-spacing:15px}.film-cover>span:last-child{font-size:10px;letter-spacing:2px}.play{font-size:20px}.about{padding:90px 0 100px;display:grid;grid-template-columns:1fr 2fr 1.3fr;gap:40px;align-items:start}.about h2{font:normal 48px/1.15 Georgia;margin:0}.about div p{font-size:14px;line-height:1.8;margin:0 0 26px;color:#66665e}.about a{font-size:10px;letter-spacing:1px}footer{display:flex;align-items:center;justify-content:space-between;padding:40px 5vw;background:#eeede7;gap:30px}footer nav{gap:22px;font-size:9px}footer small{font-size:9px;color:#777}dialog{border:0;padding:0}dialog::backdrop{background:#111e}#film-dialog{width:min(1100px,94vw);background:#111;color:#fff}#close-film{display:block;margin:12px 15px 12px auto;border:0;background:none;color:inherit;font-size:11px;letter-spacing:1px}#player{aspect-ratio:16/9}iframe{width:100%;height:100%;border:0}body:has(dialog[open]){overflow:hidden}#mobile-nav{width:100vw;height:100dvh;max-height:none;max-width:none;background:#faf9f6;padding:30px}#mobile-nav a{display:block;font:44px Georgia;margin:40px 0}#close-menu{display:block;margin-left:auto;border:0;background:none}.profile-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;padding:40px 0 80px}.profile-image{width:100%;max-height:70vh;object-fit:contain;background:#eeede7;min-height:240px}.profile-copy{align-self:center}.profile-copy h1{font:normal clamp(40px,5vw,72px)/1.08 Georgia;margin:18px 0 28px}.profile-copy p{max-width:430px;line-height:1.8;color:#6c6a62;font-size:14px}.profile-copy .country{font-size:10px;letter-spacing:2px;text-transform:uppercase}.profile-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:32px;font-size:10px;letter-spacing:1px}.back{background:none;border:0;padding:18px 0;font-size:10px;letter-spacing:1px}.reveal{animation:rise .6s both}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(min-width:1500px){.grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:700px){header{height:83px;padding:0 6vw}.brand{font-size:31px}header nav{display:none}#menu{display:block;background:none;border:0;font-size:10px;letter-spacing:1px}main{padding:0 6vw}.intro{padding:35px 0 25px}.intro p{font-size:8px;line-height:1.7;max-width:220px}.intro h1{font-size:47px;letter-spacing:-2px}.intro h1 span{font-size:9px}#letters{flex-wrap:wrap;justify-content:flex-start;gap:3px;margin-bottom:25px}#letters button{min-width:28px;min-height:35px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.card strong{font-size:10px;line-height:1.4}.card small{font-size:8px}.editorial{padding-top:65px}.section-heading{display:block}.section-heading h2{font-size:36px;margin:18px 0 28px}.film-cover{min-height:260px}.film-word{font-size:55px}.about{grid-template-columns:1fr;padding:55px 0;gap:22px}.about h2{font-size:39px}footer{flex-wrap:wrap;padding:30px 6vw}footer nav{flex-wrap:wrap;gap:18px}footer .brand{width:100%}.profile-layout{grid-template-columns:1fr;gap:30px;padding-top:12px}.profile-image{max-height:55vh}.profile-copy h1{font-size:44px}.profile-copy p{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Retain the model site's restrained typography and mobile entry. */
body{background:#fff;font-family:Arial,Helvetica,sans-serif}header{background:#fffffff5}.intro{padding:28px 0 20px}.intro>p{display:none}.intro h1{font:400 18px Arial;letter-spacing:1px;text-transform:uppercase;margin:12px 0}.intro h1 span{font-size:10px}.section-heading h2,.about h2,.profile-copy h1{font-family:Arial,Helvetica,sans-serif;letter-spacing:-1px}.profile-image img{width:100%;height:100%;object-fit:contain}.profile-image{height:65vh;aspect-ratio:auto;position:relative}.profile-copy h1{font-size:42px}.about h2{font-size:34px}.section-heading h2{font-size:30px}#menu span{display:block;width:21px;height:1px;background:currentColor;margin:6px}#entry{position:fixed;inset:0;width:100%;height:100dvh;border:0;background:#fff;z-index:8;font-size:48px;letter-spacing:-2px;font-weight:600}#entry span{display:block;font-size:9px;letter-spacing:2px;margin-top:8px}body.entry-active{overflow:hidden}@media(max-width:700px){.intro h1{font-size:17px;letter-spacing:1px}.intro{padding:20px 0}#letters button{min-height:40px}.profile-image{height:50vh}.profile-copy h1{font-size:34px}body.alphabet-stage .grid,body.alphabet-stage .editorial,body.alphabet-stage .about,body.alphabet-stage footer{display:none}body.alphabet-stage #letters{padding-top:20vh;justify-content:center;gap:10px}body.alphabet-stage #letters button{font-size:18px;min-width:35px}}

.profile-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}.profile-links svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4}.profile-links a:hover{opacity:.6}

.profile-links a[aria-label="Website"]{width:auto;min-width:70px;font-size:10px;letter-spacing:1px}

#intro-film{position:relative;height:calc(100svh - 83px);margin:0 -6vw 35px;background:#151715}#intro-player{height:100%;width:100%}#intro-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border:0;padding:16px 24px;font-size:11px;letter-spacing:2px}@media(min-width:701px){#intro-film{display:none}}
@media(max-width:700px){#intro-film{margin-bottom:0;overflow:hidden}#intro-player{position:absolute;inset:0;overflow:hidden}#intro-player iframe{position:absolute;top:50%;left:50%;width:max(100vw,calc((100svh - 83px)*1.777778));height:max(calc(100svh - 83px),56.25vw);max-width:none;transform:translate(-50%,-50%);pointer-events:none}}
@media(max-width:700px){body:not(.entry-active):has(#intro-film:not([hidden])) #intro-film{position:sticky;top:83px;z-index:0}#directory{position:relative;z-index:1}#directory .intro{display:none}body:has(#intro-film:not([hidden])) #letters{position:relative;margin:0 -6vw;padding:26px 6vw;gap:3px;background:linear-gradient(transparent,rgba(10,12,10,.64));color:white;min-height:150px;align-content:center}body:has(#intro-film:not([hidden])) #letters button{color:white;font-size:14px}body:has(#intro-film:not([hidden])) #letters button[aria-pressed=true]{background:white;color:#151715}#directory .grid{position:relative;background:white;margin:0 -6vw;padding:25px 6vw 40px}.editorial,.about,footer{position:relative;background:white;z-index:1}}

#films{display:none!important}@media(max-width:700px){body.alphabet-stage main{position:relative;height:calc(100svh - 83px + 140px);overflow:clip}body.alphabet-stage #intro-film{position:sticky;top:83px}body.alphabet-stage #directory{position:absolute;bottom:0;left:0;right:0}body.alphabet-stage #letters{padding:18px 6vw;margin:0 -6vw;min-height:140px;gap:3px;justify-content:flex-start}body.alphabet-stage #letters button{font-size:14px;min-width:28px;min-height:35px}body.alphabet-stage #directory .grid,body.alphabet-stage .about,body.alphabet-stage footer{display:none!important}}

/* Full-viewport mobile introduction with an overlay header. */
@media(max-width:700px){
 body.alphabet-stage header{position:fixed;inset:0 0 auto;height:83px;background:transparent;color:white;z-index:5}
 body.alphabet-stage main{height:calc(100svh + 140px)}
 body.alphabet-stage #intro-film{top:0!important;height:100svh;border:0}
 body.alphabet-stage #intro-player iframe{border:0;display:block;width:max(100vw,calc(100svh * 1.777778));height:max(100svh,56.25vw)}
}

body.directory-view #about>p,body.directory-view #about h2,body.directory-view #about div p{display:none}
body.directory-view #about{display:block;padding:24px 0}
.profile-layout.reveal{animation:none;transform:none}
@media(max-width:700px){
 body.alphabet-stage #intro-film{height:100dvh;min-height:100svh}
 body.alphabet-stage main{height:calc(100dvh + 140px);background:#151715}
 body.alphabet-stage{background:#151715;overscroll-behavior-y:none}
 body.alphabet-stage #intro-player iframe{width:max(100vw,calc(100dvh * 1.777778));height:max(100dvh,56.25vw)}
 body.profile-view main{padding:0}
 body.profile-view .profile-copy,body.profile-view #about{padding-left:18px;padding-right:18px}
 body.directory-view footer{gap:18px;padding-top:20px;padding-bottom:20px}
}

body.directory-view #about{display:none!important}

/* Compact directory footer and inline profile contacts. */
body.directory-view #about{display:block!important;padding:12px 0}
.profile-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.profile-heading h1{margin:12px 0;min-width:0}
.profile-heading .profile-links{display:flex;align-items:center;gap:16px;flex-shrink:0;margin:0}
@media(max-width:700px){
 body.directory-view header{height:70px}
 body.directory-view #letters{padding:8px 0;gap:2px;flex-wrap:wrap}
 body.directory-view #letters button{min-width:25px;min-height:28px;font-size:11px;padding:4px}
 body.directory-view #directory .grid{padding:8px 6vw 12px;gap:12px}
 body.directory-view .card-frame{height:clamp(110px,23dvh,200px);aspect-ratio:auto}
 body.directory-view .card strong{margin-top:7px;font-size:11px}
 body.directory-view .card small{margin-top:4px;font-size:9px}
 body.directory-view footer{padding:12px 6vw;gap:12px}
 body.directory-view footer .brand{font-size:26px}
 body.directory-view footer nav{gap:16px;font-size:9px}
 .profile-heading{gap:10px;flex-wrap:wrap}
 .profile-heading h1{font-size:26px;flex:1}
 .profile-heading .profile-links{gap:12px;font-size:10px}
}

body.directory-view .card img{object-fit:contain;object-position:center;transform:none}body.directory-view .card-frame{background:#fff}

body.alphabet-stage.directory-view #about{display:none!important}
@media(max-width:700px){body.directory-view:not(.alphabet-stage) .card-frame{height:clamp(230px,40dvh,360px)}body.directory-view:not(.alphabet-stage) #grid:has(>.card:only-child){grid-template-columns:1fr}}

.card .card-frame:not(:has(img)){display:none}
.card:has(.card-frame:not(:has(img))){align-self:start;text-align:left}

@media(max-width:700px){body.directory-view:not(.alphabet-stage) #directory .grid{min-height:calc(clamp(230px,40dvh,360px) + 65px);align-content:start;align-items:start}}

@media(min-width:701px){
 header{height:88px}
 .intro{padding:12px 0 4px}.intro h1 span{display:none}
 #letters{padding:14px 0;margin-bottom:20px}
 .grid{gap:30px 24px;align-items:start;min-height:390px}
 .card{display:block;align-content:start}
 .card-frame{height:clamp(240px,34vh,340px);aspect-ratio:auto}
 .card img{object-fit:contain;transform:none}
 .card:has(.card-frame:not(:has(img))) strong{margin-top:0}
 .profile-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4vw;padding:24px 0 48px;align-items:center}
 .profile-image{height:min(65vh,620px)}
 .profile-heading{flex-wrap:wrap}
 .profile-heading h1{font-size:36px}
 body.directory-view footer{padding:26px 5vw}
}

/* NEXT-inspired restrained masthead and full-frame entrance, using JIFSA assets. */
@media(min-width:701px){
 #entry{font-size:clamp(72px,10vw,150px)}#entry span{font-size:12px;letter-spacing:5px;margin-top:18px}
 body.alphabet-stage{background:#151715;overscroll-behavior-y:none}
 body.alphabet-stage header{position:fixed;inset:0 0 auto;background:transparent;color:white;z-index:5;height:100px;padding:0 3.5vw}
 body.alphabet-stage header .brand{font-size:48px}
 body.alphabet-stage header nav{display:none}
 body.alphabet-stage #menu{display:block;border:0;background:none;color:inherit;padding:12px}
 body.alphabet-stage main{position:relative;height:calc(100dvh + 140px);overflow:clip;padding:0}
 body.alphabet-stage #intro-film{display:block!important;position:sticky;top:0;height:100dvh;margin:0;overflow:hidden}
 body.alphabet-stage #intro-player{position:absolute;inset:0;overflow:hidden}
 body.alphabet-stage #intro-player iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100vw,177.7778dvh);height:max(100dvh,56.25vw);border:0;max-width:none;pointer-events:none}
 body.alphabet-stage #directory{position:absolute;bottom:0;width:100%;z-index:1}
 body.alphabet-stage .intro,body.alphabet-stage .grid,body.alphabet-stage #empty,body.alphabet-stage footer{display:none!important}
 body.alphabet-stage #letters{margin:0;min-height:140px;padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(transparent,rgba(0,0,0,.72));color:white}
 body.alphabet-stage #letters button{font-size:16px;color:inherit}
 body.alphabet-stage #letters button[aria-pressed=true]{color:black;background:white}
 body.directory-view:not(.alphabet-stage) .intro{display:none}
 body.directory-view:not(.alphabet-stage) #letters{margin-top:16px;margin-bottom:22px}
 .card strong{font-size:12px;letter-spacing:.5px}
}

/* Refinement: stable navigation, text layout, and contact alignment. */
body.menu-open{overflow:hidden}
.profile-copy p{max-width:58ch;line-height:1.8;text-wrap:pretty}
.profile-heading h1{overflow-wrap:anywhere;text-wrap:balance;line-height:1.12}
.profile-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.profile-links a[aria-label="Instagram"]{min-width:32px}
.profile-image:not(:has(img)){display:none}
.profile-layout:has(.profile-image:not(:has(img))){grid-template-columns:1fr;max-width:860px;margin:auto}
#mobile-nav a{display:block;padding:12px 0}
@media(min-width:701px){
 .profile-copy{padding:24px 0}
 .profile-heading{gap:20px}
 .profile-heading h1{flex:1}
 #mobile-nav{max-width:none;width:100vw;height:100dvh;max-height:none;border:0;margin:0;padding:40px 5vw;background:white;color:#20211f}
 #mobile-nav nav{display:flex;flex-direction:column;align-items:flex-start;padding-top:12vh;gap:22px;font-size:clamp(32px,5vw,72px);letter-spacing:-1px}
 #close-menu{float:right;border:0;background:none;padding:14px;font-size:11px;letter-spacing:1px}
}

body:not(.entry-active):not(.alphabet-stage){min-height:100dvh;display:flex;flex-direction:column}body:not(.entry-active):not(.alphabet-stage)>main{flex:1}body:not(.entry-active):not(.alphabet-stage)>footer{margin-top:auto;width:100%}

#directory .grid.text-directory{grid-template-columns:1fr;gap:0;align-content:start}
#directory .text-directory .card{display:flex;align-items:baseline;justify-content:space-between;gap:24px;width:100%;padding:22px 0;min-height:72px}
#directory .text-directory .card strong{font-size:clamp(20px,2.4vw,34px);font-weight:400;letter-spacing:-.5px;line-height:1.2;margin:0;text-transform:none}
#directory .text-directory .card small{font-size:10px;letter-spacing:1px;margin:0;flex-shrink:0;color:#6a6a66}
@media(max-width:700px){#directory .text-directory .card{align-items:flex-start;flex-direction:column;gap:9px;padding:18px 0}#directory .text-directory .card strong{font-size:23px}}
