.menu-toggle{border:0!important;background:transparent!important;box-shadow:none!important}
.menu-toggle svg{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.menu-toggle:hover svg{transform:rotate(-8deg) scale(1.08)}
.menu{contain:paint;overflow-y:auto;overscroll-behavior:contain}
.menu nav a{width:fit-content;transition:transform .4s,color .4s}
.menu nav a:hover{transform:translateX(12px)}
.button{transition:background-color .3s,transform .4s cubic-bezier(.22,1,.36,1)}
.button:hover{transform:translateY(-3px)}
.button .arrow{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.button:hover .arrow{transform:translate(3px,-3px)}
.story-image,.photo-ribbon a,.service-thumb,.portfolio-pair figure{overflow:hidden}
.story-image img,.photo-ribbon img,.portfolio-pair img{transition:transform .9s cubic-bezier(.22,1,.36,1)}
.story-card:hover .story-image img,.photo-ribbon a:hover img{transform:scale(1.035)}
.field input,.field textarea,.field select{transition:border-color .3s,background-color .3s}
.field input:focus,.field textarea:focus,.field select:focus{background:#ffffff0a}
.lightbox[open]{animation:viewerEnter .35s ease-out}
@keyframes viewerEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
html.inertial-scroll{scroll-behavior:auto}
@media(hover:none){.button:hover{transform:none}.menu-toggle:hover svg{transform:none}}
/* Native mobile scrolling: no scripted momentum or scroll-linked entrances. */
@media(max-width:1024px),(pointer:coarse){html{scroll-behavior:auto}.journal-card,.reveal{will-change:auto}}
.journal-grid>*{min-width:0}
.journal-card .story-image{display:block}
.journal-card h2{overflow-wrap:break-word;line-height:1.16;letter-spacing:-.035em}
.article{overflow-wrap:break-word;line-height:1.7}
.article h1{line-height:1.12;text-wrap:pretty}
.article ul,.article ol{padding-left:1.3em;margin-block:22px}
.article li{padding-left:.2em}
.article h2,.article h3{line-height:1.25;text-wrap:pretty}
@media(min-width:701px) and (max-width:1024px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 24px}}
@media(max-width:700px){
 .journal-grid{grid-template-columns:minmax(0,1fr);gap:48px}
 .journal-card .story-image{height:auto;aspect-ratio:4/3;width:100%}
 .journal-card .story-image img{height:100%;width:100%;object-fit:cover}
 .journal-card h2{font-size:28px;line-height:1.18;margin-top:20px}
 .journal-card .text-link{margin-top:18px}
 .article{font-size:17px;line-height:1.75;padding-top:35px}
 .article h1{font-size:clamp(30px,8vw,40px);letter-spacing:-.035em;margin-bottom:28px}
 .article h2,.article h3{font-size:25px;margin-block:34px 16px}
 .article p{margin-block:18px}
 .article img{margin-block:24px}
 .article .button{font-size:16px;line-height:1.35;margin-top:20px}
}
