@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{--bg:#f3f0e9;--surface:#fbfaf7;--surface-raised:#e9e5dc;--border:#21231f24;--text:#20231f;--text-muted:#686b64;--accent:#1f312a;--radius-sm:12px;--radius-md:22px;--radius-lg:30px;--radius-full:999px;--shadow-soft:0 1px 2px #080c140f;--font-sans:"DM Sans",system-ui,sans-serif;--font-display:"Playfair Display",Georgia,serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font:400 15px/1.55 var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #d3a955}img{max-width:100%;display:block}.serif{font-family:var(--font-display);letter-spacing:-.025em;font-weight:500}.mono{font:600 11px/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.container{max-width:1240px;margin:0 auto;padding:0 32px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.pill{border-radius:var(--radius-full);background:var(--surface-raised);padding:9px 13px;display:inline-block}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.btn{border-radius:var(--radius-full);cursor:pointer;border:0;justify-content:center;align-items:center;padding:14px 22px;text-decoration:none;display:inline-flex}.btn--dark{color:#fff;background:var(--accent)}.btn--dark:hover{background:#344a41}.hero{border-radius:var(--radius-lg);background:linear-gradient(180deg,#080c128c,#080c121a 55%,#080c128c),var(--hero-image) center/cover no-repeat;color:#fff;min-height:760px;margin:14px;position:relative;overflow:hidden}.hero__nav{width:min(760px,100% - 36px);height:72px;color:var(--text);background:#fbfaf7f5;border-radius:0 0 20px 20px;justify-content:space-between;align-items:center;margin:0 auto;padding:0 10px 0 20px;display:flex}.brand{color:inherit;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.mark{background:var(--accent);color:#fff;width:28px;height:28px;font-family:var(--font-display);border-radius:50%;place-items:center;display:grid}.nav-links{gap:28px;display:flex}.nav-links a{color:var(--text-muted);font-size:13px;text-decoration:none}.nav-links a:hover{color:var(--text)}.nav-cta{border-radius:var(--radius-full);background:var(--accent);color:#fff;align-items:center;gap:14px;padding:11px 16px;font-size:13px;text-decoration:none;display:flex}.hero__content{text-align:center;width:min(850px,90%);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-46%)}.hero__eyebrow{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000001a;border:1px solid #ffffff73;margin-bottom:24px;padding:10px 14px;display:inline-block}.hero h1{text-shadow:0 2px 28px #0000002e;font-size:clamp(54px,7vw,92px);line-height:.98}.hero h1 em{font-weight:500}.hero__content>p{color:#ffffffdb;max-width:570px;margin:26px auto;font-size:17px}.hero__button{border-radius:var(--radius-full);color:var(--text);background:#fff;align-items:center;gap:30px;padding:15px 16px 15px 22px;font-weight:600;text-decoration:none;display:inline-flex}.hero__button span{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.hero__bottom{color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:24px;left:34px;right:34px}.intro-section{text-align:center;padding:128px 28px 112px}.intro-section h2{margin:22px 0;font-size:clamp(42px,5vw,66px);line-height:1.08}.intro-section p{max-width:590px;color:var(--text-muted);margin:0 auto;font-size:17px}.hotel-section{background:#fbfaf7;padding:100px 0 116px}.section-head{justify-content:space-between;align-items:end;margin-bottom:36px;display:flex}.section-head h2{margin-top:12px;font-size:54px;line-height:1}.result-count{color:var(--text-muted)}.search-row{border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-columns:1fr repeat(3,auto);gap:10px;margin-bottom:34px;padding:10px;display:grid}.search-field{align-items:center;gap:10px;min-width:220px;padding:0 12px;display:flex}.search-field>span{font-size:24px;transform:rotate(-15deg)}.search-field input{background:0 0;border:0;outline:0;width:100%}.search-row select{border:1px solid var(--border);min-width:145px;color:var(--text);background:var(--bg);cursor:pointer;border-radius:11px;padding:12px 34px 12px 14px}.hotel-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.hotel-card{transition:transform .18s,border-color .18s;overflow:hidden}.hotel-card:hover,.hotel-card:focus-within{border-color:#21231f47;transform:translateY(-3px)}.hotel-card__image-button{cursor:pointer;background:#ddd;border:0;width:100%;height:250px;display:block;position:relative;overflow:hidden}.hotel-card__image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.hotel-card:hover .hotel-card__image{transform:scale(1.025)}.hotel-card__rating{border-radius:var(--radius-full);background:#fbfaf7f0;padding:7px 10px;font-weight:600;position:absolute;top:14px;right:14px}.hotel-card__body{padding:22px}.hotel-card__meta{color:var(--text-muted)}.hotel-card__title{text-align:left;cursor:pointer;background:0 0;border:0;margin:12px 0 8px;font-size:27px;line-height:1.15;display:block}.hotel-card__title:hover{text-underline-offset:4px;text-decoration:underline}.hotel-card__body>p{min-height:48px;color:var(--text-muted)}.hotel-card__footer{border-top:1px solid var(--border);justify-content:space-between;align-items:end;margin-top:24px;padding-top:17px;display:flex}.hotel-card__footer strong,.hotel-card__footer small{display:block}.hotel-card__footer small{color:var(--text-muted);margin-top:2px;font-size:11px}.round-button{border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;border-radius:50%;width:42px;height:42px;font-size:18px}.round-button:hover{background:var(--accent);color:#fff}.load-more{border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;background:0 0;align-items:center;gap:14px;margin:42px auto 0;padding:14px 20px;display:flex}.load-more span{color:var(--text-muted)}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md);padding:90px 20px}.empty h3{font-size:34px}.empty p{color:var(--text-muted);margin:8px 0 22px}.empty button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:99px;padding:12px 18px}.district-section{background:#d8d2c5;padding:110px 0}.district-layout{grid-template-columns:.8fr 1.2fr;gap:80px;display:grid}.district-layout h2{margin-top:18px;font-size:58px;line-height:1.08}.district-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #21231f33;grid-template-columns:42px 1fr 1.35fr 28px;align-items:center;gap:14px;width:100%;padding:24px 0;display:grid}.district-list button:first-child{border-top:1px solid #21231f33}.district-list span{color:var(--text-muted);font-size:11px}.district-list strong{font-family:var(--font-display);font-size:23px}.district-list small{color:var(--text-muted);font-size:13px}.district-list b{font-size:20px;transition:transform .2s}.district-list button:hover b{transform:translate(5px)}footer{color:#f4f1e9;text-align:center;background:#17231f;padding:76px 42px 28px}.footer-brand{font-size:64px}.footer-brand+p{color:#ffffffa6;margin:6px 0 58px}footer>div:last-child{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;border-top:1px solid #ffffff24;justify-content:space-between;padding-top:20px;font-size:11px;display:flex}.drawer-layer{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f110f85;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:min(560px,100%);height:100%;position:relative;overflow-y:auto;box-shadow:-20px 0 80px #0003}.drawer__image{object-fit:cover;width:100%;height:340px}.drawer__close{cursor:pointer;background:#fbfaf7f2;border:0;border-radius:50%;width:44px;height:44px;font-size:28px;position:absolute;top:18px;right:18px}.drawer__content{padding:40px}.drawer h2{margin:20px 0 16px;font-size:48px;line-height:1.04}.drawer__lead{color:var(--text-muted);font-size:17px}.drawer__facts{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin:30px 0;padding:22px 0;display:grid}.drawer__facts div{border-right:1px solid var(--border);text-align:center}.drawer__facts div:last-child{border:0}.drawer__facts strong,.drawer__facts span{display:block}.drawer__facts strong{font-size:17px}.drawer__facts span{color:var(--text-muted);margin-top:4px;font-size:11px}.drawer h3{margin-bottom:12px}.feature-pills{flex-wrap:wrap;gap:8px;display:flex}.feature-pills span{background:var(--surface-raised);border-radius:99px;padding:9px 12px}.drawer__fine{color:var(--text-muted);margin:26px 0;font-size:12px}@media (width<=900px){.hotel-grid{grid-template-columns:repeat(2,1fr)}.search-row{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1;min-height:48px}.search-row select{width:100%}.search-row label:last-child{grid-column:1/-1}.district-layout{grid-template-columns:1fr;gap:48px}.nav-links{display:none}}@media (width<=620px){.container{padding:0 18px}.hero{min-height:700px;margin:8px}.hero__nav{height:66px}.nav-cta{padding:10px 13px}.hero h1{font-size:50px}.hero__bottom span:first-child,.hero__bottom span:last-child{display:none}.hero__bottom{justify-content:center}.intro-section{padding:90px 18px}.hotel-section{padding:72px 0}.section-head h2{font-size:42px}.result-count{display:none}.search-row{flex-direction:column;display:flex}.search-field{min-height:48px}.hotel-grid{grid-template-columns:1fr}.hotel-card__image-button{height:230px}.district-section{padding:80px 0}.district-layout h2{font-size:46px}.district-list button{grid-template-columns:30px 1fr 24px}.district-list small{grid-column:2/3}.footer-brand{font-size:50px}footer>div:last-child{flex-direction:column;gap:8px}.drawer__content{padding:28px 22px}.drawer h2{font-size:40px}.drawer__image{height:280px}.drawer__facts{grid-template-columns:1fr;gap:16px}.drawer__facts div{border:0}}
