*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050505;color:#eee7dc;font-family:Arial,sans-serif;line-height:1.6}.hero-visual{position:relative;background:#000}.hero-visual picture,.hero-visual img{display:block;width:100%;height:auto}.hotspot-nav a{position:absolute;display:block;z-index:4}.hotspot-nav .home{left:25.4%;top:3%;width:5.8%;height:5%}.hotspot-nav .about{left:32.1%;top:3%;width:6.1%;height:5%}.hotspot-nav .divisions{left:39%;top:3%;width:7.5%;height:5%}.hotspot-nav .projects{left:47.5%;top:3%;width:7.1%;height:5%}.hotspot-nav .partnerships{left:55.4%;top:3%;width:10.4%;height:5%}.hotspot-nav .contact{left:66.8%;top:3%;width:7.5%;height:5%}.hotspot-nav .inquire{left:81.8%;top:2%;width:14%;height:5.5%}.section{padding:84px 0;border-top:1px solid #5a3a17}.dark{background:#070707}.division{background:radial-gradient(circle at 70% 45%,#29150b,#070605 68%)}.contact{background:radial-gradient(circle,#32100c,#070505 65%)}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.two{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.division-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.eyebrow{color:#d9a747;letter-spacing:.24em;font-family:Georgia,serif;font-weight:bold}.section h1,.section h2{font-family:Georgia,serif;color:#e4bf79;font-weight:500;line-height:1.08}.section h1{font-size:clamp(2.8rem,5vw,4.8rem);margin:.15em 0}.section h2{font-size:clamp(2.4rem,4vw,4rem);margin:.15em 0 18px}.section h1 span{display:block}.section p{color:#d7cfc5;font-size:1.05rem}.role{color:#e52226!important;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.section blockquote{margin:0;padding:38px;border-left:2px solid #d0a34c;background:#110b08;font:2rem/1.45 Georgia,serif;color:#e5c678}.section cite{display:block;margin-top:20px;color:#d9a747;font-size:1.2rem}.btn{display:inline-block;border:1px solid #c28a2e;color:#e5b85d;text-decoration:none;text-transform:uppercase;padding:13px 34px;margin-top:12px;font-family:Georgia,serif}.book-display{padding-top:18px}.upright-books{display:flex;justify-content:center;align-items:flex-end;gap:22px;position:relative;z-index:3}.upright-books img{width:34%;max-height:430px;object-fit:contain;box-shadow:0 20px 35px #000;border:2px solid #6a431a;background:#111}.spine{height:62px;margin:-1px auto 0;width:92%;padding:18px 24px;color:#f4d27d;font-size:13px;box-shadow:0 12px 22px #000;transform:perspective(700px) rotateX(4deg)}.spine span{float:right}.spring{background:linear-gradient(#167fc4,#075382)}.tour{background:linear-gradient(#0b8372,#07584f);width:96%}.center{text-align:center}.narrow{max-width:850px}.email{color:#e5bc67;font:clamp(1.25rem,2.7vw,2rem) Georgia,serif;text-decoration:none;overflow-wrap:anywhere}.top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border:1px solid #8a652b;border-radius:50%;display:grid;place-items:center;background:#080808;color:#e2b856;text-decoration:none;z-index:10}@media(max-width:900px){.hotspot-nav{display:none}.two,.division-grid{grid-template-columns:1fr}.section{padding:60px 0}.section blockquote{font-size:1.5rem}.upright-books img{width:40%}}@media(max-width:560px){.shell{width:calc(100% - 28px)}.section{padding:48px 0}.upright-books{gap:10px}.upright-books img{width:47%}.spine{font-size:9px;padding:15px 9px;height:52px}.spine span{display:none}}
.division-visual-section{position:relative;width:100%;background:#080504;border-top:1px solid #5a3a17;overflow:hidden}
.division-visual{display:block;width:100%;height:auto}
.division-explore-hotspot{position:absolute;left:4.1%;top:56.2%;width:23.5%;height:7.2%;z-index:5}
@media(max-width:900px){.division-explore-hotspot{display:none}.division-visual{width:145%;max-width:none;transform:translateX(-14%)}}
@media(max-width:560px){.division-visual{width:195%;transform:translateX(-27%)}}

/* ===== V7 MOBILE OPTIMIZATION ===== */
@media (max-width: 900px) {
  .hero-visual { overflow: hidden; }

  .hero-visual img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    transform: none !important;
  }

  .division-visual-section { overflow: visible; }

  .division-visual {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    transform: none !important;
    object-fit: contain;
  }

  .hotspot-nav,
  .division-explore-hotspot {
    display: none !important;
  }

  .two,
  .division-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .section {
    padding: 54px 0 !important;
  }

  .shell,
  .narrow {
    width: min(100% - 30px, 1180px) !important;
  }

  .section h1,
  .section h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .section h1 {
    font-size: clamp(2.25rem, 8vw, 3.6rem) !important;
    line-height: 1.06 !important;
  }

  .section h2 {
    font-size: clamp(2rem, 7vw, 3.1rem) !important;
    line-height: 1.08 !important;
  }

  .section p {
    font-size: 1rem !important;
  }

  .section blockquote {
    font-size: 1.35rem !important;
    padding: 26px !important;
  }

  .email {
    font-size: clamp(1.05rem, 4.5vw, 1.5rem) !important;
  }
}

@media (max-width: 560px) {
  body { overflow-x: hidden; }

  .hero-visual img,
  .division-visual {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }

  .section {
    padding: 42px 0 !important;
  }

  .shell,
  .narrow {
    width: calc(100% - 24px) !important;
  }

  .eyebrow {
    letter-spacing: .18em !important;
    font-size: .78rem !important;
  }

  .section h1 {
    font-size: clamp(2.1rem, 11vw, 3rem) !important;
    line-height: 1.02 !important;
    margin-bottom: .35em !important;
  }

  .section h2 {
    font-size: clamp(1.9rem, 9vw, 2.6rem) !important;
    line-height: 1.05 !important;
    margin-bottom: .5em !important;
  }

  .section p {
    font-size: .98rem !important;
    line-height: 1.55 !important;
  }

  .role {
    font-size: .95rem !important;
    letter-spacing: .12em !important;
  }

  .section blockquote {
    font-size: 1.18rem !important;
    line-height: 1.45 !important;
    padding: 22px !important;
  }

  .top {
    width: 42px !important;
    height: 42px !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  .email {
    font-size: 1.08rem !important;
  }
}
