:root{color-scheme:light;--ink:#18251f;--green:#234438;--muted:#53625a;--ivory:#f7f7f2;--line:#dce1d7}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid #8f9f59;outline-offset:4px}
h1,h2,h3,p{margin:0}
img,video{display:block;max-width:100%}
.shell{width:min(1120px,calc(100% - 72px));margin-inline:auto}
.skip{position:fixed;left:16px;top:8px;z-index:5;transform:translateY(-160%);padding:12px;background:white}
.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:3;background:rgba(250,250,246,.94);backdrop-filter:blur(18px);border-bottom:1px solid #263f3214}
.nav{height:65px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:700;letter-spacing:.1em;line-height:1.12;white-space:nowrap}
.brand small{display:block;margin-top:4px;font-size:8px;letter-spacing:.18em;color:var(--muted)}
.nav-links{display:flex;align-items:center;gap:33px;font-size:13px}
.nav-links a:hover,.text-link:hover,.footer a:hover{text-decoration:underline;text-underline-offset:4px}
.nav-cta{border:1px solid #bac7b9;padding:8px 14px;border-radius:30px}
.menu{display:none;font:inherit;color:var(--ink);border:1px solid #bac7b9;background:white;padding:8px 14px;border-radius:20px}
.hero{background:var(--ivory);text-align:center;padding-top:55px}
.hero-copy{position:relative;z-index:1}
.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:680;color:#466354;display:flex;align-items:center;gap:9px}
.eyebrow span{width:7px;height:7px;background:#758c59;border-radius:50%;flex:none}
.hero .eyebrow,.contact .eyebrow{justify-content:center}
h1{margin-top:15px;font-size:clamp(40px,6vw,82px);line-height:1.12;letter-spacing:-.055em;font-weight:750}
.hero-description{font-size:clamp(15px,1.65vw,21px);line-height:1.65;margin-top:19px;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:22px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid transparent;border-radius:999px;padding:12px 20px;min-height:46px;background:var(--green);color:#fff;font-size:14px;font-weight:640;transition:background .2s,color .2s}
.button:hover{background:#365d4b}
.button.secondary{color:#254337;background:transparent;border-color:#a9b8a8}
.button.secondary:hover{background:#e6ebdf}
.hero-image{height:clamp(310px,46vw,620px);margin-top:24px;background:#cbc9be url("assets/hero-baisha-guestroom.webp") center 65% / cover no-repeat}
.hero-caption{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:#46574c;font-size:10px;font-weight:650;letter-spacing:.13em}
.section{padding-block:94px}
.intro{margin-bottom:36px}
h2{font-size:clamp(34px,5vw,65px);line-height:1.14;letter-spacing:-.05em;margin-top:11px}
.intro>p:last-child,.about-grid>div:first-child>p:not(.eyebrow),.film-head>p,.contact-inner>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.75;margin-top:17px;max-width:36em}
.scenes{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.scene{border-radius:27px;overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}
.scene-hotel{background:#233c33;color:#f1f5eb}
.scene-stay{background:#ecece2;color:#26392f}
.scene-content{padding:30px 32px 0;position:relative;z-index:1}
.scene-index{font-size:11px;letter-spacing:.14em;font-weight:660;opacity:.82}
.scene h3{font-size:clamp(28px,3.6vw,46px);letter-spacing:-.04em;margin-top:8px}
.scene-content>p:not(.scene-index){font-size:15px;line-height:1.75;max-width:30em;margin-top:8px}
.text-link{display:inline-flex;gap:8px;font-size:14px;font-weight:650;margin-top:12px;padding-block:7px}
.bulk-photo{margin:18px 22px 22px}
.bulk-photo img{width:100%;height:auto;border-radius:14px}
.bulk-photo figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:12px;color:#dce8dc}
.bulk-photo figcaption span{color:#bfd3c4}
.scene-art{height:155px;display:grid;place-items:center;color:#abc7a8;background:radial-gradient(ellipse at bottom,#3a5d4c 0,transparent 68%)}
.scene-art svg{height:100%;max-width:100%;display:block}
.stay-art{flex:1;min-height:155px;color:#55725d;background:radial-gradient(ellipse at bottom,#d3dbcb 0,transparent 68%)}
.stay-art svg{height:155px}
.manufacturing{background:var(--ivory);padding-block:86px}
.about-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:35px 55px}
.about-grid .button{margin-top:21px}
.about-image{position:relative;background:#d9dfd6;border-radius:24px;overflow:hidden}
.about-image img{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}
.about-image span{position:absolute;left:14px;bottom:14px;background:#172b24e0;color:white;border-radius:20px;font-size:11px;padding:7px 12px}
.facts{margin:0;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:24px;gap:18px}
.facts dt{font-size:clamp(21px,3.2vw,41px);font-weight:700;letter-spacing:-.045em}
.facts dd{margin:5px 0 0;font-size:13px;color:var(--muted)}
.film-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:25px}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.film-card{display:flex;flex-direction:column;overflow:hidden;background:var(--ivory);border-radius:24px}
.film-card:first-child{grid-column:1/-1;width:min(100%,880px);justify-self:center}
.film-card-copy{padding:28px 28px 24px;flex:1}
.film-number{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.1em;color:#466354;font-weight:650}
.film-number span{font-variant-numeric:tabular-nums;letter-spacing:0}
.film-card h3{font-size:clamp(23px,2.5vw,34px);letter-spacing:-.04em;line-height:1.25;margin-top:12px}
.film-card-copy>p:last-child{font-size:14px;line-height:1.7;color:var(--muted);margin-top:10px}
.film video{background:#172721;width:100%;aspect-ratio:960/544}

.contact{text-align:center;background:#223b31;color:#f3f5eb;padding-block:78px}
.contact .eyebrow,.contact-inner>p:not(.eyebrow){color:#d6e2d5;margin-inline:auto}
.contact .eyebrow span{background:#b3c98b}
.button.light{margin-top:22px;background:#f2f4e9;color:#20372f}
.button.light:hover{background:#dbe9d4}
.contact-inner>p.contact-note{font-size:12px;margin-top:10px}
.footer{background:var(--ivory);padding-block:27px;color:var(--muted);font-size:12px}
.footer-inner{display:flex;justify-content:space-between;gap:10px;align-items:center}
.footer p{margin-top:5px}
@media(max-width:720px){
  .shell{width:calc(100% - 38px)}
  .nav{height:58px}
  .menu{display:block;font-size:13px}
  .nav-links{display:none;position:absolute;inset:58px 0 auto;background:#fafaf6;padding:13px 19px 19px;box-shadow:0 12px 20px #233c3312;gap:0;align-items:stretch}
  .menu[aria-expanded="true"]+.nav-links{display:grid}
  .nav-links a{padding:13px 9px}
  .nav-cta{border:0;border-radius:0}
  .hero{padding-top:45px}
  .hero-image{height:clamp(215px,72vw,470px);background-position:60% center;margin-top:27px}
  .wide{display:none}
  .section,.manufacturing{padding-block:58px}
  .scenes,.about-grid{grid-template-columns:1fr}
  .scene{min-height:315px}
  .scene-content{padding:24px 22px 0}
  .about-grid{gap:24px}
  .film-head{display:block}
  .film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .film-card-copy{padding:23px 22px 20px}
  .film-card:not(:first-child){border-radius:18px}
  .film-card:not(:first-child) .film-card-copy{padding:16px 13px 13px}
  .film-card:not(:first-child) .film-number{font-size:10px;letter-spacing:0;flex-wrap:wrap;gap:4px 8px}
  .film-card:not(:first-child) .film-number span{white-space:nowrap}
  .film-card:not(:first-child) h3{font-size:17px;line-height:1.4;margin-top:9px}
  .film-card:not(:first-child) .film-card-copy>p:last-child{display:none}
  .contact{padding-block:60px}
}
@media(max-width:370px){h1{font-size:35px}.button{padding-inline:13px}.hero-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.film-player{position:relative;background:var(--ivory)}
.film-poster{position:relative;display:block;padding:0;border:0;background:var(--ivory);cursor:pointer;width:100%;color:#536d5d}
.film-poster[hidden]{display:none}
.film-poster img{width:100%;height:auto;aspect-ratio:960/544;object-fit:cover}
.film-play-hint{display:flex;justify-content:center;align-items:center;gap:6px;height:34px;font-size:12px;letter-spacing:.08em}
.film-player video{display:none}
.film-poster[hidden]+video{display:block}
@media(max-width:720px){.film-card:first-child{width:calc(100% + 38px);border-radius:0}.film-card:not(:first-child) .film-play-hint{height:28px;font-size:10px;gap:4px}.film-card:not(:first-child) .film-play-hint svg{width:16px;height:16px}}

.film-card.is-playing{grid-column:1/-1;width:min(100%,880px);justify-self:center;scroll-margin-top:80px}
@media(max-width:720px){.film-card.is-playing{width:calc(100% + 38px);border-radius:0}}
