/* Quiet motion and mobile-first gallery */
[hidden]{display:none!important}
body.cms-no-hero .site-header{position:relative;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
body.cms-no-hero .nav-toggle span{background:var(--ink)}
body.cms-no-hero .site-header:has(.nav.open) .nav-toggle span{background:#fff}
.contact.cta-hidden{min-height:0;padding-top:2rem}
.contact.cta-hidden .contact-background,.contact.cta-hidden .contact-shade,.contact.cta-hidden .contact-main{display:none}
/* Selected stories: one orderly row, with a swipeable track on phones. */
#stories .story-grid{display:flex;flex-wrap:nowrap;gap:1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1.25rem;padding:0 1.25rem 4rem;scrollbar-width:thin;scrollbar-color:#aaa397 transparent}
#stories .story-card{flex:0 0 82%;min-width:0;margin-top:0;grid-row:auto;scroll-snap-align:start;display:flex;flex-direction:column}
#stories .story-card .media-wrap{height:auto;max-height:none;aspect-ratio:4/5;width:100%}
#stories .story-card .media-wrap img{width:100%;height:100%;object-fit:cover;display:block}
#stories .story-meta{gap:.75rem;flex:1;padding-top:1rem;margin-top:1rem}
#stories .story-meta h3{font-size:1.75rem;line-height:1.2}
#stories .story-meta p{font-size:.875rem;line-height:1.6;letter-spacing:.06em}
#stories .story-meta>span{flex-shrink:0;font-size:.875rem}
#stories .story-card:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
@media(min-width:600px) and (max-width:860px){#stories .story-card{flex-basis:46%}}
@media(min-width:861px){#stories .story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2vw;overflow:visible;padding:0 3.5vw 6rem;scroll-snap-type:none}#stories .story-card{margin-top:0}#stories .story-meta h3{font-size:clamp(1.55rem,2.2vw,2.1rem)}}
.portfolio-heading{padding:4rem 1.25rem 2rem}.portfolio-heading h1{font:400 clamp(3.2rem,12vw,7rem)/.96 var(--serif);letter-spacing:-.025em;margin:0 0 1.5rem}.portfolio-heading h1 em{font-weight:400}.portfolio-heading>p:not(.eyebrow){max-width:480px;color:#625f58;line-height:1.7}.portfolio-heading small{display:block;color:#77736b;font-size:.8rem;margin-top:1.5rem}.portfolio-filters{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem 2rem}.portfolio-filters button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:.75rem 1rem;cursor:pointer;font-size:.875rem;min-height:44px;transition:background .22s,color .22s}.portfolio-filters button[aria-pressed=true]{background:var(--ink);color:var(--white)}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:3rem;padding:0 1.25rem}.portfolio-card[hidden]{display:none}.portfolio-image{position:relative;overflow:hidden;aspect-ratio:4/5}.portfolio-card:nth-child(even) .portfolio-image{aspect-ratio:1/1}.portfolio-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.story-meta h2{font:400 1.8rem/1.2 var(--serif);margin:0}.portfolio-ending{padding:5rem 1.25rem}.portfolio-ending h2{font:400 clamp(2.7rem,6vw,5rem)/1.1 var(--serif)}
.story-page .gallery-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:1rem;padding:0 1.25rem 4rem;align-items:start}.story-page .gallery-grid>div{grid-row:auto;grid-column:auto;height:auto;background:#e6e2da}.story-page .gallery-grid img{height:auto;object-fit:contain;cursor:zoom-in}.story-page .gallery-grid img:focus-visible{outline:3px solid #817260;outline-offset:-3px}.story-page .story-hero{min-height:440px;height:70svh}.story-page .story-hero h1{font-size:clamp(3.1rem,11vw,8rem)}.story-page .story-intro{padding-top:4rem;padding-bottom:4rem}.story-page .story-film-cover{cursor:default}.story-page .story-film-cover>span{font-size:2rem}.story-page .next-story .text-link{font-family:var(--sans);font-size:.875rem;margin-top:2rem;width:fit-content}
.photo-viewer{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:1rem;border:0;background:#121211;color:#fff;overflow:hidden}.photo-viewer::backdrop{background:#121211}.photo-viewer img{width:100%;height:calc(100% - 6rem);object-fit:contain;margin-top:3rem}.viewer-top{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;justify-content:space-between;align-items:center}.viewer-controls{position:absolute;bottom:1rem;left:1rem;right:1rem;display:flex;justify-content:space-between;align-items:center}.photo-viewer button{border:1px solid #666;background:transparent;color:#fff;min-width:48px;min-height:48px;padding:.5rem;cursor:pointer;font-size:1.2rem}.viewer-counter{font-size:.875rem;color:#d4d0c7}.viewer-hint{font-size:.8rem;color:#aaa59d}.reveal-pending{opacity:0;transform:translateY(28px) scale(.985)}.gallery-grid>div:nth-child(even).reveal-pending{transform:translateY(36px) scale(.985)}.reveal-ready{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}.story-page .story-hero>img{animation:story-hero-in 1.4s cubic-bezier(.22,1,.36,1) both}.story-page .story-hero>div>*{opacity:0;animation:story-copy-in .85s cubic-bezier(.22,1,.36,1) forwards}.story-page .story-hero>div>*:nth-child(1){animation-delay:.18s}.story-page .story-hero>div>*:nth-child(2){animation-delay:.3s}.story-page .story-hero>div>*:nth-child(3){animation-delay:.42s}.photo-viewer img.slide-next{animation:viewer-next .42s cubic-bezier(.22,1,.36,1)}.photo-viewer img.slide-prev{animation:viewer-prev .42s cubic-bezier(.22,1,.36,1)}@keyframes story-hero-in{from{opacity:.65;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}@keyframes story-copy-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes viewer-next{from{opacity:0;transform:translateX(34px) scale(.985)}to{opacity:1;transform:none}}@keyframes viewer-prev{from{opacity:0;transform:translateX(-34px) scale(.985)}to{opacity:1;transform:none}}.text-link span:last-child,.button-light span:last-child,.submit-inquiry span:last-child{transition:transform .25s ease}.hero-copy{max-width:88vw}.hero h1{font-size:clamp(3rem,7.3vw,7.5rem);line-height:1.02}.eyebrow{font-size:.8rem}.nav{font-size:.875rem}.story-meta p,.story-meta>span{font-size:.8rem}.dummy-badge{font-size:.75rem}.inquiry-form label{font-size:.875rem}.team-grid p{font-size:1rem}.team-placeholder span{font-size:.8rem}.inner-back,.text-link{font-size:.875rem}
@media(min-width:861px){.portfolio-heading{padding:6rem 7vw 2rem}.portfolio-filters{padding:1rem 7vw 3rem}.portfolio-grid{grid-template-columns:1fr 1fr;gap:5rem 3vw;padding:0 7vw}.portfolio-card:nth-child(even){padding-top:4rem}.portfolio-ending{padding:7rem 7vw}.story-page .gallery-grid{grid-template-columns:1fr 1fr;gap:2vw;padding:0 7vw 6rem}.story-page .gallery-grid>div:nth-child(4n){grid-column:1/-1}.photo-viewer{padding:2rem}.viewer-top,.viewer-controls{left:2rem;right:2rem}.story-page .story-hero{height:80svh}}
@media(max-width:860px){.hero{min-height:580px;height:88svh}.hero h1{font-size:clamp(2.7rem,10.2vw,4.8rem);line-height:1.08}.hero-copy{bottom:8rem}.stories .section-head{display:block}.stories .section-head>.text-link{margin-top:1.5rem}.section-pad{padding-top:4rem;padding-bottom:4rem}.story-card:nth-child(3){margin-top:0}.viewer-hint{display:none}}
@media(hover:hover) and (pointer:fine){.portfolio-card:hover .portfolio-image img{transform:scale(1.025)}.text-link:hover span:last-child,.button-light:hover span:last-child{transform:translate(3px,-3px)}.team-grid article{transition:transform .35s ease}.team-grid article:hover{transform:translateY(-4px)}}
.journal{padding-top:4rem;padding-bottom:4rem;scroll-margin-top:6rem}.journal .section-head{padding:0 0 2.5rem;display:block}.journal .section-head h2{max-width:850px}.journal-intro{max-width:480px;margin-top:1.5rem;color:#595954;line-height:1.75}.journal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.75rem}.journal-card{min-width:0}.journal-card .media-wrap{aspect-ratio:4/3;overflow:hidden}.journal-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.journal-card>.eyebrow{margin:1.5rem 0 .8rem}.journal-card h3{font-family:var(--serif,Georgia,serif);font-size:clamp(1.65rem,2.5vw,2.2rem);font-weight:400;line-height:1.2;margin:0 0 1rem}.journal-card>p:not(.eyebrow){color:#595954;line-height:1.7}.journal-soon{display:inline-block;margin-top:1.4rem;padding-top:.7rem;border-top:1px solid #c8c5bd;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#66645e}
@media(min-width:861px){.journal{padding-top:6rem;padding-bottom:6rem}.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2vw}.journal .section-head{display:flex;gap:3rem;align-items:flex-end}.journal-intro{flex:0 1 360px}}
@media(hover:hover) and (pointer:fine){.journal-card:hover img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-pending,.reveal-ready{opacity:1;transform:none;transition:none}*,*::before,*::after{animation:none!important;transition:none!important}}
.story-tabs{display:flex;gap:.75rem;overflow-x:auto;padding-top:0;padding-bottom:1.75rem;scrollbar-width:thin}.story-tabs button{flex:0 0 auto;min-height:44px;border:1px solid #bbb7ae;background:transparent;color:#383832;padding:.8rem 1.15rem;font:inherit;font-size:.875rem;cursor:pointer;transition:background .25s,color .25s}.story-tabs button[aria-selected="true"]{background:#25251f;border-color:#25251f;color:#f6f3ec}.story-tabs button:focus-visible{outline:2px solid #555;outline-offset:3px}#stories{scroll-margin-top:6rem}#stories .story-card[hidden]{display:none}#stories .story-grid{min-height:350px}#stories .story-card{max-width:600px}#stories .section-head{padding-top:4rem}@media(min-width:861px){#stories .story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#stories .section-head{padding-top:6rem}}
#stories .section-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem}#stories .section-head h2{margin-left:auto;margin-right:auto}#stories .section-head>.text-link{margin-top:0}#stories .story-meta{text-align:center;justify-content:center;position:relative}#stories .story-meta>span{position:absolute;right:0;top:0}#stories .story-meta>div{padding:0 2rem}#stories .story-tabs{justify-content:flex-start}@media(min-width:861px){#stories .story-tabs{justify-content:center}}
@media(max-width:860px){.cinema-player{height:auto;max-height:none;overflow:visible}.cinema-player video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.sound-toggle{bottom:1rem}#stories .media-wrap:has(img[src^="assets/kanae/"]){aspect-ratio:4/5;background:#111}#stories .media-wrap:has(img[src^="assets/kanae/"]) img{height:100%;object-fit:cover}#stories img[src$="prewed-1.webp"]{object-position:58% 50%}#stories img[src$="prewed-2.webp"]{object-position:50% 42%}#stories img[src$="prewed-3.webp"]{object-position:48% 45%}.hero:has(.hero-image[src^="assets/kanae/"]) .hero-image{object-fit:cover;background:#111}.hero>.hero-image:nth-of-type(1){object-position:50% 44%}.hero>.hero-image:nth-of-type(2){object-position:52% 45%}.hero>.hero-image:nth-of-type(3){object-position:50% 55%}.team-photo img{object-position:center 25%}.about-image img{object-position:center 30%}.michael-gallery .gallery-grid{grid-auto-rows:auto}.michael-gallery .gallery-grid>div{min-height:0}.michael-gallery .gallery-grid img{height:auto;object-fit:contain}}
.stories-link{display:flex;justify-content:flex-end;margin-top:0;padding-top:1.5rem;padding-bottom:7rem}.contact{position:relative;overflow:hidden}.contact-background,.contact-shade{position:absolute;inset:0;width:100%;height:100%}.contact-background{object-fit:cover}.contact-shade{background:linear-gradient(90deg,rgba(15,15,13,.92),rgba(15,15,13,.58))}.contact-main,.contact footer{position:relative;z-index:1}@media(max-width:860px){.stories-link{margin-top:0;padding-top:1rem;padding-bottom:5rem}.contact-shade{background:rgba(15,15,13,.68)}}

/* Dense editorial masonry gallery: natural image ratios without empty grid cells. */
.story-page .gallery-grid{display:block;column-count:1;column-gap:.75rem;padding-top:.75rem}
.story-page .gallery-grid>div,.story-page .gallery-grid>div:nth-child(4n){display:inline-block;width:100%;margin:0 0 .75rem;break-inside:avoid;grid-column:auto;grid-row:auto;vertical-align:top;background:transparent}
.story-page .gallery-grid img{width:100%;height:auto;transform:scale(1.012);transition:transform 1s cubic-bezier(.22,1,.36,1),filter .65s ease}
.story-page .gallery-grid>div:nth-child(3n+1).reveal-pending{transform:translate(-22px,34px) scale(.98)}
.story-page .gallery-grid>div:nth-child(3n+2).reveal-pending{transform:translateY(46px) scale(.98)}
.story-page .gallery-grid>div:nth-child(3n).reveal-pending{transform:translate(22px,34px) scale(.98)}
@media(min-width:600px){.story-page .gallery-grid{column-count:2;column-gap:1rem}.story-page .gallery-grid>div,.story-page .gallery-grid>div:nth-child(4n){margin-bottom:1rem}}
@media(min-width:1000px){.story-page .gallery-grid{column-count:3;column-gap:.8rem;padding:1rem 3vw 6rem}.story-page .gallery-grid>div,.story-page .gallery-grid>div:nth-child(4n){margin-bottom:.8rem}}
@media(hover:hover) and (pointer:fine){.story-page .gallery-grid>div:hover img{transform:scale(1.035);filter:brightness(.94)}}
@media(max-width:860px){.michael-gallery .story-hero>img{object-position:65% center}}
@media(prefers-reduced-motion:reduce){.story-page .story-hero>div>*{opacity:1!important;transform:none!important}}
