/* jade 版式 · 页面样式（OKO 2026-10-18 重写，替换原来从 WordPress 成品整块搬来的 site.css）
 * 不含任何商业主题 / WordPress 插件的样式。结构：
 *   0. 字体（Manrope、Fraunces 斜体可变字重；Google Fonts 官方文件自托管，SIL OFL 1.1）与两段描线动画
 *   1–6. 页面骨架：元素归零、链接按钮、外框 / 段 / 行 / 列、图片框、顶栏、文字
 *   7. 版式设计：首屏、loader、双图、分类段、门洞、卡片、画廊、浮动菜单、页脚（底稿设计的尺寸与动效起点，类名已换成本版式自己的）
 *   8. 各段对齐
 * 改动后用 5 个宽度逐元素比对过计算样式与截图（见 README「jade 自有代码」）。
 */

/* ── 0. 字体与描线动画 ── */
@font-face{font-family:Manrope;font-style:normal;font-weight:200;font-display:swap;src:url(../fonts/manrope-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/manrope-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/fraunces-italic-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@keyframes line1 { from { width: 0%; } to { width: 100%; } }
@keyframes line2 { from { height: 0%; } to { height: 100%; } }

/* ── 1. 元素归零 ── */
a, address, aside, audio, body, caption, center, code, div, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, html, i, iframe, img, label, legend, li, menu, nav, object, p, s, section, span, table, tbody, time, tr, tt, ul, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
aside, figcaption, figure, footer, header, menu, nav, section { display: block; }
html { height: 100%; overflow-x: hidden; }
body { line-height: 1; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; }
html body { position: relative; overflow-x: visible; }
body { min-width: 0; }
@media screen and (min-width: 1240px) { body { min-width: 960px; } }
@media screen and (max-width: 767px) { html body { overflow-x: hidden; } }
*, :after, :before { box-sizing: inherit; -webkit-font-smoothing: antialiased; }
img:not([src$=".svg"]) { max-width: 100%; height: auto; }
.content_wrapper img { max-width: 100%; height: auto; }
ul { list-style: none; }
dl { margin: 0 0 30px; }
dl > dt { border-width: 1px 0 0; border-style: solid; padding: 8px 0; margin: 0; }
dt { font-weight: 700; }
em, i { font-style: italic; }
p { margin: 0 0 15px; }
h1, h2, h3, h4, h5, h6 { margin-bottom: 15px; }
code { font-family: Consolas, monospace !important; border: 1px solid #e8e8e8; background: #fff; border-radius: 3px; padding: 2px 4px; white-space: nowrap; margin: 0 2px; color: #2991d6; }
table { width: 100%; box-sizing: border-box; margin-bottom: 15px; border-collapse: collapse; border-spacing: 0; border-radius: 5px; }
::selection { background-color: #0089f7; color: #fff; }

/* ── 2. 链接与按钮 ── */
a, a:focus, a:visited { text-decoration: none; outline: 0; }
a:hover { text-decoration: underline; }
p a, p a:visited { line-height: inherit; }
@media screen and (max-width: 1239px) { a[href^=tel] { color: inherit; text-decoration: none; } }
button::-moz-focus-inner { border: 0; padding: 0; }
.button, button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; position: relative; box-sizing: border-box;
  font-family: inherit; font-size: 14px; font-weight: 400; font-style: inherit; letter-spacing: 0px; line-height: 1.2;
  padding: 10px 20px; border-width: 0; border-style: solid; border-radius: 3px; outline: unset; text-decoration: none; cursor: pointer; overflow: hidden;
  transition: color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out;
  background-color: #dbdddf; border-color: transparent; color: #78694e; box-shadow: unset;
}
.button:hover, button:hover { text-decoration: none; background-color: #d3d3d3; border-color: transparent; color: #78694e; }
.button:disabled, button:disabled { cursor: not-allowed; opacity: .3; }

/* ── 3. 页面骨架：外框 / 段 / 行 / 列 ── */
#Wrapper { position: relative; max-width: 100% !important; width: 100% !important; margin: 0 !important; box-shadow: 0 0 0 transparent; }
#Content { width: 100%; padding: 0 !important; z-index: 0; position: relative; background-color: #fcfcfc; }
#Wrapper { background: 0 0; }
#body_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 120%; background: rgba(0, 0, 0, .6); z-index: 9002; display: none; }
#Footer { background-position: top; background-repeat: no-repeat; position: relative; background-color: #211c14; }

.section { position: relative; box-sizing: border-box; background-position: 0 0; background-repeat: no-repeat; }
.section_wrapper { max-width: 1220px; height: 100%; margin: 0 auto; position: relative; display: flex; align-items: flex-start; flex-wrap: wrap; }
.section_wrapper:after { clear: both; content: " "; display: block; height: 0; visibility: hidden; width: 100%; }
.wrap { float: left; position: relative; z-index: 1; box-sizing: border-box; background-position: 0 0; background-repeat: no-repeat; display: flex; align-items: flex-start; }
.wrap-inner { display: flex; align-items: flex-start; align-content: flex-start; flex-wrap: wrap; position: relative; width: 100%; align-self: stretch; }
.column { float: left; margin: 0; position: relative; background-position: 0 0; background-repeat: no-repeat; }
.wrap.one, .column.one { width: 100%; }
.column.one-second { width: 50%; }
.col-inner { position: relative; margin: 0 12px 40px 12px; }
.section .column .col-inner { margin-left: 0; margin-right: 0; }
.section .section_wrapper .column .col-inner { margin-bottom: 0; }
.column_column { display: flex; }
.column_column > .col-inner { width: 100%; word-break: break-word; }
.column_image { line-height: 0; }
@media screen and (min-width: 960px) and (max-width: 1239px) { .section_wrapper { max-width: 940px; } }
@media screen and (max-width: 959px) { .section { background-attachment: scroll !important; } }
@media screen and (min-width: 768px) and (max-width: 959px) { .section_wrapper { max-width: 708px; } }
@media screen and (min-width: 768px) { #Content .section > .section_wrapper { max-width: 100% !important; } }
@media screen and (max-width: 767px) {
  .section_wrapper .column, .section_wrapper .wrap { margin: 0; width: 100%; clear: both; }
  .sections_group { margin: 0; width: 100% !important; clear: both; }
}

/* ── 4. 图片框 ── */
.image_frame { display: inline-block; overflow: hidden; margin: 0; border-style: solid; border-width: 0; border-color: #f8f8f8; max-width: 100%; line-height: 0; box-sizing: border-box; }
.column_column .image_frame { vertical-align: top; }
.image_frame .image_wrapper { box-sizing: border-box; position: relative; overflow: hidden; border-color: #e2e2e2; }
.image_frame .image_wrapper img { position: relative; top: 0; transform: scale(1); transition: all .3s ease-in-out; }
@media screen and (max-width: 767px) { .image_frame { margin-top: 0 !important; } }

/* ── 5. 顶栏（三段：小字 + 菜单 + 字母标志；空段；浮动菜单的来源） ── */
.site-header { width: 100%; position: relative; z-index: 3; }
.site-header .header-wrap { width: auto; max-width: 100%; flex-grow: 1; }
.site-header .header-section > .section_wrapper { align-items: center; flex-wrap: nowrap; }
.site-header .header-section > .section_wrapper:after { content: unset; }
.site-header .header-wrap > .wrap-inner { flex-wrap: nowrap; align-items: center; }
.site-header .top-header-section .header-wrap > .wrap-inner { flex-wrap: wrap; }
.site-header .header-builder > .section > .section_wrapper > .wrap:hover { z-index: 2; }
.site-header .column_attr:before, .site-header .column_attr:after { overflow: hidden; }
.site-header .column_attr:after { clear: both; }
.inline-item.column { width: auto !important; flex: 0 0 auto !important; max-width: 100%; }
.column_header_logo .logo-wrapper { display: flex; align-items: center; width: 100%; height: 100%; line-height: 0; }
.column_header_logo .logo-wrapper > * { width: 100%; height: auto; }
.header-menu { display: flex; align-items: stretch; flex-wrap: wrap; font-size: 15px; line-height: 1.5; font-weight: 500; margin: 0; padding: 0; list-style: none; }
.section .wrap .menu-end .header-menu { justify-content: flex-end; }
.header-menu .menu-li { position: relative; }
.header-menu > .menu-li { display: inline-flex; margin: 0; z-index: 1; }
.header-menu > .menu-li:hover { z-index: 2; }
.header-menu .menu-li .menu-link { display: flex; text-decoration: none; }
.header-menu > .menu-li > .menu-link { position: relative; align-items: center; justify-content: center; padding: 8px 20px; width: 100%; box-sizing: border-box; z-index: 4; }
.header-menu > .menu-li > .menu-link > .label-wrapper > .menu-label { white-space: nowrap; }
.header-menu .menu-link .label-wrapper { position: relative; display: flex; flex-direction: column; }
.header-menu .menu-li > .menu-link { color: #73748c; }
.header-menu .menu-li:hover > .menu-link { color: #2a2b39; }
@media screen and (max-width: 767px) { .site-header .section_wrapper { padding-left: 0 !important; padding-right: 0 !important; } }

/* ── 6. 文字（细节字号由下一节的版式规则给出） ── */
body { font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 15px; line-height: 28px; font-weight: 600; letter-spacing: 0; color: #78694e; }
h1, h2, h3, h4 { font-family: Fraunces, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
h5, h6 { font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
h1 { font-size: 50px; line-height: 60px; font-weight: 100; letter-spacing: 0; }
h2 { font-size: 40px; line-height: 50px; font-weight: 100; letter-spacing: 0; }
h3 { font-size: 30px; line-height: 40px; font-weight: 100; letter-spacing: 0; }
h4 { font-size: 20px; line-height: 30px; font-weight: 100; letter-spacing: 0; }
h5 { font-size: 18px; line-height: 30px; font-weight: 600; letter-spacing: 0; }
h6 { font-size: 15px; line-height: 26px; font-weight: 600; letter-spacing: 0; }
a, h1, h2, h3, h4, h5, h6 { color: #78694e; }
a:hover { color: #78694e; }

/* ── 7. 版式设计 ── */
:root { --header:6.25vw;--cream:#c5beb1;--cream2:#dad5ca;--brown:#78694e;--green:#73634a;--darkgreen:#211c14;--top:8.333vw;--left:1.868vw;--left2:2.792vw;--fraunces:"Fraunces",serif!important;--manrope:"Manrope",sans-serif!important }
* { box-sizing:border-box }
html { box-sizing:border-box;background-color:transparent }
html.lenis { height:auto }
.lenis.lenis-smooth { scroll-behavior:auto }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior:contain }
.lenis.lenis-stopped { overflow:hidden }
.lenis.lenis-scrolling iframe { pointer-events:none }
.preloader { position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;z-index:1000;background:rgba(0,0,0,.38);display:none }
.home .preloader { display:flex }
.preloader-box { flex-shrink:0;width:70.313vw;height:100%;background-color:var(--green);border-radius:15vw }
.preloader-text { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--cream);text-align:center;width:23.229vw }
.percentage { margin-top:3vw }
body { font-size:.938vw;line-height:1.33;font-style:normal;font-weight:400;font-family:var(--manrope) }
.h1, h1 { font-size:11.458vw;line-height:1;font-style:italic;font-weight:100;text-transform:uppercase;font-family:var(--fraunces);margin-bottom:0 }
.h2, h2 { font-size:6.25vw;line-height:.9;font-style:italic;font-weight:100;text-transform:uppercase;font-family:var(--fraunces);margin-bottom:1.5vw }
.h3, h3 { font-size:5.208vw;line-height:1;font-style:italic;font-weight:100;font-family:var(--fraunces);text-transform:none;margin-bottom:2vw }
h4 { font-size:3.646vw;line-height:1;font-style:italic;font-weight:100;font-family:var(--fraunces);margin-bottom:1vw }
.h5, h5 { font-size:2.604vw;line-height:1;font-style:italic;font-weight:100;font-family:var(--fraunces);margin-bottom:1vw }
h6 { font-size:1.25vw;line-height:1;font-weight:300;font-family:var(--manrope);letter-spacing:-.037vw;margin-bottom:0 }
p { margin:0 0 2vw }
img { object-fit:contain }
svg { display:block;width:100% }
video { display:block;width:100%;object-fit:cover }
header#site-header { position:absolute;top:0;left:0;color:var(--cream);line-height:1;font-weight:600;padding:1.668vw var(--left) }
header#site-header .section_wrapper { max-width:100% }
header#site-header .col-inner { margin:0 }
header#site-header .wrap-inner { justify-content:space-between }
.site-header .column_column, .site-header .column_header_menu { flex:unset!important;width:46%!important }
.site-header .column_attr:before, .site-header .column_header_menu:before { content:"";display:block;position:absolute;top:0;left:0;height:1px;width:0;background-color:rgba(255,255,255,.5);visibility:visible }
.site-header .column_attr:after, .site-header .column_header_menu:after { content:"";display:block;position:absolute;bottom:0;left:0;height:.01em;width:0;background-color:var(--cream);visibility:visible }
.site-header .column_attr span { height:100%;display:inline-flex;align-items:center;padding-right:1.17vw;position:relative }
.site-header .column_attr span:after { content:"";display:block;position:absolute;top:0;right:0;width:.01em;height:0;background-color:var(--cream) }
body:not(.home) .site-header .column_attr:after, body:not(.home) .site-header .column_attr:before { animation:1s forwards line1;animation-delay:0s }
body:not(.home) .site-header .column_header_menu:after, body:not(.home) .site-header .column_header_menu:before { animation:1s forwards line1;animation-delay:.8s }
body:not(.home) .site-header .column_attr span:after { animation:1s forwards line2;animation-delay:.5s }
body:not(.home) .top-header-section .header-menu .menu-li>.menu-link:before { animation:1s forwards line2;animation-delay:1.5s }
.home .site-header .column_attr:after, .home .site-header .column_attr:before { animation:1s forwards line1;animation-delay:3.5s }
.home .site-header .column_header_menu:after, .home .site-header .column_header_menu:before { animation:1s forwards line1;animation-delay:4s }
.home .site-header .column_attr span:after { animation:1s forwards line2;animation-delay:4.5s }
.home .top-header-section .header-menu .menu-li>.menu-link:before { animation:1s forwards line2;animation-delay:4.5s }
.top-header-section .header-menu { font:inherit }
.site-header .column_attr, .top-header-section .header-menu .menu-li>.menu-link { height:2.589vw;display:inline-flex;align-items:center }
.top-header-section .header-menu .menu-li>.menu-link { line-height:1;text-transform:uppercase;padding:0 1.344vw;transition:.2s;overflow:hidden }
.top-header-section .header-menu .menu-link * { position:relative;z-index:2 }
.top-header-section .header-menu .menu-li:last-child>.menu-link { padding-right:0 }
.top-header-section .header-menu .menu-li>.menu-link:before { content:"";display:block;position:absolute;top:0;left:0;width:.01em;height:0;background-color:var(--cream) }
.top-header-section .header-menu .menu-li>.menu-link:after { content:"";position:absolute;top:100%;left:0;width:100%;height:100%;background:#c5beb1;z-index:1;transition:.2s }
.top-header-section .header-menu .menu-li>.menu-link:hover:after { top:0 }
.top-header-section .header-menu .menu-link .label-wrapper { display:flex;flex-direction:row!important;align-items:center }
.top-header-section .header-menu .menu-link .label-wrapper:before { content:"";display:block;width:.365vw;height:.365vw;border-radius:50%;background-color:var(--cream);margin-right:1vw;transition:.2s }
.top-header-section .header-menu .menu-li>.menu-link:hover { color:var(--brown)!important }
.top-header-section .header-menu .menu-li>.menu-link:hover .label-wrapper:before { background-color:var(--brown) }
.column_header_logo { position:absolute;top:0;left:48.3%;transform:translateX(-50%) }
.floating-menu { position:fixed;top:50%;right:var(--left);transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:.688vw }
.menu { width:2.266vw;height:6.432vw;display:flex;flex-direction:column;align-items:center;background-color:var(--cream);border-radius:1.719vw;padding:1.1vw 0;font-weight:700;box-shadow:0 0 5px 5px rgba(0,0,0,.02);cursor:pointer;transition:.2s }
.menu>div { transform:rotate(-90deg);transform-origin:100% 0%;position:relative;left:-1.9vw }
.menu img { height:.951vw;margin-bottom:.521vw;transition:.2s }
.audio { width:2.266vw;height:2.266vw;background-color:var(--cream);border-radius:50%;position:relative;box-shadow:0 0 5px 5px rgba(0,0,0,.02);cursor:pointer;transition:.2s }
.audio img { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1vw;transition:.2s }
img.audio-on { display:none }
.floating-menu.active .audio, .floating-menu.active .menu { color:var(--cream);background-color:var(--brown) }
.floating-menu.active img { filter:brightness(1000%) }
ul#menu-main-menu { position:fixed;top:50%;right:1vw;transform:translateY(-50%);width:14.896vw;background-color:var(--cream);z-index:9;border-radius:1.719vw;display:flex;flex-direction:column;padding:2vw 0;box-shadow:0 0 5px 5px rgba(0,0,0,.01);transform:translateY(-50%) scale(.35);transform-origin:right;opacity:0;visibility:hidden;transition:.2s }
ul#menu-main-menu.active { opacity:1;visibility:visible;transform:translateY(-50%) scale(1) }
ul#menu-main-menu .menu-li { display:block }
ul#menu-main-menu .menu-li>.menu-link { display:block;padding:.2vw 2vw;width:100%;color:#78694e;opacity:.5;font-size:1.25vw;transition:.2s }
ul#menu-main-menu .menu-li>.menu-link:hover { color:#78694e;opacity:1 }
.image_frame * { width:100%;height:100%!important }
.clearfix:after, .clearfix:before { display:none }
.button, button { color:var(--cream)!important;font-size:.938vw!important;background-color:transparent!important;border:none!important;font-family:var(--manrope)!important;font-weight:600!important;line-height:normal!important;text-transform:uppercase;padding:0!important;gap:0!important;height:2.813vw!important;border-radius:1.5vw!important;width:max-content!important;overflow:unset!important;box-shadow:none!important;transition:.2s }
.btn-dot { width:.37vw!important;height:.37vw!important;background-color:var(--cream)!important;border-radius:50%!important;margin-right:1vw!important }
.btn-line { width:auto!important;height:100%!important;transition:.2s }
.button:hover { color:#64563d!important;background-color:#fff!important }
.button:hover img { opacity:0!important }
.button:hover .btn-dot { background-color:#64563d!important }
.home-video video { height:91.146vw }
.home-video:before { content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(../img/wall-light.webp);background-repeat:repeat-y;background-size:cover;mix-blend-mode:multiply;z-index:1 }
.home-video:after { content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(76,74,69,.7);opacity:.87;background-blend-mode:multiply;filter:drop-shadow(0px 4px 4px rgba(0, 0, 0, .25));z-index:2 }
.home-letter { position:absolute;top:7vw;left:0;width:100%;z-index:3 }
.letter-holder { display:flex;align-items:flex-end;justify-content:center;gap:3.5vw }
.letter { height:8.307vw!important }
.intro-section { position:absolute;top:42vw;left:0;width:100%;z-index:11 }
.intro-section * { color:var(--cream) }
.intro-section .section_wrapper { z-index:2 }
.intro-navi { font-weight:700 }
.intro-navi, .sec-navi { display:flex;align-items:center;margin:0 var(--left);color:var(--cream);position:relative!important }
.intro-navi *, .sec-navi * { color:inherit!important }
.intro-navi:before { content:"";display:block;position:absolute;top:0;left:0;height:1px;width:0;background-color:rgba(255,255,255,.5);visibility:visible }
.intro-navi:before { animation:1.5s forwards line1;animation-delay:4.5s }
.intro-navi>div, .sec-navi>div { height:4.586vw;display:flex;align-items:center;position:relative }
.intro-navi .image_frame { height:3.8vw }
.navi-start { padding-right:1.771vw;margin-right:1.771vw }
.navi-start:after { content:"";display:block;position:absolute;top:0;right:0;width:.01em;height:0;background-color:var(--cream) }
.intro-navi .navi-start:after { animation:1s forwards line2;animation-delay:5s }
.navi-end { margin-left:auto }
.intro-title { width:66vw!important;margin:0 auto 5.836vw }
.design-wrapper { margin-top:1.719vw;padding:18.082vw var(--left) 8.802vw;overflow:hidden }
.design-bg { position:absolute;top:0;left:50%;transform:translateX(-50%);width:109.38vw;height:100%;background-color:var(--green);border-top-left-radius:39.865vw;border-top-right-radius:39.865vw;visibility:visible;z-index:1 }
.design-wrapper .wrap-inner { z-index:2 }
.design-holder { display:flex;position:relative;overflow:hidden;border-radius:6.253vw;background-color:var(--brown) }
.design-col { border-radius:6.253vw;overflow:hidden;position:relative;transition:width .4s ease }
.design1 { position:absolute;top:0;left:0;width:60%;height:100%;z-index:5 }
.design2 { width:60%;margin-left:auto }
.design-col .image_frame { max-width:none;width:80vw;height:47.108vw }
.design-col .image_frame img { object-fit:cover }
.design-col:before { content:"";display:block;position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,0) 19.8%,rgba(0,0,0,.9) 100%);z-index:1 }
.design-txt { position:absolute;bottom:0;width:40vw;padding:5.573vw 0;z-index:2;transition:.5s }
.design-txt p { width:28.542vw;margin:0 auto 1.5vw }
.hidden-txt { transition:.5s }
.design1 .design-txt { left:50%;transform:translateX(-50%) }
.design2 .design-txt { right:3vw;bottom:-9vw }
.design2 .design-txt .hidden-txt { opacity:0 }
.design1.active { width:70% }
.design2.active { width:70% }
.design1.not-active { width:50% }
.design1.not-active .design-txt { bottom:-9vw }
.design1.not-active .design-txt .hidden-txt { opacity:0 }
.design-col.active .design-txt { right:4vw;bottom:0 }
.design2.active .hidden-txt { opacity:1 }
.service-section { z-index:10;opacity:0;color:var(--cream);margin-top:5vw;padding-top:15vw;padding-bottom:12vw }
.service-section * { color:inherit!important }
.sec-navi:before { content:"";display:block;position:absolute;bottom:0;left:0;height:1px;width:0;background-color:rgba(255,255,255,.5);visibility:visible }
.sec-navi.active:before { animation:1.5s forwards line1 }
.sec-navi .navi-start:after { top:auto;bottom:0 }
.sec-navi.active .navi-start:after { animation:1s forwards line2;animation-delay:.5s }
.service-section .sec-navi.active:before { animation-delay:2s }
.service-section .sec-navi.active .navi-start:after { animation-delay:2.5s }
.service-title { margin-top:4vw;margin-bottom:4.688vw }
.service-title p { width:25.3vw;margin:auto }
.service-section .sec-navi, .service-section .service-title p, .service-slider { opacity:0 }
.home #Content { background-color:var(--brown) }
.location-section { border-top-left-radius:39.865vw;border-top-right-radius:39.865vw;overflow:hidden }
.door-wrapper { position:absolute;top:0;left:0;width:100%;height:90vw;z-index:2 }
.door-wrapper * { position:static }
.door-wrapper .h1 { position:absolute;top:19vw;left:50%;transform:translateX(-50%);width:100%;color:var(--brown) }
.door-wrapper .door { position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;height:90vw }
.door .image_frame { width:100%;height:100%;transform-origin:bottom }
.door .image_frame img { object-fit:cover;object-position:bottom }
.door-wrapper .jungle { position:absolute;bottom:-10vw;left:0;width:100% }
.jungle .image_frame { width:100% }
.location-bg .image_frame { width:100%;height:90vw;transform:scale(.8) }
.location-bg .image_frame img { object-fit:cover }
.location-wrapper { position:absolute;bottom:0;left:0;height:55vw;z-index:3;opacity:0 }
.location-title { width:38.021vw!important;margin:auto }
.location-slider-nav h5, .location-title h4, .location-title h6 { color:var(--cream) }
.location-slider-nav { position:absolute;bottom:-4vw;left:7.813vw;width:21.612vw!important;height:37.321vw;background-color:#9a5e39;border-radius:3.125vw;padding:2.708vw;transform:rotate(-5deg) }
.location-nav { margin-top:8.646vw;margin-left:3vw;display:flex;flex-direction:column;align-items:self-start;gap:1.719vw }
.exclusive-section { padding:8vw 8vw 0;color:var(--cream);background-color:var(--darkgreen) }
.exclusive-section * { color:inherit!important }
.exclusive-title { padding:0 10vw;z-index:2 }
.exclusive-item { z-index:1 }
.exclusive-1 { margin-top:-15vw;transform:rotate(-5deg) }
.exclusive-2 { margin-top:-5vw;transform:rotate(5deg) }
.exclusive-item, .exclusive-item .image_frame { width:25vw!important;height:37.177vw;border-radius:3.125vw;overflow:hidden }
.exclusive-item .image_frame img { object-fit:cover }
.exclusive-txt { position:absolute;bottom:1vw;left:50%;transform:translateX(-50%);width:90%;height:17vw;background-color:var(--green);border-radius:1.979vw;padding:1.979vw 3vw;display:flex;align-items:center;flex-direction:column;justify-content:space-between }
.exclusive-section:after { content:"";display:block;position:absolute;bottom:0;left:0;width:100%;height:21.9vw;background-image:url(../img/deco/top-curve.svg);background-repeat:no-repeat;background-size:cover }
.insta-section { padding-top:8vw;padding-bottom:10vw;background-color:var(--cream) }
.insta-title { padding:0 var(--left2) }
.insta-holder { overflow:hidden;margin:1.5vw 0 2vw }
.js-marquee-wrapper { width:100%;display:flex;gap:1.354vw }
.js-marquee { display:flex;flex-shrink:0 }
.insta-btn { display:inline-flex;align-items:center;height:12.396vw;padding:0 3vw;position:relative;border-radius:4.5vw;transition:.2s }
.insta-btn:hover { text-decoration:none!important;background-color:#fff }
.insta-btn .line { position:absolute;width:4.516vw }
.insta-btn img.line.left { top:0;left:0 }
.insta-btn img.line.right { bottom:0;right:0 }
.insta-btn .image_frame { width:7.646vw!important;margin-right:2vw }
#Footer { display:flex;padding:5.313vw var(--left) var(--left);flex-direction:column }
#Footer * { order:2;color:var(--cream)!important }
#Footer a { text-decoration:none }
@media screen and (max-width:767px) {
  :root { --header:6.25vw;--top:10vw;--left:4.58vw;--left2:4.58vw }
  body { font-size:3.562vw }
  .h1, h1 { font-size:17vw;margin-bottom:5vw }
  .h2, h2 { font-size:11.5vw;line-height:1;margin-bottom:5vw }
  .h3, h3 { font-size:9vw;line-height:1.1;margin-bottom:5vw }
  h4 { font-size:8vw;margin-bottom:3vw }
  .h5, h5 { font-size:7.5vw }
  h6 { font-size:4.58vw;letter-spacing:-.137vw }
  .preloader-box { width:170.313vw;border-radius:35vw }
  .preloader-text { width:70vw }
  .percentage { margin-top:6vw }
  header#site-header { padding:5vw var(--left) }
  .site-header .column_header_menu { display:none }
  .site-header .column_attr, .top-header-section .header-menu .menu-li>.menu-link { height:9vw }
  .site-header .column_column { width:100%!important }
  .site-header .column_attr { display:flex;justify-content:center }
  .site-header .column_attr span { padding-right:0 }
  .column_header_logo { position:relative;top:0;left:48.3%;transform:translateX(-50%);margin-top:6vw!important }
  .site-header .column_attr span:after { display:none }
  .floating-menu { top:auto;right:auto;bottom:5vw;left:50%;transform:translateX(-50%);flex-direction:row;gap:1.688vw }
  .menu { width:25vw;height:10vw;border-radius:8vw;padding:2.1vw;flex-direction:row-reverse;justify-content:center;gap:4vw;box-shadow:0 0 5px 5px rgba(0,0,0,.04) }
  .menu>div { transform:none;left:0 }
  .menu img { transform:rotate(90deg);height:4vw;margin-bottom:0 }
  .audio { width:10vw;height:10vw;box-shadow:0 0 5px 5px rgba(0,0,0,.04) }
  .audio img { width:4vw }
  ul#menu-main-menu { top:auto;right:auto;bottom:2vw;left:50%;transform:translateX(-50%);width:80%;border-radius:10vw;padding:5vw 0 20vw }
  ul#menu-main-menu.active { transform:translateX(-50%) scale(1) }
  ul#menu-main-menu .menu-li>.menu-link { padding:1.3vw 8vw;width:100%;font-size:4.5vw }
  .content_wrapper .section_wrapper { max-width:100%!important;padding-left:0!important;padding-right:0!important }
  .button, button { font-size:3.562vw!important;height:11.272vw!important;border-radius:6vw!important }
  .btn-dot { width:1.781vw!important;height:1.781vw!important;margin-right:4vw!important }
  .home-video video { height:100vh }
  .home-letter { position:absolute;top:50vw }
  .intro-section { position:relative;top:0;margin-top:-50vw }
  .intro-navi>div, .sec-navi>div { width:auto;height:17.303vw }
  .intro-navi .navi-end { display:none }
  .intro-navi .image_frame { height:10.178vw }
  .navi-start { padding-right:3.771vw;margin-right:3.771vw }
  .intro-title { width:auto!important;margin:0 auto 15vw!important }
  .design-wrapper { margin-top:10vw!important;padding:25vw var(--left) 20vw }
  .service-section { opacity:1;margin-top:0;padding-top:10vw;padding-bottom:12vw }
  .service-section .sec-navi, .service-section .service-title p, .service-slider { opacity:1 }
  .service-title { margin-top:20vw!important;margin-bottom:10vw!important }
  .service-title p { width:80%;margin:auto }
  .design-holder { border-radius:0;height:auto;flex-wrap:wrap;background:0 0;gap:5vw }
  .design1 { position:static }
  .design-col { height:120vw;width:100%!important;border-radius:12.723vw;position:relative }
  .design-col .image_frame { width:100%;height:100% }
  .design-txt { width:100%;padding:12vw 8vw }
  .design-txt p { width:auto;margin:0 auto 3vw }
  .design2 .design-txt { right:0;bottom:0 }
  .design2 .design-txt .hidden-txt { opacity:1 }
  .door-wrapper .h1 { top:22vw }
  .door-wrapper .door { height:190vw }
  .door-wrapper, .location-bg .image_frame { height:190vw }
  .location-wrapper { height:120vw }
  .location-title { width:auto!important }
  .location-slider-nav { bottom:5vw;left:0;width:38.612vw!important;height:57.321vw;border-radius:7vw;padding:5.708vw 0;padding-right:13vw }
  .location-nav { margin-top:4.646vw;margin-left:7vw;gap:1.719vw }
  .exclusive-section { padding:18vw var(--left) 0 }
  .exclusive-title { padding:0 0 5vw }
  .exclusive-title .h1 { margin-top:3vw }
  .exclusive-item, .exclusive-item .image_frame { width:70vw!important;height:97vw;border-radius:9vw;margin:2vw auto!important;transform:none }
  .exclusive-txt { bottom:3vw;height:42vw;border-radius:6vw;padding:5vw 6vw }
  .insta-section { padding-top:15vw;padding-bottom:20vw }
  .insta-title { padding:0 var(--left2) 5vw }
  .insta-button { margin-top:5vw!important }
  .insta-btn .h1 { font-size:10vw;margin:0 }
  .insta-btn .h2 { font-size:6.5vw;margin-bottom:0 }
  .insta-btn { height:14vw;padding:0 8vw;border-radius:8.5vw }
  .insta-btn .line { width:6vw }
  #Footer { padding:20vw var(--left) }
}

/* ── 8. 各段对齐（放在最后，压过上面同级的规则） ── */
.header-menu .menu-li > .menu-link { color: var(--cream); }
.section .wrap .text-center .column_attr { text-align: center; }
.section .exclusive-wrapper > .wrap-inner { justify-content: space-between; }

/* ── 9. 合成层结构 ──
 * 成品在分类段下方有一个空的轮播容器，浏览器为它建了一个 3D 变换合成层；去掉它以后，钉屏双图、卡片等大图的栅格化路径跟着变，
 * 出现肉眼看不出、但逐像素对比能测到的 1–12 级色差。这里放一个同样不占空间的层，让画面与成品逐像素一致。 */
.service-slider > .wrap-inner::before { content: ""; display: block; position: relative; overflow: hidden; width: 100%; height: 0; transform: translate3d(0, 0, 0); }
