
/* 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}
}


/* JJ SERVER7 MOBILE FIXED HEADER — approved master rule */
@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}
}
/* Two supplied project views: preserve MASTER carousel behavior while filling the row. */
.osan-carousel.three-up .osan-unit-slide{flex-basis:calc((100% - 22px)/2)!important}
@media(max-width:900px){.osan-carousel.three-up .osan-unit-slide{flex-basis:100%!important}}


/* HERNITY REV1 — hero positioning/contrast only; MASTER structure preserved */
@media(min-width:901px){
  .lapore-hero-1.lapore-live-copy .lapore-banner-copy{
    top:17.5%!important;
    left:7.2%!important;
    text-align:left!important;
  }
  .lapore-banner-copy-2{
    left:5.4%!important;
    top:13.5%!important;
    width:min(760px,46vw)!important;
    padding:34px 38px 36px!important;
    border-radius:8px!important;
    background:rgba(248,250,253,.88)!important;
    box-shadow:0 18px 45px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
    color:#08274a!important;
  }
  .lapore2-kicker{color:#0b315b!important}
  .lapore-banner-copy-2 h1 span{color:#0b315b!important}
  .lapore-banner-copy-2 h1 b{color:#9b745f!important}
  .lapore2-sub{color:#0a315d!important;line-height:1.35!important}
}
@media(max-width:900px){
  .lapore-banner-copy-2{
    background:rgba(250,252,255,.88)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.16)!important;
    color:#08274a!important;
  }
  .lapore2-kicker,.lapore-banner-copy-2 h1 span,.lapore2-sub{color:#0b315b!important}
  .lapore-banner-copy-2 h1 b{color:#9b745f!important}
}


/* HERNITY REV2 — centered slide 2 copy, no panel */
.lapore-hero-2.lapore-live-copy-2:after{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
  background:rgba(0,18,42,.18)!important;
}
.lapore-hero-2.lapore-live-copy-2>img{object-position:center center!important}
.lapore-hero-2 .lapore-banner-copy-2{
  position:absolute!important;z-index:4!important;left:50%!important;right:auto!important;top:50%!important;
  transform:translate(-50%,-50%)!important;width:min(1100px,90vw)!important;
  text-align:center!important;padding:0!important;background:transparent!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;color:#fff!important;
  text-shadow:0 2px 16px rgba(0,0,0,.55)!important;
}
.lapore-hero-2 .lapore2-kicker{color:#fff!important;font-weight:700!important;letter-spacing:.08em!important}
.lapore-hero-2 .lapore-banner-copy-2 h1{margin:12px 0 18px!important;line-height:1.06!important}
.lapore-hero-2 .lapore-banner-copy-2 h1 span,
.lapore-hero-2 .lapore-banner-copy-2 h1 b{
  color:#fff!important;display:block!important;white-space:normal!important;text-shadow:0 3px 20px rgba(0,0,0,.60)!important;
}
.lapore-hero-2 .lapore-banner-copy-2 h1 span{font-size:clamp(46px,4.8vw,90px)!important;font-weight:800!important}
.lapore-hero-2 .lapore-banner-copy-2 h1 b{font-size:clamp(44px,4.6vw,86px)!important;font-weight:800!important}
.lapore-hero-2 .lapore2-sub{
  color:#fff!important;font-size:clamp(22px,1.8vw,34px)!important;font-weight:700!important;
  line-height:1.35!important;text-shadow:0 2px 14px rgba(0,0,0,.60)!important;
}
@media(max-width:900px){
  .lapore-hero-2 .lapore-banner-copy-2{left:50%!important;right:auto!important;top:48%!important;width:90vw!important;transform:translate(-50%,-50%)!important;padding:0!important;background:transparent!important}
  .lapore-hero-2 .lapore2-kicker{font-size:14px!important}
  .lapore-hero-2 .lapore-banner-copy-2 h1 span{font-size:clamp(34px,10vw,52px)!important}
  .lapore-hero-2 .lapore-banner-copy-2 h1 b{font-size:clamp(32px,9.5vw,48px)!important}
  .lapore-hero-2 .lapore2-sub{font-size:clamp(17px,4.8vw,23px)!important;line-height:1.4!important}
}
