/* Mazhaka V38 | Final consistency and accessibility pass.
   Additive and deliberately scoped. V36 cinematic hero and V27 programmes
   are protected: no changes to their appearance or choreography. */

:root{
  --v38-rule:rgba(22,51,42,.23);
  --v38-accent:#b64720;
  --v38-body-leading:1.72;
}
/* Reliable destinations behind the fixed/sticky navigation. */
:is(#about,#work,#programmes,#impact,#stories,#upcoming,#contact){scroll-margin-top:calc(var(--header-h,70px) + 18px)}

/* A single considered reading rhythm for quieter copy, without flattening
   each section's visual composition or changing its wording. */
:is(.about-body,.work-lead p,.story-top p,.story-box p,.stripe-copy p,
    .journal-head p,.v37-house-copy p,.v37-social-intro p,.upcoming-copy p,.join-lead){
  line-height:var(--v38-body-leading);
  letter-spacing:-.005em;
  text-wrap:pretty;
}
:is(.about h2,.work h2,.story h2,.stripe h2,.journal h2,.join h2){text-wrap:balance}
.story-top p,.journal-head p{max-width:43ch}

/* Distinguish primary narrative statements from story headlines. EB Garamond
   remains selective; small captions, controls and body copy stay sans. */
.story-box h3{
  font-family:var(--editorial-serif,Georgia,serif);
  font-size:clamp(34px,3vw,48px);
  font-weight:400;letter-spacing:-.025em;line-height:1.08;
}
.v37-house-copy h3{
  font-family:var(--editorial-serif,Georgia,serif);
  font-size:clamp(52px,4.8vw,82px);
  letter-spacing:-.036em;line-height:1.02;
  margin:clamp(18px,2vw,28px) 0 clamp(18px,2vw,28px);
  text-wrap:balance;
}
.v37-social h3{
  font-family:var(--editorial-serif,Georgia,serif);
  font-size:clamp(52px,5.5vw,90px);
  letter-spacing:-.035em;line-height:1.02;
  text-wrap:balance;
}
.v37-post h4{font-size:clamp(29px,2.35vw,39px);line-height:1.13;text-wrap:balance}

/* Story handover: related content feels like one chapter rather than three
   disconnected design treatments. The photography and links are untouched. */
.v37-house-feature{gap:clamp(26px,4.1vw,72px)}
.v37-house-copy{padding-block:clamp(12px,2.4vw,34px)}
.v37-social{margin-top:clamp(78px,8.7vw,132px);padding-top:clamp(42px,4.7vw,65px);border-top-color:var(--v38-rule)}
.v37-social-top{margin-bottom:clamp(28px,3.6vw,49px)}
.v37-social-intro p{font-size:15.5px}
.v37-post{border-top-color:var(--v38-rule);padding-top:14px}
.v37-post-meta{font-size:12px;line-height:1.45;margin:18px 0 12px;letter-spacing:.025em}
.v37-post-link{font-size:13.5px;font-weight:600;line-height:1.5}
.v37-social-note{font-size:13px;line-height:1.6;color:#53685d;margin-top:29px}
.v37-social-visit,.v37-underline-action{font-size:14px;line-height:1.55}
.v37-quiet-link{font-size:13px;line-height:1.55}
.v37-underline-action,.v37-quiet-link,.v37-social-visit,.v37-post-link{
  text-decoration-thickness:1px;text-underline-offset:4px;
  transition:color .22s ease,border-color .22s ease;
}
.v37-post:hover .v37-post-link,.v37-post:focus-visible .v37-post-link,
.v37-social-visit:hover,.v37-underline-action:hover{color:var(--v38-accent)}

/* Accessible focus does not depend on tiny arrows or color alone. */
:is(.v37-photo,.v37-underline-action,.v37-quiet-link,.v37-social-visit,
    .v37-post,.btn,.way,.link-u,.rail-btn,.generation-v27 .row):focus-visible{
  outline:2px solid #dc9455;outline-offset:4px;
}
.v37-photo:focus-visible{outline-offset:2px}
.v37-post-photo img{will-change:auto}

/* Reinforce native tap affordances, without turning editorial links into
   bulky app-style buttons. */
.v37-underline-action,.v37-social-visit{min-height:44px;display:inline-flex;align-items:center}
.v37-quiet-link{min-height:40px;display:flex;align-items:center}

/* Logical scales for small screens; eliminate microtype and preserve hierarchy. */
@media (max-width:960px){
 .v37-house-copy{padding:8px 0 0}
 .v37-house-copy h3{font-size:clamp(55px,8.5vw,78px)}
 .v37-social h3{font-size:clamp(51px,8.5vw,80px)}
 .story-box h3{font-size:clamp(34px,4.4vw,46px)}
}
@media (max-width:670px){
 .v37-house-feature{gap:22px}
 .v37-house-copy h3{font-size:clamp(48px,12.1vw,67px);line-height:1.02}
 .v37-social{margin-top:74px;padding-top:36px}
 .v37-social h3{font-size:clamp(49px,11.6vw,66px)}
 .v37-social-intro{padding-top:19px}
 .v37-post-grid{gap:36px}
 .v37-post-photo{height:clamp(270px,82vw,424px)}
 .v37-post h4{font-size:clamp(31px,8.3vw,36px);line-height:1.13;margin-bottom:15px}
 .v37-social-note{margin-top:31px}
 .story-box h3{font-size:clamp(32px,8.5vw,40px)}
 .v37-photo-counter{font-size:11px}
}
@media(max-width:360px){
 .v37-house-copy h3{font-size:clamp(44px,12.1vw,50px)}
 .v37-social h3{font-size:clamp(44px,12vw,51px)}
 .v37-post h4{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
 .v37-underline-action,.v37-quiet-link,.v37-social-visit,.v37-post-link{transition:none}
}
