

@media (max-width: 990px) {
  
  .mo-hide { display: none !important; }

  .home-mo { display: flex; flex-direction: column; width: 100%; }

  
  .mo-section { position: relative; width: 100%; overflow: hidden; }
  .mo-kicker {           
    display: inline-block;
    border: 1px solid var(--color-main1);
    border-radius: var(--radius-circle);
    padding: var(--sp-8) var(--sp-20);
    font-size: var(--fs-16);
    font-weight: var(--fw-emph);
  }
  .mo-kicker b { color: var(--color-main1); font-weight: var(--fw-head); }
  .mo-pill {             
    display: inline-block;
    background: var(--color-main1);
    color: var(--color-text-invert);
    border-radius: var(--radius-circle);
    padding: var(--sp-10) var(--sp-24);
    font-size: var(--fs-19);
    font-weight: var(--fw-head);
  }
  .mo-pill em { font-style: normal; color: var(--color-main3); }
  .ph-media { position: relative; width: 100%; }        
  .ph-media img { width: 100%; height: auto; }
  .ph-media video { display: block; width: 100%; height: auto; object-fit: cover; }
  .ph-chip {             
    position: absolute;
    left: 0; bottom: 0;
    background: var(--color-overlay-60);
    color: var(--color-text-invert);
    font-size: var(--fs-14);
    padding: var(--sp-4) var(--sp-12);
  }

  
  .mo-hero { position: relative; text-align: center; padding: 0; }
  
  .mo-hero .hero-media { aspect-ratio: 39 / 56; overflow: hidden; }
  .mo-hero .hero-media video { width: 100%; height: 100%; object-fit: cover; object-position: center 72%; }
  
  .mo-hero .hero-overlay {
    position: absolute; inset: 0; z-index: 1;
    pointer-events: none;              
  }
  .mo-hero .hero-overlay img { display: block; width: 100%; height: 100%; object-fit: cover; }

  
  
  .mo-hero .hero-scene {
    position: absolute; right: 0; bottom: 0; z-index: 1;
    width: 100%;                      
    pointer-events: none;
  }
  .mo-hero .hero-scene img { display: block; width: 100%; height: auto; }

  
  .mo-hero .hero-badges { display: flex; gap: var(--sp-8); margin-top: var(--sp-8); }
  .mo-hero .hb {
    display: flex; flex-direction: column; align-items: center;
    background: #fff; border-radius: 6px;
    padding: var(--sp-4) var(--sp-10);
    font-size: 3.1vw; font-weight: var(--fw-head); line-height: 1.25;
    color: var(--color-text);
    box-shadow: 0 2px 8px rgba(var(--shadow-rgb), .25);
  }
  .mo-hero .hb b { color: var(--color-main1); font-weight: var(--fw-head); }
  .mo-hero .hb-red { border: 1.5px solid #c81e1e; color: #c81e1e; }
  .mo-hero .hb-red b { color: #c81e1e; }

  .mo-hero .hero-copy {
    position: absolute; left: 4vw; right: 4vw; top: 6vw;
    display: flex; flex-direction: column; align-items: center; gap: var(--sp-12);
    z-index: 1;
  }
  
  .mo-hero .hero-title { width: 100%; margin: 0; }
  .mo-hero .hero-title img { display: block; width: 100%; height: auto; }

  
  .mo-scale { background: #fff; font-size: 0; }
  .mo-scale img { display: block; width: 100%; height: auto; }
  
  .mo-imgnote { margin: 0; padding: 8px 16px 14px; background: #fff;
                font-size: 12px; line-height: 1.55; color: var(--color-gray-3); }

  
  
  .mo-ribbon { background: #fff; font-size: 0; }
  .mo-ribbon img { display: block; width: 100%; height: auto; }

  
  .mo-video { background: var(--color-main1); color: var(--color-text-invert); text-align: center; padding: 0; }
  .mo-video .mo-in { padding: var(--sp-40) var(--sp-16); }
  .mo-video .video-copy { font-size: var(--fs-20); font-weight: var(--fw-emph); margin-bottom: var(--sp-16); }
  .mo-video .video-frame { border-radius: 5px; overflow: hidden; margin: 0 var(--sp-16); }
  .mo-video .video-frame video { display: block; width: 100%; height: auto; }
  
  .mo-video .sec-frame { position: relative; aspect-ratio: 16 / 9; margin: 0 var(--sp-16);
    border-radius: 5px; overflow: hidden; background: #000; pointer-events: none; }
  .mo-video .sec-frame video { position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; display: block; }

  
  .mo-premium4 { margin-top: var(--sp-24); font-size: 0; }
  .mo-premium4 img { display: block; width: 100%; height: auto; }
  .mo-premium4 .p4-card {
    background: #fff;
    color: var(--color-text);
    border: 2px solid var(--color-main3);  
    padding: var(--sp-12) var(--sp-16);
  }
  .mo-premium4 .p4-label { font-size: var(--fs-12); color: var(--color-main2); letter-spacing: var(--ls-point); }
  .mo-premium4 .p4-copy { font-size: var(--fs-16); font-weight: var(--fw-head); margin-top: var(--sp-4); }
  .mo-premium4 .p4-copy em { font-style: normal; color: var(--color-main1); }
  
  .mo-premium4 .p4-copy small { display: block; margin-top: var(--sp-4); font-size: var(--fs-12);
    font-weight: var(--fw-regular); line-height: 1.55; color: var(--color-gray-3); }

  
  .mo-unit { background: #f2f2f2; text-align: center; padding: 0; }
  .mo-unit .mo-in { padding: var(--sp-40) var(--sp-16); }
  
  .mo-unit .u-head-img { margin: 0 0 var(--sp-24); font-size: 0; }
  .mo-unit .u-head-img img { display: block; width: 100%; height: auto; }
  .mo-unit .u-kicker-mo { letter-spacing: var(--ls-point); color: var(--color-main2); font-size: var(--fs-14); }
  .mo-unit .u-title-mo { font-size: var(--fs-31); font-weight: var(--fw-head); line-height: 1.3; margin: var(--sp-12) 0 var(--sp-24); }
  .mo-unit .u-title-mo em { font-style: normal; color: var(--color-main1); }
  
  .mo-unit .u-lb {
    margin: 0 0 var(--sp-8);
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--fs-19);
    letter-spacing: .02em;
    color: var(--color-main1);
    white-space: nowrap;
  }

  
  .mo-unit .u-cards { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-12); }
  .mo-unit .u-card .ph-media img { display: block; width: 100%; height: auto; }
  .mo-unit .u-card { background: #fff; border: 1px solid #dfe4ec; padding: var(--sp-12); }
  .mo-unit .u-card h5 { font-size: var(--fs-17); font-weight: var(--fw-emph); letter-spacing: var(--ls-point); margin-bottom: var(--sp-8); }

  
  .mo-interior { background: var(--color-main1); }
  .mo-interior .int-head { color: var(--color-text-invert); padding: var(--sp-24) var(--sp-16); }
  .mo-interior .int-head .int-sub { font-size: var(--fs-19); font-weight: var(--fw-emph); color: var(--color-main3); }
  .mo-interior .int-head h3 { font-size: var(--fs-31); font-weight: var(--fw-head); line-height: 1.3; }
  .mo-interior .int-head h3 em { font-style: normal; color: var(--color-main3); }
  .mo-interior .int-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); padding: 0 var(--sp-8) var(--sp-8); }
  .mo-interior .int-grid .wide { grid-column: 1 / -1; }

  
  .mo-value { background: #fff; text-align: center; padding: 0; }
  .mo-value .mo-in { padding: var(--sp-40) var(--sp-16); }
  .mo-value .v-title { font-size: var(--fs-25); font-weight: var(--fw-head); color: var(--color-main1); line-height: 1.35; }
  .mo-value .v-title em { font-style: normal; color: var(--color-main2); }
  .mo-value .v-band {
    background: var(--color-main1);
    color: var(--color-text-invert);
    font-size: var(--fs-17);
    font-weight: var(--fw-emph);
    padding: var(--sp-10) 0;
    margin: var(--sp-20) 0;
  }
  

  
  .mo-map { background: #eef2f8; padding: 0; text-align: center; }
  .mo-map .mo-in { padding: var(--sp-24) var(--sp-16); }
  .mo-map .map-title { font-size: var(--fs-25); font-weight: var(--fw-head); color: var(--color-main1); margin-top: var(--sp-20); }
  .mo-map .map-title em { font-style: normal; letter-spacing: var(--ls-point); }

  .mo-premium-list { background: #fff; padding: 0; }
  .mo-premium-list .mo-in { padding: var(--sp-24) var(--sp-16); display: flex; flex-direction: column; gap: var(--sp-16); }
  .mo-premium-list .pr-card { border: 1px solid #dfe4ec; padding: var(--sp-20) var(--sp-16); }
  .mo-premium-list .pr-card h4 { font-size: var(--fs-20); font-weight: var(--fw-head); margin-bottom: var(--sp-8); color: var(--color-main2); letter-spacing: .04em; }
  .mo-premium-list .pr-card p { font-size: var(--fs-16); line-height: 1.6; color: var(--color-gray-3); }

  
  

  
  .mo-interior .int-head-img { margin: 0; font-size: 0; background: var(--color-main1); }
  .mo-interior .int-head-img img { display: block; width: 100%; height: auto; }

  
  .mo-loc { background: var(--color-main1); font-size: 0; }
  .mo-loc .loc-head { padding: var(--sp-24) var(--sp-16) var(--sp-16); }
  .mo-loc .loc-head img { display: block; width: 100%; height: auto; }
  .mo-loc .loc-map { display: block; width: 100%; height: auto; }

  
  .mo-value, .mo-premium-list { font-size: 0; background: #fff; }
  .mo-value img, .mo-premium-list img { display: block; width: 100%; height: auto; }

  
  .mo-value .value-wrap { position: relative; aspect-ratio: 1100 / 799; }
  .mo-value .value-wrap img { width: 100%; height: 100%; }
  
  .mo-premium-list .mo-in { padding: 0; }

  
  .mo-amenity-cover { position: relative; background: var(--color-main1); font-size: 0; overflow: hidden; }
  .mo-amenity-cover .ac-bg { display: block; width: 100%; height: auto; opacity: .62; }
  
  .mo-amenity-cover .ac-title {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 74%; max-width: 74%; max-height: 88%;
    height: auto; display: block; object-fit: contain;
  }

  
  
  
  .mo-comm-label {
    position: relative; background: #f3f4f7; font-size: 0;
    padding: var(--sp-24) var(--sp-16); overflow: hidden;
  }
  .mo-comm-label::before {
    content: ''; position: absolute; inset: 0;
    background: url('../img/danzi_img_03.jpg') center / cover no-repeat;
    opacity: .26;
  }
  .mo-comm-label::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(243,244,247,.35) 0%, rgba(243,244,247,0) 40%, rgba(243,244,247,.35) 100%);
  }
  .mo-comm-label .cl-card { position: relative; z-index: 1; }
  .mo-comm-label img { position: relative; z-index: 1; display: block; width: 100%; height: auto; }

  
  .mo-final { position: relative; }
  .mo-final .final-card {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 76%; height: auto; display: block; z-index: 1;
    filter: drop-shadow(0 6px 24px rgba(var(--shadow-rgb), .35));
  }

  .mo-slab { background: var(--color-main1); font-size: 0; }
  .mo-slab img { display: block; width: 100%; height: auto; }

  
  
  .pull-yt { position: absolute; inset: 0; overflow: hidden; background: #000; }
  
  .pull-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .pull-yt::after {
    content: ''; position: absolute; inset: 0; z-index: 2;
    background: #000 url('../img/pull_poster.jpg') center / cover no-repeat;
    transition: opacity .35s ease; opacity: 1; pointer-events: none;
  }
  .pull-yt.is-ready::after { opacity: 0; }
  
  .pull-yt { pointer-events: none; }

  .pull-banner {
    
    touch-action: pan-y;
    user-select: none; -webkit-user-select: none;
    position: relative;
    
    isolation: isolate;
    width: 94%;
    max-width: 500px;
    height: 200px;
    margin: var(--sp-16) auto;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--shadow-card);
  }
  
  .pull-banner .pull-thumb { position: absolute; inset: 0; background: #000; }
  .pull-banner .pull-thumb .pull-loop {
    display: block; width: 100%; height: 100%; object-fit: cover;
  }
  .pull-banner .pull-text {
    position: absolute; inset: 0; z-index: 2;
    display: flex; align-items: center;
    padding: var(--sp-20);
    background: linear-gradient(90deg, transparent 40%, rgba(255,255,255,.95) 55%);
    pointer-events: none;
  }
  .pull-banner .pull-text-inner { margin-left: auto; text-align: right; max-width: 48%; }
  .pull-banner .brand-name { font-size: 17px; font-weight: 900; letter-spacing: .06em; color: #1a1a1a; }
  .pull-banner .brand-sub { font-size: 11px; color: #888; margin-top: var(--sp-4); }
  .pull-banner .pull-badge {
    position: absolute; z-index: 6; top: var(--sp-10); right: var(--sp-10);
    background: var(--color-main1);
    color: var(--color-text-invert);
    font-size: 0.7rem; font-weight: var(--fw-head);
    padding: var(--sp-10);
    border-radius: 20px;
  }
  .pull-banner .pull-arrow {
    position: absolute; z-index: 6; right: 14px; bottom: 25px;
    font-size: 20px; font-weight: 900;
    color: var(--color-main1);
  }

  
  .mo-amenity { background: var(--color-main1); padding: 0; text-align: center; }
  .mo-amenity .mo-in { padding: var(--sp-40) var(--sp-16); }
  .mo-amenity .am-display {
    font-family: var(--font-display-en);   
    font-weight: 800;
    font-size: var(--fs-31);
    letter-spacing: var(--ls-point);
    color: transparent;
    -webkit-text-stroke: 0.4px #fff;
  }
  .mo-amenity .am-sub { color: var(--color-text-invert); font-size: var(--fs-17); margin: var(--sp-8) 0 var(--sp-20); }
  .mo-amenity .am-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
  .mo-amenity .ph-media { border-radius: var(--radius-btn); overflow: hidden; aspect-ratio: 4 / 3; }
  
  .mo-amenity .ph-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
  .mo-amenity .ph-media img.pos-left { object-position: left center; }

  
  .mo-final { background: #fff; text-align: center; padding: 0; }
  .mo-final .mo-in { padding: var(--sp-40) var(--sp-16) 0; }
  .mo-final .f-kicker { font-size: var(--fs-17); font-weight: var(--fw-emph); color: var(--color-main2); }
  .mo-final .f-title { font-size: var(--fs-31); font-weight: var(--fw-head); line-height: 1.25; margin: var(--sp-12) 0; }
  .mo-final .f-title em { font-style: normal; color: var(--color-main1); }
  .mo-final .f-sub { font-size: var(--fs-16); line-height: 1.6; color: #333; margin-bottom: var(--sp-20); }
  .mo-final .f-sub b { color: var(--color-main1); }

  
  .mo-form {
    background:
      linear-gradient(rgba(var(--shadow-rgb), .85), rgba(var(--shadow-rgb), .85)),
      url(../img/contact_bg.jpg) 60% center / cover no-repeat;
    padding: 0;
  }
  .mo-form .mo-in { padding: var(--sp-24) var(--sp-16) var(--sp-40); }
  .mo-form .form-box {
    display: flex; flex-direction: column; gap: var(--sp-12);
    background: var(--glass-bg);
    border: var(--glass-border);
    border-radius: var(--glass-radius);
    padding: var(--sp-24) var(--sp-20);
    color: var(--color-text-invert);
  }
  .mo-form h3 { text-align: center; font-size: var(--fs-24); font-weight: var(--fw-head); }
  .mo-form .form-note { text-align: center; font-size: var(--fs-14); opacity: .7; }
  .mo-form label { font-size: var(--fs-16); }
  .mo-form label.required::after { content: " *"; color: rgba(255,255,255,.7); }
  .mo-form input:not([type="checkbox"]):not([type="radio"]), .mo-form textarea, .mo-form select {
    width: 100%;
    color: var(--color-text-invert);
    font-size: 14px;
    font-family: var(--font-body);
    background: var(--glass-bg);
    border: var(--glass-border);
    border-radius: var(--glass-radius);
    padding: var(--sp-8);
    outline: none;
  }
  
  .mo-form input[type="date"], .mo-form select { color-scheme: dark; }
  
  .mo-form input[type="date"], .mo-form input[type="time"], .mo-form select {
    -webkit-appearance: none; appearance: none;
    min-width: 0; max-width: 100%; box-sizing: border-box;
    display: block; text-align: left;
    
    height: 35px; line-height: 17px;
  }
  .mo-form input::placeholder, .mo-form textarea::placeholder { color: rgba(255,255,255,.3); font-weight: var(--fw-light); }
  
  .mo-form .agree-row { display: flex; align-items: center; gap: var(--sp-8); flex-wrap: wrap; }
  .mo-form .agree-row .agree { margin: 0; }
  .mo-form .agree-view {
    background: none; border: 0; padding: 2px 0;
    color: var(--color-main3); font-size: var(--fs-13);
    text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
  }
  .mo-form .agree-body {
    margin-top: var(--sp-8); font-size: var(--fs-12); color: rgba(255,255,255,.75);
    background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.16);
    border-radius: 4px; padding: var(--sp-12); line-height: 1.7; text-align: left;
  }
  .mo-form .agree-body dl { margin: 0; display: grid; grid-template-columns: 76px 1fr; gap: 4px var(--sp-8); }
  .mo-form .agree-body dt { font-weight: var(--fw-head); color: rgba(255,255,255,.92); }
  .mo-form .agree-body dd { margin: 0; }
  .mo-form .agree-body p { margin: var(--sp-8) 0 0; color: rgba(255,255,255,.6); }

  .mo-form .agree input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--color-main3); }
  .mo-form .agree { display: flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,.9); }
  
  
  .mo-form button.btn-img {
    background: none; border: 0; padding: 0; width: 100%;
    height: auto; display: block; margin-top: var(--sp-8);
    filter: drop-shadow(0 4px 12px rgba(var(--shadow-rgb), .4));
  }
  .mo-form button.btn-img img { display: block; width: 100%; height: auto; }
  .mo-form button.btn-img:disabled { opacity: .5; }

  .mo-form .form-status { font-size: var(--fs-14); line-height: 1.6; text-align: center; color: rgba(255,255,255,.85); }
  .mo-form .form-status:empty { display: none; }
  .mo-form .form-status.is-ok { color: #fff; font-weight: var(--fw-head); }
  .mo-form .form-status.is-warn { color: #ffb4ab; font-weight: var(--fw-btn); }
  .mo-form button[type="submit"]:disabled { opacity: .5; cursor: default; }
  
  .mo-form button[type="submit"]:not(.btn-img) {
    width: 100%;
    height: 64px;                          
    background: #fff;
    color: #000;
    font-size: var(--fs-19);
    font-weight: var(--fw-emph);
    border-radius: var(--radius-btn);
    display: flex; align-items: center; justify-content: center;
  }

  
  .mo-quick { position: fixed; left: 0; bottom: 0; width: 100%; z-index: 2; pointer-events: none; }
  .mo-quick .q-btns {
    position: absolute; left: var(--sp-8); bottom: 21vw;
    display: flex; flex-direction: column; gap: 5px;
    pointer-events: auto; z-index: 2;
  }
  
  .mo-quick .q-btns a, .mo-quick .q-btns button {
    display: block; width: 20vw; max-width: 86px; padding: 0; border: 0; background: none;
    filter: drop-shadow(0 3px 8px rgba(var(--shadow-rgb), .35));
  }
  .mo-quick .q-btns img { display: block; width: 100%; height: auto; }

  
  
  .mo-quick .q-scene {
    position: absolute; right: var(--sp-8); bottom: 19vw;
    width: 33vw; max-width: 150px;
    pointer-events: none;
    z-index: 0;              
  }
  .mo-quick .q-scene .q-tram { display: block; width: 100%; height: auto; }
  
  
  .mo-quick .q-scene .q-bubble {
    position: absolute; left: -18%; top: -52%;
    width: 114%; max-width: none;   
    height: auto; display: block;
    filter: drop-shadow(0 2px 6px rgba(var(--shadow-rgb), .3));
  }
  
  .mo-quick .q-scene .q-ribbon {
    position: absolute; left: -105%; bottom: 2vw;
    width: 52%; height: auto; display: block;
    filter: drop-shadow(0 2px 6px rgba(var(--shadow-rgb), .3));
  }

  
  .mo-quick .q-banner {
    position: relative; z-index: 1; display: block; font-size: 0;
    pointer-events: auto;
    border-top: 2px solid var(--color-main3);
  }
  .mo-quick .q-banner img { display: block; width: 100%; height: auto; }

  
  .site-footer { background: #f2f2f2; color: #333; padding-bottom: 30vw; }
  .site-footer p, .site-footer table { color: #333; }
  .site-footer .ft-logo { color: var(--color-main2); }
  .site-footer .ft-side { display: flex; justify-content: space-between; align-items: center; }
  #scrollTopBtn {
    display: flex; align-items: center; justify-content: center;
    width: 10vw; height: 10vw;
    background: var(--color-main1);
    color: var(--color-text-invert);
    border-radius: var(--radius-circle);
    font-size: var(--fs-19);
  }

  
  .mega {
    display: block;
    position: absolute;
    top: 100%; left: 0;
    width: 100%; height: 100vh;
    background: #383a38;
    transform: translateX(-100%);
    overflow-y: auto;
    scrollbar-width: none;
    padding: 3vw 3vw 80vw;
    z-index: 1;
  }
  .site-header.open .mega { transform: translateX(0); }
  .mega-inner { display: block; }
  .mega-col { border-bottom: 1px solid #555; }
  .mega-col h4 { display: block; }
  .mega-col h4, .mega-col ul li a { position: relative; display: block; padding: 4vw 8vw; color: var(--color-gray-2); font-size: 4vw; }
  .mega-col h4:hover, .mega-col ul li a:hover { background: rgba(0, 0, 0, .1); }   
  
  .mega-col h4::after {
    content: '';
    position: absolute; right: 6vw; top: 5vw;
    width: 1.8vw; height: 1.8vw;
    border-top: 0.6vw solid var(--color-gray-2);
    border-right: 0.6vw solid var(--color-gray-2);
    transform: rotate(135deg);
    transition: 0.3s;
  }
  .mega-col.mo-open h4::after { transform: rotate(-45deg); }
  .mega-col ul { background: rgba(0,0,0,.2); display: none; }   
  .mega-col.mo-open ul { display: block; }
  .mega .mo-gnb { margin-top: 60px; }
  .mega .mo-gnb li a, .mega .mo-gnb li button { display: block; width: 100%; text-align: center; color: #fff; font-size: 4.5vw; font-weight: var(--fw-emph); padding: 4vw 0; }
  .mega .mo-gnb .m-number { background: #4b5055; }
  .mega .mo-gnb .m-registration { background: var(--color-main1); }
  .mega .mo-gnb .m-close { background: #222; margin-top: var(--sp-10); border-radius: var(--sp-10); }
  .header-dim { display: none; }

  
  .site-header.open .menu-btn span:nth-child(1) { transform: rotate(45deg); transform-origin: top left; }
  .site-header.open .menu-btn span:nth-child(2) { opacity: 0; }
  .site-header.open .menu-btn span:nth-child(3) { transform: rotate(-45deg); transform-origin: bottom left; }
}
