:root { --ink:#182b27; --muted:#61706a; --paper:#f7f6ef; --cream:#efecdd; --orange:#f05d23; --orange-dark:#bd4216; --line:#d7d9ce; --card:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.5; }
a { color:inherit; }
.topbar,main,footer { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.topbar { min-height:86px; display:flex; align-items:center; gap:28px; justify-content:space-between; }
.brand { font-size:1.7rem; font-weight:850; text-decoration:none; letter-spacing:-.06em; white-space:nowrap; }
.brand span { color:var(--orange); }
nav { display:flex; gap:22px; font-size:.93rem; font-weight:700; }
nav a { text-decoration:none; color:var(--muted); }
nav a:hover { color:var(--orange-dark); }
.order-link { font-size:.95rem; font-weight:800; text-underline-offset:4px; white-space:nowrap; }
.hero { display:grid; grid-template-columns:1.04fr .96fr; align-items:center; gap:clamp(38px,7vw,110px); padding:62px 0 72px; }
.eyebrow { margin:0 0 13px; color:var(--orange-dark); font-size:.8rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:700px; margin-bottom:24px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3rem,6vw,5.4rem); line-height:.94; letter-spacing:-.065em; }
h2 { margin-bottom:12px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.3rem,4vw,3.8rem); line-height:1; letter-spacing:-.045em; }
.intro { max-width:560px; color:var(--muted); font-size:1.14rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 15px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 21px; border-radius:999px; text-decoration:none; font-weight:800; text-align:center; }
.button-primary { background:var(--orange); color:#fff; box-shadow:0 8px 20px rgb(240 93 35 / .2); }
.button-primary:hover { background:var(--orange-dark); }
.button-quiet { border:1px solid var(--ink); }
.fine-print { color:var(--muted); font-size:.88rem; }
.hero-photo { position:relative; margin:0; min-height:480px; overflow:hidden; background:var(--cream); border-radius:240px 240px 30px 30px; box-shadow:13px 14px 0 #dddfd3; }
.hero-photo img { display:block; width:100%; height:480px; object-fit:cover; object-position:center; }
.hero-photo figcaption { position:absolute; right:16px; bottom:16px; padding:8px 12px; background:rgb(255 255 255 / .92); border-radius:999px; font-size:.8rem; font-weight:750; }
.quick-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.quick-facts>div { min-height:118px; padding:22px 20px; background:var(--card); display:grid; grid-template-columns:32px 1fr; column-gap:10px; }
.quick-facts strong { font-size:1rem; align-self:end; }
.quick-facts small { grid-column:2; color:var(--muted); font-size:.81rem; }
.fact-icon { color:var(--orange); font-size:1.4rem; font-weight:900; }
.notice { display:grid; grid-template-columns:180px 1fr; gap:25px; padding:25px 30px; margin-top:30px; border-block:1px solid var(--line); font-size:1rem; }
.notice strong { font-size:1.05rem; }.notice span { color:var(--muted); }
.catalog { padding:92px 0 68px; }.section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:42px; }.section-heading>p { max-width:390px; margin:0; color:var(--muted); }
.product-groups { display:grid; gap:48px; }.product-groups section>h3 { margin:0 0 17px; font-family:Georgia,"Times New Roman",serif; font-size:1.65rem; letter-spacing:-.035em; }
.products { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.product { min-height:350px; padding:15px; display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:18px; text-decoration:none; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }.product img { width:100%; height:150px; margin-bottom:15px; border-radius:11px; object-fit:cover; object-position:center; background:#e7e4dc; }.product:hover { transform:translateY(-3px); border-color:#c6a998; box-shadow:0 12px 24px rgb(24 43 39 / .08); }.product.featured { background:var(--ink); color:#fff; border-color:var(--ink); }.category { color:var(--orange-dark); font-size:.72rem; font-weight:850; letter-spacing:.095em; text-transform:uppercase; }.featured .category { color:#ffad83; }.product strong { margin:14px 0 5px; font-family:Georgia,"Times New Roman",serif; font-size:1.48rem; line-height:1.03; letter-spacing:-.035em; }.product p { margin-bottom:12px; color:var(--muted); font-size:.88rem; }.featured p { color:#bfd0ca; }.product b { margin-top:auto; font-size:1.05rem; }.product em { margin-top:13px; color:var(--orange-dark); font-size:.79rem; font-style:normal; font-weight:850; }.featured em { color:#ffad83; }.catalog-cta { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:36px 0 0; }.catalog-cta p { margin:0; color:var(--muted); }
.trust { max-width:780px; padding:48px 0 82px; } blockquote { margin:0 0 15px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,3vw,2.85rem); font-weight:600; line-height:1.06; letter-spacing:-.04em; }.trust p { color:var(--muted); }
.visit { display:grid; grid-template-columns:.9fr 1.1fr; gap:46px; padding:55px; background:var(--cream); border-radius:22px; }.visit-copy>p:not(.eyebrow),.contacts p { color:var(--muted); font-size:1.04rem; }.visit-address { margin-bottom:25px; }.entrances { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-bottom:18px; }.entrance-card { padding:18px; border:1px solid #d9d2c7; border-radius:15px; background:#fffdf7; }.entrance-card-main { border-color:#f3b07d; box-shadow:0 5px 16px rgb(0 0 0 / .05); }.entrance-number { display:inline-block; margin-bottom:8px; padding:4px 9px; border-radius:999px; background:var(--ink); color:#fff; font-size:.7rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }.entrance-card h3 { margin:0 0 8px; font-size:1.04rem; }.entrance-card p { margin:0; color:var(--ink)!important; font-size:.91rem!important; line-height:1.43; }.route-steps { display:grid; gap:7px; margin:14px 0 0; padding:0; list-style:none; counter-reset:route; }.route-steps li { display:grid; grid-template-columns:23px 1fr; gap:8px; align-items:start; color:var(--ink); font-size:.87rem; line-height:1.35; }.route-steps li::before { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:var(--ink); color:#fff; content:counter(route); counter-increment:route; font-size:.68rem; font-weight:850; }.entrance-note { margin:0 0 17px; color:var(--muted)!important; font-size:.87rem!important; }.visit-visual { display:grid; gap:16px; align-content:start; }.entrance-photo { position:relative; margin:0; overflow:hidden; border-radius:16px; background:#1d2421; }.entrance-photo img { display:block; width:100%; max-height:330px; object-fit:cover; object-position:center 57%; }.entrance-photo figcaption { padding:12px 15px; color:#fff; font-size:.88rem; font-weight:700; line-height:1.35; }.map-wrap { overflow:hidden; border:1px solid #d0d0c4; border-radius:16px; background:#fff; }.map-wrap iframe { display:block; width:100%; min-height:350px; border:0; }.map-wrap p { margin:0; padding:12px 15px; color:var(--muted); font-size:.78rem; }
.contacts { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; padding:92px 0; }.contacts p { max-width:510px; }.contact-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.contact-actions a { display:block; min-height:100px; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--card); box-shadow:0 5px 15px rgb(24 43 39 / .04); text-decoration:none; }.contact-actions a:hover { border-color:var(--orange); }.contact-actions small,.contact-actions strong { display:block; }.contact-actions small { color:var(--muted); margin-bottom:8px; }.contact-actions strong { font-size:1.04rem; line-height:1.1; }
footer { display:flex; justify-content:space-between; gap:20px; padding:38px 0 48px; color:var(--muted); font-size:.9rem; }
@media (max-width:900px) { nav { display:none; }.products { grid-template-columns:repeat(2,1fr); }.visit { grid-template-columns:1fr; }.map-wrap iframe { min-height:350px; } }
@media (max-width:620px) { .topbar,main,footer { width:min(100% - 28px,1180px); }.topbar { min-height:70px; gap:12px; }.brand { font-size:1.45rem; }.order-link { font-size:.82rem; }.hero { grid-template-columns:1fr; padding:36px 0 55px; }.hero-photo { min-height:390px; border-radius:180px 180px 20px 20px; }.hero-photo img { height:390px; }.quick-facts,.products,.entrances { grid-template-columns:1fr; }.quick-facts>div { min-height:95px; }.notice,.section-heading,.catalog-cta,.contacts,footer { grid-template-columns:1fr; display:grid; }.notice { gap:8px; padding:22px 0; }.catalog { padding:65px 0 45px; }.section-heading { align-items:start; margin-bottom:32px; }.product-groups { gap:38px; }.product { min-height:190px; }.catalog-cta { padding-top:28px; }.visit { padding:34px 24px; margin-inline:-1px; gap:30px; }.map-wrap iframe { min-height:310px; }.contacts { padding:65px 0; gap:18px; } footer { padding-top:30px; } }
