
/* JJ V1 multi-page extension: keeps MASTER components, only page routing/layout additions */
.subpage-spacer{height:92px}.subpage-main{min-height:55vh}
.community-visual{display:block!important;margin:28px auto 0!important;max-width:1200px!important}.community-visual img{width:100%;height:auto;object-fit:contain}
.lapore-floor-tabs{justify-content:center!important}
.lapore-hero-1 .iv-copy{left:7%!important;right:auto!important;text-align:left!important;top:19%!important;transform:none!important;max-width:720px}
.lapore-hero-1 .iv-copy h1{font-size:clamp(36px,4.2vw,72px);line-height:1.1}
.lapore-hero-2 .iv-copy{left:auto!important;right:8%!important;top:42%!important;text-align:right!important;transform:none!important}
.lapore-hero-2 .iv-copy h1{font-size:clamp(38px,4.5vw,76px)}
/* 3-up unit carousel, one-card movement */
.osan-carousel.three-up{height:auto;min-height:420px;overflow:hidden;padding:0 70px 58px}
.osan-carousel.three-up .osan-carousel-track{position:relative;inset:auto;display:flex;gap:22px;transition:transform .5s ease}
.osan-carousel.three-up .osan-unit-slide{position:relative;inset:auto;opacity:1;flex:0 0 calc((100% - 44px)/3);height:390px;cursor:zoom-in}
.osan-carousel.three-up .osan-unit-slide img{width:100%;height:100%;object-fit:contain;background:#fff}
.unit-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:99999;display:none;align-items:center;justify-content:center;padding:4vw}
.unit-lightbox.open{display:flex}.unit-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.unit-lightbox button{position:absolute;right:25px;top:20px;border:0;background:transparent;color:#fff;font-size:44px;cursor:pointer}
.standalone-project{padding-top:60px}
@media(max-width:768px){.subpage-spacer{height:72px}.lapore-floor-tabs{justify-content:center}.lapore-hero-1 .iv-copy{left:7%!important;top:18%!important;right:7%!important}.lapore-hero-2 .iv-copy{right:7%!important;left:7%!important;top:38%!important}.osan-carousel.three-up{padding:0 44px 55px;min-height:390px}.osan-carousel.three-up .osan-unit-slide{flex-basis:100%;height:340px}.community-visual{max-width:94%!important}}

/* LAPORE revision 2 */
/* The supplied first hero already contains its full promotional typography; do not duplicate it. */
.lapore-copy-ref1{display:none!important}
/* Slide 2 reference typography: left-side editorial composition matching supplied visual. */
.lapore-copy-ref2{left:4.4%!important;right:auto!important;top:14%!important;transform:none!important;text-align:left!important;width:min(650px,44vw)!important;color:#132c45!important;text-shadow:none!important}
.lapore-copy-ref2>p:first-child{margin:0 0 22px!important;font-size:clamp(22px,2vw,36px)!important;line-height:1.35!important;font-weight:500!important}
.lapore-copy-ref2 h1{margin:0!important;font-family:Georgia,"Noto Serif KR",serif!important;font-size:clamp(52px,5.2vw,88px)!important;line-height:1.08!important;letter-spacing:-.055em!important;font-weight:500!important;color:#17324a!important}
.lapore-copy-ref2 h1 em{font-style:normal;color:#8c7768!important}
.lapore-copy-ref2>p:nth-of-type(2){margin:30px 0 0!important;font-size:clamp(18px,1.55vw,27px)!important;color:#29455e!important}
.lapore-copy-ref2 strong{display:block;margin-top:48px;font-size:clamp(22px,1.9vw,32px);font-weight:600;letter-spacing:-.03em}
/* Keep important baked-in hero text/phone within viewport by showing the full artwork. */
.lapore-hero-1 img{object-fit:contain!important;object-position:center center!important;background:#e9f2f8}
.lapore-hero-2 img{object-position:center center!important}
/* Floor controls directly under heading and centered. */
.final-floor-section .lapore-floor-tabs{width:min(900px,92vw)!important;grid-template-columns:repeat(5,1fr)!important;margin:8px auto 48px!important;padding:0!important}
/* Larger unit photography: fill the card rather than leaving large white letterbox areas. */
.osan-carousel.three-up{max-width:1450px!important;padding:0 62px 58px!important}
.osan-carousel.three-up .osan-unit-slide{height:500px!important;background:#fff;overflow:hidden}
.osan-carousel.three-up .osan-unit-slide img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;background:#fff!important}
.standalone-content{padding-top:65px}
/* Additional subpage entrance motion */
.project-motion .osan-project-image,.project-motion .osan-project-info,.final-floor-tabs{will-change:transform,opacity}
@media(max-width:900px){
 .lapore-hero-1 img{object-fit:contain!important;object-position:center center!important}
 .lapore-copy-ref2{left:7%!important;right:7%!important;top:12%!important;width:auto!important}
 .lapore-copy-ref2>p:first-child{font-size:clamp(16px,4.8vw,23px)!important;margin-bottom:14px!important}
 .lapore-copy-ref2 h1{font-size:clamp(35px,10vw,50px)!important;line-height:1.1!important}
 .lapore-copy-ref2>p:nth-of-type(2){font-size:clamp(14px,4vw,18px)!important;margin-top:18px!important;max-width:82%!important;margin-left:0!important}
 .lapore-copy-ref2 strong{font-size:clamp(17px,4.8vw,23px);margin-top:28px}
 .final-floor-section .lapore-floor-tabs{grid-template-columns:repeat(5,1fr)!important;width:94vw!important;gap:5px!important;margin:4px auto 28px!important}
 .osan-carousel.three-up{padding:0 38px 55px!important;min-height:440px!important}
 .osan-carousel.three-up .osan-unit-slide{height:400px!important}
}
/* revision 2 */
.lapore-copy-ref1{left:8%;right:auto;top:14%;width:min(46vw,720px);text-align:left;color:#09254a;text-shadow:none}
.lapore-copy-ref1 p{font-size:clamp(16px,1.25vw,24px);letter-spacing:.28em;line-height:1.8;margin:0 0 24px;font-weight:600}
.lapore-copy-ref1 h1{font-size:clamp(34px,3.5vw,68px);line-height:1.08;margin:0 0 20px;font-weight:800;color:#09254a}
.lapore-copy-ref1 h1 span{color:#b69252}
.lapore-copy-ref1 strong{font-size:clamp(22px,2vw,38px);letter-spacing:.03em;color:#09254a}
.standalone-content .layout-only{display:block;margin:36px auto 0!important;max-width:min(1180px,92vw)!important;width:100%!important}
.standalone-content .layout-only img{display:block;margin:0 auto;max-width:100%;height:auto}
@media(max-width:768px){.lapore-copy-ref1{left:7%;top:11%;width:86%;}.lapore-copy-ref1 p{font-size:12px;letter-spacing:.16em;margin-bottom:12px}.lapore-copy-ref1 h1{font-size:clamp(25px,8vw,38px)}.lapore-copy-ref1 strong{font-size:18px}.lapore-copy-ref2 h1{font-size:clamp(30px,9vw,44px)}}
.lapore-copy-ref1{display:block!important}

/* SERVER7 MASTER: complex page layout + dongho only */
.standalone-content{padding-bottom:32px!important}
.standalone-content .layout-only{max-width:min(1180px,92vw)!important}
.standalone-content .layout-only img{width:100%!important;max-width:none!important;height:auto!important}
.osan-gallery-head{margin:36px 0 18px!important}
.osan-gallery-head + .visual{display:block!important;width:min(1180px,92vw)!important;max-width:min(1180px,92vw)!important;margin:0 auto 64px!important;background:transparent!important;border:0!important;padding:0!important}
.osan-gallery-head + .visual img{display:block!important;width:100%!important;max-width:none!important;height:auto!important;margin:0 auto!important}
@media(max-width:900px){.standalone-content{padding-bottom:20px!important}.osan-gallery-head{margin:28px 0 16px!important}.osan-gallery-head + .visual{width:94vw!important;max-width:94vw!important;margin:0 auto 52px!important}}


/* THEEST REV1 — requested hero line breaks; MASTER structure unchanged */
.lapore2-sub>span{display:block}
@media(min-width:769px){
  .theest-h1-line1,.theest-h1-line2{display:inline}
}
@media(max-width:768px){
  .theest-h1-line1,.theest-h1-line2,.lapore-hero-1 .lapore-banner-copy h1>b{display:block}
}

/* MOBILE FIXED HEADER */
@media(max-width:900px){
  body{
    padding-top:82px!important;
  }

  .header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:82px!important;
    z-index:9999!important;
    background:#fff!important;
    border-bottom:1px solid #eee!important;
    box-shadow:0 3px 12px rgba(0,0,0,.08)!important;
  }

  .brand{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    max-width:calc(100vw - 90px)!important;
  }

  .brand img{
    display:block!important;
    max-height:48px!important;
    width:auto!important;
    max-width:100%!important;
  }

  .menu{
    display:block!important;
    margin-left:auto!important;
    position:relative!important;
    z-index:10001!important;
  }

  .nav{
    position:fixed!important;
    top:82px!important;
    left:0!important;
    right:0!important;
    z-index:10000!important;
    background:#fff!important;
    padding:18px 22px!important;
    box-shadow:0 8px 18px rgba(0,0,0,.12)!important;
  }

  .nav.open{
    display:grid!important;
    gap:14px!important;
  }

  .subpage-spacer{
    display:none!important;
  }
}
