.hema-page { background: #f5f0e8; }
.hema-page h1, .hema-page h2, .hema-page h3 { text-wrap: balance; }
.hema-hero { min-height: 760px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); background: radial-gradient(circle at 30% 30%, #3b332b 0, #1b1815 44%, #0d0c0b 100%); color: #fff; overflow: hidden; }
.hema-hero-copy { align-self: center; max-width: 760px; padding: 150px clamp(38px, 6vw, 112px) 90px; position: relative; z-index: 1; }
.hema-hero h1 { margin: 14px 0 28px; font-size: clamp(5.4rem, 10vw, 10.5rem); line-height: .76; letter-spacing: -.075em; color: #f8f4ed; }
.hema-hero h1 span { display: block; max-width: 690px; margin-top: 34px; font: 700 clamp(1.15rem, 2.05vw, 2rem)/1.12 var(--sans); letter-spacing: .13em; text-transform: uppercase; color: #d4af62; }
.hema-hero-copy > p:not(.hero-kicker) { max-width: 670px; font-size: clamp(1.05rem, 1.5vw, 1.32rem); line-height: 1.7; color: rgba(255,255,255,.78); }
.hema-light-link { color: #f2d58f; }
.hema-hero-portrait { min-height: 760px; margin: 0; position: relative; overflow: hidden; }
.hema-hero-portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0d0c0b 0,transparent 26%),linear-gradient(0deg,rgba(8,7,6,.65),transparent 34%); pointer-events:none; }
.hema-hero-portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 37%; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.hema-hero:hover .hema-hero-portrait img { transform:scale(1.025); }
.hema-intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,8vw,120px); align-items:start; }
.hema-intro h2 { max-width: 620px; }
.hema-prose { max-width:780px; }
.hema-role-grid { display:grid; grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr); gap:clamp(48px,8vw,120px); align-items:center; }
.hema-role-image { margin:0; overflow:hidden; }
.hema-role-image img { display:block; width:100%; max-height:760px; object-fit:cover; object-position:center 26%; transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease; }
.hema-role-image:hover img { filter:saturate(1.06); transform:scale(1.035); }
.hema-role-image figcaption { position:relative; z-index:1; padding:14px 0 0; color:rgba(255,255,255,.58); background:#171513; font-size:.84rem; line-height:1.5; }
.hema-role-copy { max-width:760px; }
.hema-role-copy p { color:rgba(255,255,255,.72); }
.hema-role-copy .large-copy { color:#fff; }
.hema-learning-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:50px; background:#c8bba8; border:1px solid #c8bba8; }
.hema-learning-grid article { min-height:290px; padding:34px 28px; background:#f8f4ed; }
.hema-learning-grid span { color:#a71124; font-weight:800; font-size:.78rem; letter-spacing:.14em; }
.hema-learning-grid h3 { margin:42px 0 14px; font-size:1.45rem; }
.hema-learning-grid p { margin:0; color:#594f46; line-height:1.65; }
.hema-quote { max-width:920px; margin:70px auto 28px; padding:36px 46px; border-left:5px solid #a71124; background:#e9dfd1; }
.hema-quote p { margin:0; font:italic 500 clamp(1.5rem,2.8vw,2.35rem)/1.35 var(--serif); color:#231f1b; }
.hema-quote footer { margin-top:18px; font-size:.82rem; letter-spacing:.04em; color:#665b50; }
.hema-development .section-heading-row > p,
.hema-corporate .section-heading-row > p { color:#111; }
.hema-development { padding-bottom:clamp(52px,6vw,86px); }
.hema-corporate { padding-top:clamp(52px,6vw,86px); padding-bottom:clamp(54px,6vw,90px); background:#ede4d8; }
.hema-corporate-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:48px; }
.hema-corporate-gallery figure { display:grid; grid-template-rows:auto 1fr; margin:0; background:#171513; overflow:hidden; }
.hema-corporate-gallery img { display:block; width:100%; height:clamp(250px,24vw,390px); object-fit:cover; transition:transform .65s ease; }
.hema-corporate-gallery figure:hover img { transform:scale(1.045); }
.hema-corporate-gallery figcaption { display:flex; min-height:82px; align-items:center; padding:15px 18px; color:#ead39d; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.hema-corporate-note { display:grid; grid-template-columns:.9fr 1.3fr auto; gap:34px; align-items:center; margin-top:22px; padding:28px 32px; background:#fffaf3; border-top:4px solid #a71124; }
.hema-corporate-note h3, .hema-corporate-note p { margin:0; }
.hema-corporate-note p { line-height:1.6; color:#594f46; }
.hema-lecture { padding-top:clamp(54px,6vw,90px); }
.hema-lecture-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:clamp(40px,7vw,100px); align-items:start; }
.hema-video { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.4); }
.hema-video img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s ease, opacity .25s ease; }
.hema-video:hover img,.hema-video:focus-visible img { transform:scale(1.025); opacity:.86; }
.hema-play { position:absolute; left:50%; top:50%; display:grid; width:76px; height:76px; place-items:center; padding-left:5px; transform:translate(-50%,-50%); color:#17120e; background:rgba(244,202,100,.94); border:2px solid rgba(255,255,255,.84); border-radius:50%; box-shadow:0 14px 40px rgba(0,0,0,.38); font-size:1.45rem; transition:transform .2s ease,background .2s ease; }
.hema-video:hover .hema-play,.hema-video:focus-visible .hema-play { transform:translate(-50%,-50%) scale(1.08); background:#fff; }
.hema-lecture p { color:rgba(255,255,255,.7); }
.hema-lecture .large-copy { color:#fff; }
.hema-closing { display:block; overflow:hidden; background:#171513; }
.hema-closing > img { display:block; width:100%; height:auto; object-fit:contain; }
.hema-closing::after { content:none; }
.hema-closing-card { width:min(100%,1280px); margin:0 auto; padding:42px clamp(24px,7vw,96px) 48px; color:#211d18; background:#eee3d4; }
.hema-closing-card h2 { margin:7px 0 12px; }
.hema-closing-card p { max-width:760px; line-height:1.55; }
@media (max-width: 980px) {
  .hema-hero { grid-template-columns:1fr; }
  .hema-hero-copy { padding-bottom:56px; }
  .hema-hero-portrait { min-height:640px; }
  .hema-hero-portrait::after { background:linear-gradient(0deg,rgba(8,7,6,.7),transparent 35%); }
  .hema-intro-grid,.hema-role-grid,.hema-lecture-grid { grid-template-columns:1fr; }
  .hema-learning-grid { grid-template-columns:repeat(2,1fr); }
  .hema-corporate-gallery { grid-template-columns:1fr 1fr; }
  .hema-corporate-gallery figure:first-child { grid-column:1/-1; }
  .hema-corporate-gallery img { height:clamp(280px,45vw,430px); }
  .hema-corporate-note { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .hema-hero { min-height:auto; }
  .hema-hero-copy { padding:120px 24px 46px; }
  .hema-hero h1 { font-size:clamp(4.5rem,24vw,7rem); }
  .hema-hero-portrait { min-height:520px; }
  .hema-learning-grid,.hema-corporate-gallery { grid-template-columns:1fr; }
  .hema-corporate-gallery figure:first-child { grid-column:auto; }
  .hema-corporate-gallery img { height:auto; aspect-ratio:4/3; }
  .hema-quote { padding:28px 26px; }
  .hema-play { width:62px; height:62px; font-size:1.15rem; }
  .hema-closing-card { padding:30px 24px 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .hema-hero-portrait img,.hema-role-image img,.hema-corporate-gallery img,.hema-video img { transition:none; }
  .hema-hero:hover .hema-hero-portrait img,.hema-role-image:hover img,.hema-corporate-gallery figure:hover img,.hema-video:hover img,.hema-video:focus-visible img { filter:none; transform:none; }
}
