:root { --paper:#fdfbf6; --ink:#31281d; --muted:#7b7061; --gold:#aa7725; --gold-light:#d9bd84; --line:rgba(163,116,38,.27); }
* { box-sizing:border-box; }
html,body { min-height:100%; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Noto Sans SC","DM Sans",sans-serif; }
button,a { -webkit-tap-highlight-color:transparent; }
.material-symbols-rounded { font-family:"Material Symbols Rounded"; font-weight:normal; font-style:normal; font-size:20px; line-height:1; letter-spacing:normal; text-transform:none; white-space:nowrap; word-wrap:normal; direction:ltr; -webkit-font-feature-settings:"liga"; -webkit-font-smoothing:antialiased; font-feature-settings:"liga"; }

.landing-page { display:flex; width:100%; min-height:100svh; flex-direction:column; padding:32px clamp(24px,6vw,104px) 25px; overflow:hidden; background:var(--paper); }
.site-header { display:flex; align-items:center; justify-content:space-between; width:min(100%,1260px); margin:0 auto; }
.brand-signature { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; }.brand-mark { display:block; width:33px; height:33px; overflow:hidden; }.brand-mark img { width:45px; height:45px; margin:-2px -6px; object-fit:cover; object-position:50% 0; mix-blend-mode:multiply; }.brand-signature b { display:block; color:#8d6018; font-family:"Noto Serif SC","Songti SC",serif; font-size:17px; font-weight:600; letter-spacing:.14em; line-height:1; }.brand-signature small { display:block; margin-top:5px; color:#987b50; font-family:"DM Sans",sans-serif; font-size:7px; font-weight:700; letter-spacing:.15em; }.access-state { display:flex; align-items:center; gap:8px; margin:0; color:#846e49; font-family:"DM Sans",sans-serif; font-size:9px; font-weight:700; letter-spacing:.17em; }.state-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(170,119,37,.12); }

.hero { display:grid; width:min(100%,1260px); flex:1; grid-template-columns:minmax(310px,.86fr) minmax(390px,1.14fr); align-items:center; gap:clamp(30px,9vw,160px); margin:0 auto; padding:50px 0 35px; }.hero-copy { max-width:456px; }.section-label { display:flex; align-items:center; gap:9px; margin:0 0 25px; color:#a17b3e; font-family:"DM Sans",sans-serif; font-size:9px; font-weight:700; letter-spacing:.16em; }.section-label span { width:31px; height:1px; background:var(--gold-light); }
h1 { margin:0; color:#32291f; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(46px,5.3vw,76px); font-weight:600; line-height:1.16; letter-spacing:.035em; } h1 em { color:#a87522; font-style:normal; font-size:.75em; }
.hero-description { max-width:386px; margin:28px 0; color:var(--muted); font-size:14px; line-height:2; }.route-cta { display:inline-flex; align-items:center; justify-content:space-between; min-width:239px; min-height:57px; padding:0 17px 0 21px; border:1px solid #a87522; border-radius:2px; color:#fffdf8; background:#a87522; box-shadow:0 13px 23px rgba(126,84,19,.16); cursor:pointer; font:600 15px "Noto Sans SC",sans-serif; letter-spacing:.07em; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }.route-cta:hover { background:#8f6019; box-shadow:0 16px 28px rgba(126,84,19,.21); transform:translateY(-2px); }.route-cta:active { transform:translateY(0); }.route-cta:focus-visible,.service-link:focus-visible,.route-option:focus-visible,.route-close:focus-visible { outline:2px solid #61400c; outline-offset:4px; }.route-hint { display:flex; align-items:center; gap:7px; margin:17px 0 0; color:#9a8b76; font-size:11px; }.route-hint .material-symbols-rounded { color:#af7c27; font-size:15px; }

.brand-stage { position:relative; min-height:475px; }.orbit-gif { position:absolute; z-index:0; top:14px; left:50%; width:min(100%,560px); height:auto; transform:translateX(-50%); }.logo-symbol-frame { position:absolute; z-index:2; bottom:142px; left:50%; width:290px; height:224px; overflow:hidden; transform:translateX(-50%); animation:logo-breathe 5s ease-in-out infinite; }.hero-logo { width:290px; height:290px; object-fit:cover; object-position:50% 0; mix-blend-mode:multiply; filter:drop-shadow(0 14px 16px rgba(126,84,18,.11)); }.logo-pedestal { position:absolute; z-index:1; bottom:24px; left:50%; width:450px; height:210px; object-fit:cover; object-position:center bottom; transform:translateX(-50%); }.brand-stage > p { position:absolute; z-index:3; bottom:2px; left:50%; margin:0; color:#947643; font-family:"DM Sans",sans-serif; font-size:9px; font-weight:700; letter-spacing:.25em; transform:translateX(-50%); white-space:nowrap; }

.service-strip { display:flex; width:min(100%,1260px); align-items:center; justify-content:space-between; margin:0 auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.strip-intro { display:flex; align-items:center; gap:12px; margin:0; color:#998972; font-family:"DM Sans",sans-serif; font-size:9px; letter-spacing:.08em; }.strip-intro b { color:#987136; font-size:9px; letter-spacing:.13em; }.strip-intro span { border-left:1px solid var(--line); padding:16px 0 16px 12px; }.service-links { display:flex; align-items:stretch; }.service-link { display:flex; align-items:center; gap:9px; min-width:174px; padding:13px 0 13px 20px; color:#57442a; text-decoration:none; transition:color .2s ease,background .2s ease; }.service-link + .service-link { border-left:1px solid var(--line); }.service-link:hover { color:#9d691a; background:rgba(255,255,255,.55); }.service-link > .material-symbols-rounded { color:#a87522; font-size:19px; }.service-link span:nth-child(2) { font-size:13px; font-weight:600; }.service-link b { color:#a57423; font-family:"DM Sans",sans-serif; font-size:10px; font-weight:600; }.service-arrow { margin-left:auto; margin-right:14px; font-size:17px !important; }
footer { display:flex; width:min(100%,1260px); justify-content:space-between; margin:20px auto 0; color:#9b907d; font-size:9px; letter-spacing:.08em; }

.route-dialog { width:min(calc(100% - 36px),440px); padding:33px 30px 26px; border:1px solid rgba(169,121,39,.48); background:#fdfbf6; box-shadow:0 30px 80px rgba(48,31,7,.27); color:var(--ink); text-align:center; }.route-dialog::backdrop { background:rgba(38,29,17,.38); backdrop-filter:blur(5px); }.route-dialog form { position:absolute; top:14px; right:14px; }.route-close { display:grid; width:32px; height:32px; place-items:center; border:0; color:#7b6540; background:transparent; cursor:pointer; }.route-close:hover { color:#3d2a0f; background:rgba(175,128,48,.11); }.route-close .material-symbols-rounded { font-size:20px; }.dialog-kicker { margin:0 0 7px; color:#a47a35; font-family:"DM Sans",sans-serif; font-size:9px; font-weight:700; letter-spacing:.19em; }.route-dialog h2 { margin:0; color:#382c1d; font-family:"Noto Serif SC","Songti SC",serif; font-size:29px; font-weight:600; letter-spacing:.09em; }.dialog-description { margin:11px 0 20px; color:#827767; font-size:12px; }.route-list { display:grid; border-top:1px solid rgba(165,118,39,.26); }.route-option { display:flex; align-items:center; min-height:54px; border-bottom:1px solid rgba(165,118,39,.22); color:#4d402f; text-align:left; text-decoration:none; transition:padding .2s ease,color .2s ease,background .2s ease; }.route-option:hover { padding-left:9px; color:#9c6b1f; background:rgba(255,255,255,.78); }.route-index { width:47px; color:#b48741; font-family:"DM Sans",sans-serif; font-size:11px; font-weight:700; letter-spacing:.1em; }.route-arrow { margin-left:auto; color:#a87a2c; font-size:17px; }.dialog-footnote { display:flex; align-items:center; justify-content:center; gap:5px; margin:17px 0 0; color:#948672; font-size:10px; }.dialog-footnote .material-symbols-rounded { color:#ad7a27; font-size:14px; }
@keyframes logo-breathe { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(-6px); } }
@media (max-width:780px) { .landing-page { padding:23px 22px 19px; }.hero { grid-template-columns:1fr; gap:9px; padding:46px 0 23px; }.hero-copy { max-width:100%; }.section-label { margin-bottom:17px; }.hero-description { max-width:345px; margin:19px 0 23px; font-size:13px; line-height:1.85; }.brand-stage { min-height:350px; margin-top:8px; }.orbit-gif { top:8px; width:380px; max-width:115%; }.logo-symbol-frame { bottom:108px; width:220px; height:170px; }.hero-logo { width:220px; height:220px; }.logo-pedestal { bottom:18px; width:350px; max-width:110%; height:162px; }.brand-stage > p { bottom:0; font-size:8px; }.service-strip { display:block; }.strip-intro { padding:12px 0; }.strip-intro span { padding:0 0 0 12px; }.service-links { border-top:1px solid var(--line); }.service-link { min-width:0; flex:1; padding:13px 0 13px 4px; }.service-link span:nth-child(2) { font-size:12px; }.service-arrow { margin-right:4px; } footer { flex-direction:column; gap:8px; margin-top:14px; font-size:8px; }.route-dialog { padding:29px 20px 21px; } }
@media (max-height:760px) and (min-width:781px) { .landing-page { padding-top:20px; padding-bottom:18px; }.hero { padding:17px 0; }.brand-stage { min-height:310px; }.hero-description { margin:18px 0; }.service-link { padding-top:9px; padding-bottom:9px; }.strip-intro span { padding-top:11px; padding-bottom:11px; } footer { margin-top:12px; } }
@media (prefers-reduced-motion:reduce) { .logo-symbol-frame { animation:none; } }
