:root { --night:#202521; --ink:#f2eee4; --muted:#d0cec3; --accent:#e8c798; --line:#ffffff35; }
body { margin:0; background:var(--night); color:var(--ink); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; }
[hidden] { display:none !important; }
button,a,select { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,select:focus-visible { outline:3px solid #f1bd7d; outline-offset:3px; }
#home { position:fixed; inset:0; overflow:auto; z-index:10; background:radial-gradient(circle at 5% 0%,#484640 0,transparent 40%),#222724; }
.home-app { box-sizing:border-box; max-width:1920px; min-height:100%; margin:auto; padding:clamp(20px,3.2vh,36px) clamp(24px,3.4vw,66px); display:flex; flex-direction:column; gap:clamp(16px,2.1vh,24px); }
.home-header { display:flex; align-items:center; justify-content:space-between; min-height:36px; gap:20px; }
.home-brand { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:800; letter-spacing:.19em; white-space:nowrap; }
.home-brand strong { font-weight:450; color:#d5c8ae; }
.home-seal { display:block; width:26px; height:26px; border-radius:50%; background:#c06c53; box-shadow:0 0 0 4px #c06c5329; }
.home-edition { font-size:12px; font-weight:650; letter-spacing:.18em; color:#c9c8bd; }
.home-edition span { padding:0 8px; color:#897f69; }
.home-intro { display:flex; align-items:end; justify-content:space-between; gap:36px; border-top:1px solid var(--line); padding-top:clamp(15px,2.1vh,26px); }
.home-intro-copy { max-width:1000px; }
.home-kicker { color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.18em; margin:0 0 9px; }
.home-title { font:500 clamp(32px,3.3vw,60px)/1.07 Georgia,'Times New Roman',serif; letter-spacing:-.035em; margin:0 0 13px; }
.home-description { max-width:1030px; margin:0; font-size:clamp(14px,1.12vw,19px); line-height:1.45; color:#d9d7ce; }
.home-menu { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(14px,1.5vw,26px); flex:1; min-height:430px; }
.home-tour { position:relative; overflow:hidden; isolation:isolate; min-height:430px; background:#5d5b53; border:1px solid #ffffff22; }
.home-tour::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#1216121a 5%,#12161255 36%,#121612e8 100%); }
.home-tour-image { position:absolute; z-index:-2; width:100%; height:100%; inset:0; object-fit:cover; object-position:center; filter:grayscale(1) contrast(1.12); }
.home-tour-copy { box-sizing:border-box; position:absolute; inset:auto 0 0; padding:clamp(24px,2.5vw,48px); }
.home-tour-tag { display:inline-block; color:#f4d5a6; font-size:clamp(11px,.9vw,15px); font-weight:750; letter-spacing:.18em; margin-bottom:12px; }
.home-tour h2 { font:500 clamp(35px,3.3vw,62px)/1.03 Georgia,serif; letter-spacing:-.04em; margin:0 0 14px; }
.home-tour p { max-width:490px; font-size:clamp(15px,1.1vw,19px); line-height:1.5; color:#eeeae0; margin:0 0 22px; }
.home-start { box-sizing:border-box; width:100%; min-height:64px; border:0; background:#e8cfaa; color:#242821; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; font:750 clamp(16px,1.2vw,20px) system-ui,sans-serif; text-align:left; cursor:pointer; transition:background .15s; }
.home-start:hover { background:#f3dfbf; }
.home-start span { font-size:28px; line-height:1; }
.home-quality { display:flex; justify-content:flex-end; align-items:center; gap:8px; min-height:28px; margin-top:8px; color:#eeeae0; font-size:12px; }
.home-quality select { max-width:180px; background:#282d2acb; color:#f4eee3; border:1px solid #ffffff65; border-radius:2px; padding:3px 5px; font:inherit; }
.home-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:clamp(14px,1.5vw,26px); }
.home-card { position:relative; box-sizing:border-box; display:flex; flex-direction:column; min-width:0; min-height:0; padding:clamp(18px,1.8vw,30px); background:#343a35; color:var(--ink); border:1px solid #777b70; text-align:left; font:inherit; text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s; }
.home-card:nth-child(2) { background:#3a3b36; }.home-card:nth-child(3) { background:#3d3a34; }.home-card:nth-child(4) { background:#303b39; }
.home-card:hover { background:#474e46; border-color:#e8cfaa; }
.home-card-meta { display:flex; align-items:center; gap:11px; color:#e9cba1; font-size:clamp(10px,.85vw,14px); font-weight:750; letter-spacing:.14em; }
.home-card-meta span { display:grid; place-items:center; width:29px; height:29px; border:1px solid #e9cba175; font-size:13px; letter-spacing:0; flex:none; }
.home-card-copy { display:flex; flex-direction:column; gap:9px; margin:auto 0; padding:12px 0 4px; }
.home-card-copy strong { font:500 clamp(21px,1.8vw,33px)/1.13 Georgia,serif; letter-spacing:-.02em; }
.home-card-copy > span { font-size:clamp(15px,1.08vw,19px); line-height:1.4; color:#d8d9d2; }
.home-card-arrow { position:absolute; bottom:clamp(16px,1.5vw,25px); right:clamp(17px,1.5vw,25px); font-size:clamp(19px,1.6vw,27px); line-height:1; color:#e9cba1; }
.home-footer { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:13px; color:#bfc1b5; font-size:11px; letter-spacing:.11em; }
#tour-toolbar { position:fixed; top:14px; left:14px; z-index:800; display:flex; flex-wrap:wrap; gap:4px; max-width:calc(100vw - 28px); padding:6px; background:#191a16e8; border:1px solid #ffffff26; border-radius:9px; backdrop-filter:blur(10px); }
#tour-toolbar a,#tour-toolbar button { box-sizing:border-box; display:inline-flex; min-height:44px; align-items:center; justify-content:center; font:14px system-ui,sans-serif; color:#eee9de; background:none; border:0; border-radius:5px; text-decoration:none; padding:10px 14px; cursor:pointer; white-space:nowrap; }
#tour-toolbar a:hover,#tour-toolbar button:hover { background:#ffffff18; border-radius:5px; }
#tour-toolbar button[data-muted="true"] { background:#986c49; color:#fff; }
.home-return { display:inline-block; margin-top:18px; color:#d0a060; }
@media (min-width:1100px) and (min-height:700px) { .home-app { height:100%; } }
@media (min-width:1100px) and (min-height:700px) and (max-height:760px) { .home-app { padding-top:16px; padding-bottom:14px; gap:11px; }.home-header { min-height:30px; }.home-intro { padding-top:11px; }.home-menu,.home-tour { min-height:0; }.home-footer { padding-top:9px; } }
@media (max-width:1099px), (max-height:699px) { .home-intro { align-items:start; flex-direction:column; gap:12px; }.home-menu { min-height:500px; }.home-card { padding:18px; }.home-card-copy strong { font-size:22px; }.home-card-copy > span { font-size:13px; } }
@media (max-width:820px) { .home-app { gap:20px; }.home-edition { font-size:10px; }.home-menu { grid-template-columns:1fr; }.home-tour { min-height:440px; }.home-cards { min-height:470px; }.home-footer { flex-direction:column; } }
@media (max-width:560px) { .home-app { padding:20px; }.home-header { gap:10px; }.home-brand { font-size:11px; letter-spacing:.12em; }.home-seal { width:18px; height:18px; }.home-edition { font-size:9px; letter-spacing:.04em; text-align:right; }.home-edition span { padding:0 2px; }.home-title { font-size:38px; }.home-description { font-size:14px; }.home-tour { min-height:420px; }.home-tour-copy { padding:22px; }.home-cards { grid-template-columns:1fr; grid-template-rows:none; min-height:0; }.home-card { min-height:205px; }.home-card-copy strong { font-size:25px; }.home-card-copy > span { font-size:14px; padding-right:20px; }#tour-toolbar { gap:2px; left:8px; top:8px; max-width:calc(100vw - 16px); }#tour-toolbar a,#tour-toolbar button { min-height:44px; padding:9px 10px; font-size:12px; } }
@media (prefers-reduced-motion:reduce) { .home-start,.home-card { transition:none; } }
