:root{color-scheme:dark;--ivory:#eadac2;--red:#c9342f;--line:rgba(255,255,255,.18);--glass:rgba(3,7,12,.86)}
*{box-sizing:border-box}html,body{margin:0;background:#03070c;color:#fff;font-family:"Helvetica Neue","Hiragino Sans GB","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:104px;padding:0 clamp(24px,4vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:linear-gradient(#03070ccc,transparent)}
.wordmark{width:190px}.wordmark>span{display:block;font-family:"Songti SC","Yu Mincho",serif;font-size:22px;letter-spacing:.24em;color:var(--ivory)}.wordmark small{display:flex;align-items:center;gap:10px;margin-top:7px;font-size:8px;letter-spacing:.5em;color:#ddd}.wordmark i{width:6px;height:6px;background:var(--red);border-radius:50%}
.main-nav{display:flex;height:100%;align-items:stretch;gap:clamp(18px,2.2vw,42px)}.main-nav>a,.nav-group>button{display:flex;align-items:center;gap:7px;border:0;background:none;cursor:pointer;font-size:13px;letter-spacing:.12em;position:relative}.main-nav small{font-size:8px;letter-spacing:.16em;color:#aaa}.main-nav>a:after,.nav-group>button:after{content:"";position:absolute;bottom:27px;left:0;width:0;height:1px;background:var(--red);transition:.3s}.main-nav>a:hover:after,.main-nav>a.active:after,.nav-group:hover>button:after{width:100%}
.nav-group{display:flex;align-items:stretch}.mega-menu,.drop-menu{position:absolute;top:104px;right:0;padding:28px clamp(28px,4vw,72px);background:var(--glass);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s}.mega-menu{left:0}.drop-menu{min-width:230px}.nav-group:hover .mega-menu,.nav-group:hover .drop-menu,.nav-group.open .mega-menu,.nav-group.open .drop-menu{opacity:1;visibility:visible;transform:none}.mega-menu p{margin:0 0 16px;color:#888;font-size:10px;letter-spacing:.25em}.region-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px 28px}.region-grid a,.drop-menu a{font-size:12px;color:#ccc;transition:.2s}.region-grid a:hover,.drop-menu a:hover{color:var(--ivory)}.drop-menu{display:grid;gap:18px}
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#020407}.slides,.slide{position:absolute;inset:0}.slide{margin:0;opacity:0;transition:opacity 1.2s ease}.slide.active{opacity:1;z-index:1}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,5,9,.52) 0%,rgba(2,5,9,.18) 29%,transparent 58%);pointer-events:none}.slide img{width:100%;height:100%;object-fit:contain;object-position:center;background:#020407}.slide figcaption{position:absolute;z-index:2;right:clamp(24px,4vw,72px);bottom:72px;text-align:right;text-shadow:0 2px 12px #000}.slide figcaption span{display:block;font-family:"Songti SC",serif;font-size:13px;letter-spacing:.2em}.slide figcaption small{display:block;margin-top:7px;color:#ccc;font-size:8px;letter-spacing:.25em}
.hero-copy{position:absolute;z-index:3;left:clamp(26px,9vw,150px);top:50%;transform:translateY(-43%)}.eyebrow{font-size:9px;letter-spacing:.35em;color:#bbb}.hero-copy h1{margin:26px 0 38px;font-family:"Songti SC","Yu Mincho",serif;font-size:clamp(38px,4.4vw,72px);font-weight:400;line-height:1.35;letter-spacing:.12em;color:var(--ivory);text-shadow:0 3px 20px #000}.view-work{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid #aaa;padding:0 0 11px;font-family:"Songti SC",serif;font-size:13px;letter-spacing:.18em}.view-work span{font-family:sans-serif;color:#999;font-size:8px;letter-spacing:.2em}.view-work:after{content:"→";color:var(--red);transition:.25s}.view-work:hover:after{transform:translateX(7px)}
.slide-controls{position:absolute;z-index:4;left:clamp(26px,4vw,72px);bottom:65px;display:flex;align-items:center;gap:16px}.slide-controls button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:rgba(0,0,0,.2);cursor:pointer}.counter{font-size:10px;color:#777}.counter b{color:#fff;font-size:14px}.progress{width:100px;height:1px;background:#555}.progress i{display:block;width:0;height:100%;background:var(--red);animation:timer 7s linear}.scroll-cue{position:absolute;z-index:3;right:clamp(24px,4vw,72px);top:50%;margin:0;writing-mode:vertical-rl;font-size:8px;letter-spacing:.25em;color:#999}
@keyframes timer{to{width:100%}}
.menu-button{display:none;border:1px solid var(--line);background:transparent;padding:9px 12px;font-size:9px;letter-spacing:.2em}
.inner-page{min-height:100vh;background:#080b0f}.inner-page .site-header{background:#080b0ff2}.page-hero{padding:170px clamp(24px,7vw,110px) 60px;border-bottom:1px solid var(--line)}.page-kicker{font-size:9px;letter-spacing:.35em;color:var(--red)}.page-hero h1{margin:16px 0 10px;font-family:"Songti SC",serif;font-size:clamp(42px,6vw,86px);font-weight:400;color:var(--ivory)}.page-hero p{color:#999;letter-spacing:.12em}.gallery-grid{padding:48px clamp(24px,7vw,110px) 90px;display:grid;grid-template-columns:repeat(12,1fr);gap:22px}.photo-card{grid-column:span 4;position:relative;min-height:330px;overflow:hidden;background:#111}.photo-card.wide{grid-column:span 8}.photo-card img{width:100%;height:100%;object-fit:cover;transition:.7s}.photo-card:hover img{transform:scale(1.03)}.photo-card div{position:absolute;inset:auto 0 0;padding:45px 22px 20px;background:linear-gradient(transparent,#000c)}.photo-card h2{margin:0;font-family:"Songti SC",serif;font-size:20px;font-weight:400}.photo-card p{margin:6px 0 0;color:#aaa;font-size:9px;letter-spacing:.2em}.placeholder{display:grid;place-items:center;border:1px solid var(--line);color:#777;text-align:center}.placeholder b{display:block;color:#aaa;font-family:"Songti SC",serif;font-size:18px;font-weight:400;margin-bottom:8px}.about-wrap{padding:170px clamp(24px,10vw,180px) 80px;max-width:1100px}.about-wrap h1{font:400 clamp(44px,7vw,92px)/1.1 "Songti SC",serif;color:var(--ivory);margin:0 0 45px}.about-wrap p{max-width:760px;font-family:"Songti SC",serif;font-size:18px;line-height:2.1;color:#bbb}.credentials{margin-top:45px;padding-top:28px;border-top:1px solid var(--line);display:grid;gap:12px;color:#888;font-size:12px;letter-spacing:.1em}
@media(max-width:900px){.site-header{height:82px}.menu-button{display:block}.main-nav{display:none;position:absolute;top:82px;left:0;width:100%;height:auto;padding:16px 24px 28px;background:#05080cf5;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav>a,.nav-group>button{padding:14px 0}.nav-group{display:block}.mega-menu,.drop-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;padding:10px 0 20px;background:none;border:0}.nav-group.open .mega-menu,.nav-group.open .drop-menu{display:block}.region-grid{grid-template-columns:repeat(4,1fr);gap:10px}.hero-copy{left:26px}.hero-copy h1{font-size:38px}.slide-controls{bottom:28px}.slide figcaption{bottom:28px}.scroll-cue{display:none}.gallery-grid{grid-template-columns:1fr}.photo-card,.photo-card.wide{grid-column:auto;min-height:280px}}
@media(max-width:560px){.wordmark{width:160px}.wordmark>span{font-size:18px}.region-grid{grid-template-columns:repeat(3,1fr)}.eyebrow{max-width:250px;line-height:1.8}.hero-copy h1{font-size:30px}.slide figcaption{display:none}.progress{width:60px}.photo-card{min-height:230px}}
@media(prefers-reduced-motion:reduce){.slide,.slide img,.progress i{transition:none;animation:none}}

/* Refined, quieter photographer's statement */
.hero-copy h1{margin:22px 0 34px;font-size:clamp(30px,3.35vw,54px);line-height:1.3}
.hero-copy{transition:opacity .7s ease,transform .7s ease}.hero-copy.first-slide-hidden{opacity:0;pointer-events:none;transform:translateY(-37%)}
@media(max-width:900px){.hero-copy h1{font-size:31px}}
@media(max-width:560px){.hero-copy h1{font-size:26px}}

/* Preserve the photographs: no dark overlay, no crop, no dim crossfade. */
.home-page .site-header{background:transparent}
.slide:after{display:none}
.slide{opacity:0;transition:none}
.slide.previous{opacity:1;z-index:1}
.slide.active{opacity:1;z-index:2;animation:cleanFade 1.1s ease both}
.slide img{width:100%;height:100%;object-fit:contain;object-position:center;background:#020407}
@keyframes cleanFade{from{opacity:0}to{opacity:1}}
