.category-description{grid-column:1/-1;margin:0 0 5px;padding:15px 0 18px;border-bottom:1px solid rgba(23,37,31,.2);color:#637067;line-height:1.8}.category-description span{display:block;color:#17251f;font:11px 'DM Mono',monospace;letter-spacing:.13em;margin-bottom:5px}@media(max-width:840px){.products .category-description{min-width:77vw}}

/* Visual-system refinement: no new assets and no interaction changes. */
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.header{box-shadow:0 1px 0 rgba(23,37,31,.04)}
.desktop-nav{gap:clamp(20px,2.2vw,34px)}
.desktop-nav a{letter-spacing:.025em}
.hero{isolation:isolate}
.hero-overlay{background:linear-gradient(90deg,rgba(7,16,12,.9),rgba(7,16,12,.61) 42%,rgba(7,16,12,.08) 78%),linear-gradient(0deg,rgba(4,11,8,.5),transparent 55%)}
.hero-copy{max-width:760px}
.hero h1,.position h2,.section-heading h2,.booking-band h2,.journal h2,.method h2,.shop h2{text-wrap:balance}
.hero-lead{max-width:33em}
.button{letter-spacing:.015em;box-shadow:0 8px 20px rgba(13,29,20,.12)}
.button.pale{box-shadow:0 8px 24px rgba(4,13,8,.2)}
.position-copy p,.section-heading>p,.cases-head>p,.shop-intro{max-width:38em}
.service-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(23,37,31,.1);border-color:rgba(23,37,31,.38)}
.service-card.dark:hover{box-shadow:0 15px 30px rgba(10,20,15,.22);border-color:#293a32}
.article{border-color:rgba(23,37,31,.25);transition:transform .22s ease,box-shadow .22s ease}
.article:hover{transform:translateY(-4px);box-shadow:0 15px 28px rgba(23,37,31,.1)}
.article h3,.product-info h3{letter-spacing:.012em}
.article button,.arrow-button,.add{transition:color .2s ease,transform .2s ease}
.article button:hover,.arrow-button:hover,.add:hover{transform:translateX(3px)}
.method-copy{background:linear-gradient(120deg,rgba(36,52,44,.96),rgba(36,52,44,.9))}
.shop-control button{transition:background .2s ease,color .2s ease,border-color .2s ease}
.shop-control button:not(.active):hover{border-color:var(--jade);color:var(--jade)}
.product-media{height:clamp(310px,29vw,390px)}
.shop-foot{min-height:58px}
@media (min-width:841px){.section{padding-left:clamp(44px,5vw,76px);padding-right:clamp(44px,5vw,76px)}.portrait-film{padding-left:clamp(44px,5vw,76px);padding-right:clamp(44px,5vw,76px)}.article-grid,.service-list{gap:14px}.journal,.shop{padding-top:clamp(110px,10vw,154px);padding-bottom:clamp(110px,10vw,154px)}}
@media (max-width:840px){.hero{height:calc(100svh - 102px);min-height:535px}.hero-copy{padding-top:clamp(82px,16vh,120px)}.hero h1{font-size:clamp(39px,11vw,48px);line-height:1.22}.hero-bottom{font-size:9px;letter-spacing:.08em}.hero-bottom span:last-child{max-width:58%;text-align:right}.button{min-height:48px}.service-card:hover,.article:hover{transform:none;box-shadow:none}.article{min-height:310px}.main-article{min-width:82vw}.product-media{height:clamp(300px,94vw,390px)}.product-info{padding-top:13px}.shop-foot{align-items:flex-start;gap:16px;flex-direction:column}.shop-foot .underlink{padding-bottom:3px}}

.portrait-film,.cases{position:relative}
.film-frame{box-shadow:20px 24px 42px rgba(23,37,31,.15)}
.case-card{border:1px solid rgba(12,28,20,.1);box-shadow:0 8px 20px rgba(23,37,31,.08);transition:transform .25s ease,box-shadow .25s ease}
.case-card:hover{transform:translateY(-4px);box-shadow:0 17px 33px rgba(23,37,31,.16)}
.case-copy h3{letter-spacing:.018em;text-shadow:0 1px 12px rgba(5,12,8,.42)}
.case-image-note{backdrop-filter:blur(5px);background:rgba(11,25,18,.15)}
@media (max-width:840px){.film-frame{box-shadow:12px 15px 27px rgba(23,37,31,.14)}.case-card:hover{transform:none;box-shadow:0 8px 20px rgba(23,37,31,.08)}.case-grid{scroll-snap-type:x mandatory}.case-card{scroll-snap-align:start}.case-statement p{max-width:34em}}
