/* First screen and compact header for the author's school homepage. */
body.home #logo .site-description { display: none; }
body.home #header-holder #logo-layout {
  box-sizing: border-box;
  min-height: 75px;
  padding: 9px 25px 5px;
}
body.home #header-holder #logo {
  display: block;
  margin: 7px 0 8px !important;
  width: auto !important;
  height: auto !important;
  max-width: calc(100% - 180px);
}
body.home #logo .linmen-top-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  line-height: 1.35;
  text-transform: none;
}
body.home #logo .linmen-top-brand a {
  color: #173a5c;
  font-size: 19px;
  line-height: 1.4;
  font-weight: 750;
  letter-spacing: -.025em;
  text-transform: none;
}
body.home #logo .linmen-top-brand span {
  font-size: 12px;
  line-height: 1.5;
  font-weight: normal;
  letter-spacing: .025em;
  color: #6d8296;
  text-transform: none;
}
body.home #logo-layout #social-bar.linmen-social-links {
  margin-top: 8px;
  margin-right: 0;
}
#linmen-hero,
#linmen-hero *,
#linmen-hero *::before,
#linmen-hero *::after { box-sizing: border-box; }
#linmen-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 0.79fr) minmax(0, 1.21fr);
  align-items: center;
  gap: clamp(24px, 4.1vw, 58px);
  max-width: 1140px;
  margin: 10px auto 45px;
  padding: clamp(20px, 3.2vw, 42px);
  border: 1px solid #e3eaf0;
  border-radius: 18px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 94% 12%, rgba(112,163,196,.16), transparent 46%),
    linear-gradient(112deg, #f6f9fc 0%, #f8fafc 53%, #edf4f9 100%);
  color: #243344;
}
#linmen-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 285px;
  height: 285px;
  border: 1px solid rgba(104,153,188,.15);
  border-radius: 50%;
  right: -120px;
  bottom: -170px;
}
#linmen-hero .linmen-hero__portrait {
  position: relative;
  width: 100%;
  max-width: 376px;
  margin: 0 auto;
}
#linmen-hero .linmen-hero__portrait img,
#linmen-hero .linmen-hero__portrait-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 12px;
  background: linear-gradient(150deg, #c9d9e5, #dae7ed);
  box-shadow: 0 15px 40px rgba(25,54,77,.13);
}
#linmen-hero .linmen-hero__portrait-placeholder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  color: #527795;
  font-size: 13px;
}
#linmen-hero .linmen-hero__initials {
  display: grid;
  place-items: center;
  width: 118px;
  height: 118px;
  border: 2px solid rgba(82,119,149,.35);
  border-radius: 50%;
  color: #306486;
  font-size: 38px;
  font-weight: 600;
  letter-spacing: .015em;
}
#linmen-hero .linmen-hero__portrait-accent {
  position: absolute;
  width: 65px;
  height: 5px;
  right: -12px;
  bottom: 25px;
  border-radius: 8px;
  background: #4d9ec8;
  box-shadow: 0 2px 8px rgba(25,54,77,.14);
}
#linmen-hero .linmen-hero__content {
  min-width: 0;
  padding: 8px 0 8px;
  text-align: left;
}
#linmen-hero .linmen-hero__label {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  margin-bottom: 18px;
  color: #2f759d;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#linmen-hero .linmen-hero__label-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: #4ba2bd;
}
#linmen-hero h1,
#linmen-hero h2 {
  margin: 0;
  padding: 0;
  font-family: Helvetica, Arial, sans-serif;
  text-transform: none;
  letter-spacing: -.03em;
}
#linmen-hero h1 {
  margin-bottom: 8px;
  color: #153753;
  font-size: clamp(36px, 4vw, 53px);
  font-weight: 750;
  line-height: 1.1;
}
#linmen-hero h2 {
  margin-bottom: 23px;
  color: #2e7199;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 600;
  line-height: 1.22;
}
#linmen-hero .linmen-hero__lead,
#linmen-hero .linmen-hero__details {
  margin: 0;
  padding: 0;
  text-transform: none;
  color: #42566a;
}
#linmen-hero .linmen-hero__lead {
  margin-bottom: 16px;
  font-size: clamp(16px, 1.7vw, 18px);
  line-height: 1.58;
}
#linmen-hero .linmen-hero__lead strong {
  color: #1b405e;
  font-weight: 700;
}
#linmen-hero .linmen-hero__details {
  max-width: 520px;
  font-size: 15px;
  line-height: 1.68;
}
#linmen-hero .linmen-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 27px;
}
#linmen-hero .linmen-hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 12px 17px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  text-transform: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
#linmen-hero .linmen-hero__button--primary {
  background: #226b9d;
  color: #fff;
  box-shadow: 0 5px 14px rgba(34,107,157,.14);
}
#linmen-hero .linmen-hero__button--primary:hover,
#linmen-hero .linmen-hero__button--primary:focus-visible {
  color: #fff;
  background: #155a8b;
  transform: translateY(-1px);
}
#linmen-hero .linmen-hero__button--secondary {
  color: #235d88;
  border-color: #b5cfdf;
  background: rgba(255,255,255,.74);
}
#linmen-hero .linmen-hero__button--secondary:hover,
#linmen-hero .linmen-hero__button--secondary:focus-visible {
  color: #184a71;
  border-color: #5f9ec0;
  background: #fff;
  transform: translateY(-1px);
}
#linmen-hero .linmen-hero__button:focus-visible {
  outline: 2px solid #164f75;
  outline-offset: 3px;
}
@media (max-width: 900px) {
  #linmen-hero {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 25px;
    padding: 25px;
  }
  #linmen-hero h1 { font-size: 36px; }
  #linmen-hero h2 { font-size: 24px; }
  #linmen-hero .linmen-hero__button { padding: 11px 13px; font-size: 13px; }
}
@media (max-width: 700px) {
  #linmen-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin: 9px auto 30px;
    padding: 23px 19px 28px;
    border-radius: 14px;
  }
  #linmen-hero .linmen-hero__portrait { max-width: 278px; }
  #linmen-hero .linmen-hero__portrait-accent { right: -8px; }
  #linmen-hero .linmen-hero__content { padding: 0; }
  #linmen-hero .linmen-hero__label { margin-bottom: 11px; }
  #linmen-hero h1 { font-size: clamp(32px, 8vw, 42px); }
  #linmen-hero h2 { margin-bottom: 17px; font-size: 23px; }
  #linmen-hero .linmen-hero__actions { margin-top: 22px; }
  body.home #header-holder #logo-layout { padding: 12px 15px 2px; }
  body.home #header-holder #logo {
    float: none;
    margin: 5px auto !important;
    max-width: none;
    text-align: center;
  }
  body.home #logo .linmen-top-brand { align-items: center; }
  body.home #logo .linmen-top-brand a { font-size: 17px; }
  body.home #logo-layout #social-bar.linmen-social-links { margin: 12px auto 8px; }
}
@media (max-width: 390px) {
  #linmen-hero .linmen-hero__actions { flex-direction: column; }
  #linmen-hero .linmen-hero__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #linmen-hero .linmen-hero__button { transition: none; }
}

/* Home B2B positioning: photo supports expertise, services are primary. */
#linmen-hero .linmen-hero__photo-frame{position:relative;width:100%}
#linmen-hero .linmen-hero__portrait-link{display:inline-block;margin:12px 0 0 12px;color:#24698f;font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
#linmen-hero .linmen-hero__portrait-link:hover,#linmen-hero .linmen-hero__portrait-link:focus-visible{color:#154c70}
#linmen-hero h1{font-size:clamp(32px,3.5vw,45px);line-height:1.12}
#linmen-hero h2{font-size:clamp(19px,2.1vw,25px)}
@media(max-width:700px){#linmen-hero h1{font-size:clamp(30px,7.2vw,40px)}}

