*,:after,:before{box-sizing:border-box}:root{--bg:#faf4ec;--surface:#ffffff;--surface-alt:#f1e7d8;--ink:#1b1613;--ink-soft:#6b5f55;--primary:#b4241c;--primary-hover:#8f1b15;--on-primary:#fdf3ec;--accent:#e0912f;--border:#e7dac6;--dark:#181310;--on-dark:#f4e9da;--radius:14px;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--maxw:1120px}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;margin:0;letter-spacing:-.01em}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.page{min-height:100vh;background:var(--page);color:var(--ink)}.site-header{position:fixed;top:0;left:0;right:0;z-index:30;background:transparent;border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease;animation:header-solidify linear both;animation-timeline:scroll(root);animation-range:0 170px}@keyframes header-solidify{to{background:color-mix(in srgb,var(--dark) 84%,transparent);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);border-bottom-color:rgba(255,255,255,.1)}}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}.brand{display:flex;flex-direction:column;line-height:1.05}.brand .mark{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--primary) 60%,#fff);font-weight:700;text-shadow:0 1px 10px rgba(0,0,0,.35)}.brand .name{font-family:var(--font-display);font-size:21px;font-weight:600;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.5)}.brand-logo{height:46px;width:auto;display:block;filter:drop-shadow(0 1px 10px rgba(0,0,0,.4))}.nav{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:500;color:rgba(255,255,255,.85)}.nav a{text-shadow:0 1px 10px rgba(0,0,0,.45)}.nav a:hover{color:#fff}.nav .btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;text-shadow:none}.nav .btn-ghost:hover{background:rgba(255,255,255,.14)}.hero{background:var(--dark);color:var(--on-dark);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(120% 80% at 85% -10%,color-mix(in srgb,var(--primary) 45%,transparent),transparent 60%),radial-gradient(90% 70% at 0 120%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 55%);pointer-events:none}.hero.has-image:after{display:none}.hero-media{position:absolute;inset:0;z-index:0}.hero-media img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:32% 38%;animation:kenburns 20s ease-in-out infinite alternate;will-change:transform}@keyframes kenburns{0%{transform:scale(1.04)}to{transform:scale(1.22)}}@media (prefers-reduced-motion:reduce){.hero-media img{animation:none}}.hero-scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--dark) 40%,transparent)}.hero-inner{position:relative;z-index:2;padding:124px 0 96px;max-width:720px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--on-dark) 78%,transparent);margin-bottom:22px;font-weight:600}.eyebrow:before{content:"";width:26px;height:2px;background:var(--primary);display:inline-block}.hero-title{font-size:clamp(40px,6vw,68px);letter-spacing:-.02em}.hero-sub{margin-top:22px;font-size:clamp(17px,2vw,20px);color:color-mix(in srgb,var(--on-dark) 82%,transparent);max-width:560px}.section{padding:32px 0 56px}.section--alt{background:var(--surface-alt)}.section-head{max-width:640px;margin-bottom:34px}.kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-weight:700;margin-bottom:12px}.section-title{font-size:clamp(26px,3.4vw,36px)}.lead{margin-top:14px;color:var(--ink-soft);font-size:17px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .05s ease,background .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--ink)}.btn-ghost:hover{background:var(--surface-alt)}.btn-dark{background:var(--on-primary);color:var(--dark)}.hero-inner .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}.hero-inner .btn-ghost:hover{background:rgba(255,255,255,.14)}.ph{position:relative;width:100%;height:100%;min-height:inherit;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 82%,#000 8%),color-mix(in srgb,var(--dark) 88%,var(--primary)));overflow:hidden}.ph:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 30% 20%,color-mix(in srgb,var(--accent) 40%,transparent),transparent 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 2px,transparent 2px 7px)}.ph[data-label]:after{content:attr(data-label);position:absolute;left:16px;bottom:14px;font-family:var(--font-display);font-size:15px;color:rgba(255,255,255,.82);letter-spacing:.02em}.featured{display:grid;grid-template-columns:1.05fr 1fr;grid-gap:0;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);overflow:hidden;box-shadow:0 24px 60px -32px color-mix(in srgb,var(--dark) 45%,transparent)}.featured-media{min-height:380px}.featured-body{padding:40px;display:flex;flex-direction:column;min-width:0}.featured-desc,.featured-name,.featured-tagline{overflow-wrap:break-word}.badge{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:18px}.featured-name{font-size:34px;margin-bottom:6px}.featured-tagline{color:var(--primary);font-weight:600;font-size:16px;margin-bottom:14px}.featured-desc{font-size:16px}.featured-desc,.meta{color:var(--ink-soft)}.meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}.meta b{color:var(--ink);font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.tag{font-size:12.5px;padding:5px 11px;border-radius:999px;background:var(--surface-alt);color:var(--ink-soft);font-weight:500}.spotlight-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s ease,transform .18s ease}.card:hover{box-shadow:0 20px 44px -30px color-mix(in srgb,var(--dark) 50%,transparent);transform:translateY(-2px)}.card-media{height:172px}.card-body{padding:22px;display:flex;flex-direction:column;flex:1 1}.card-name{font-size:22px;margin-bottom:4px}.card-tagline{color:var(--primary);font-weight:600;font-size:14px;margin-bottom:10px}.card-desc{color:var(--ink-soft);font-size:14.5px;flex:1 1}.list{display:grid;grid-gap:14px;gap:14px}.list-item{display:grid;grid-template-columns:32px 76px 1fr auto;align-items:center;grid-gap:16px;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.list-num{font-family:var(--font-display);font-size:20px;color:color-mix(in srgb,var(--primary) 70%,var(--ink-soft))}.list-thumb{width:76px;height:60px;border-radius:10px;overflow:hidden;background:var(--surface-alt)}.list-thumb .ph,.list-thumb img{width:100%;height:100%;min-height:0}.list-thumb .ph:after{display:none}.list-main h4{margin:0;font-size:18px;font-family:var(--font-display);font-weight:600}.list-main p{margin:2px 0 0;color:var(--ink-soft);font-size:14px}.list-actions{display:flex;gap:8px}.pricepill{font-size:13px;color:var(--ink-soft);font-weight:600}.cta-band{background:var(--dark);color:var(--on-dark);border-radius:calc(var(--radius) + 8px);padding:48px;text-align:center;position:relative;overflow:hidden}.cta-band:after{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 50% -20%,color-mix(in srgb,var(--primary) 40%,transparent),transparent 60%)}.cta-band>*{position:relative;z-index:1}.cta-band h2{font-size:clamp(26px,3.4vw,34px)}.cta-band p{color:color-mix(in srgb,var(--on-dark) 82%,transparent);margin:12px auto 24px;max-width:520px}.footer{border-top:1px solid var(--border);padding:40px 0;color:var(--ink-soft);font-size:14px}.footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer .foot-brand{font-family:var(--font-display);color:var(--ink);font-size:16px}.footer .foot-note{line-height:1.5;opacity:.85;max-width:780px}.footer .foot-admin,.footer .foot-note{margin-top:14px;font-size:12.5px;color:var(--ink-soft)}.footer .foot-admin{align-self:flex-end;opacity:.7;text-decoration:none;border:1px solid var(--border);padding:4px 12px;border-radius:999px}.footer .foot-admin:hover{opacity:1;color:var(--primary);border-color:var(--primary)}.card-rooms{font-size:13.5px;font-weight:600;margin:2px 0 10px}.card-rooms,.list-rooms{color:var(--ink-soft)}.review-banner{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;margin:16px 0;padding:12px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.review-banner .rb-fav{display:inline-flex;align-items:center;gap:6px;flex:none}.review-banner .rb-fav-text{font-weight:700;font-size:14.5px;line-height:1.05;color:var(--ink)}.review-banner .rb-laurel{width:14px;height:29px;color:var(--primary);flex:none}.review-banner .rb-laurel--r{transform:scaleX(-1)}.review-banner .rb-caption{flex:1 1 auto;min-width:0;font-size:12.5px;color:var(--ink-soft);line-height:1.3}.review-banner .rb-scoregroup{display:inline-flex;align-items:center;flex:none}.review-banner .rb-score{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:0 10px}.review-banner .rb-score b{font-size:16px}.review-banner .rb-stars{font-size:8.5px;color:var(--ink);letter-spacing:1px}.review-banner .rb-reviews{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:0 10px;border-left:1px solid var(--border);font-size:12px;color:var(--ink-soft)}.review-banner .rb-reviews b{font-size:16px;color:var(--ink)}.hotel-score{display:inline-flex;align-items:center;gap:9px;margin:12px 0;font-size:14px}.hotel-score .hs-badge{background:var(--primary);color:var(--on-primary);font-weight:800;font-size:14px;padding:5px 9px;border-radius:8px 8px 8px 2px}.hotel-score .hs-word{font-weight:700;color:var(--ink)}.hotel-score .hs-reviews{color:var(--ink-soft);font-size:13px}.list-score{color:var(--ink-soft)}.promo-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:4px 0 26px;padding:17px 22px;border-radius:calc(var(--radius) + 4px);background:var(--primary);border:1px solid var(--primary);box-shadow:0 18px 44px -22px color-mix(in srgb,var(--primary) 85%,transparent)}.promo-tag{flex:none;background:var(--on-primary);color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:999px}.promo-text{font-size:16px;line-height:1.5}.promo-text,.promo-text strong{color:var(--on-primary)}.tier-trial{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin:0 0 16px;font-size:13px;font-weight:700;color:var(--primary)}.tier-trial:before{content:"✦";font-size:12px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px;align-items:start}.tier{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:30px;display:flex;flex-direction:column}.tier--featured{border-color:var(--primary);box-shadow:0 26px 60px -34px color-mix(in srgb,var(--primary) 55%,transparent);position:relative}.tier--featured .best{position:absolute;top:-12px;left:30px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);font-size:11px;letter-spacing:.1em;padding:5px 12px;border-radius:999px}.tier--featured .best,.tier-name{color:var(--primary);font-weight:700;text-transform:uppercase}.tier-name{font-size:15px;letter-spacing:.04em}.tier-price{font-family:var(--font-display);font-size:40px;margin:12px 0 2px}.tier-cadence{color:var(--ink-soft);font-size:13px}.tier-blurb{color:var(--ink-soft);margin:14px 0 18px;font-size:15px}.features{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-gap:10px;gap:10px}.features li{display:flex;gap:10px;font-size:14.5px;color:var(--ink)}.features li:before{content:"✓";color:var(--primary);font-weight:800}.tier .btn{justify-content:center;margin-top:auto}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:34px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--primary) 40%,transparent);border-color:var(--primary)}.form-note{font-size:13px;color:var(--ink-soft);margin-top:6px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:26px;gap:26px}.hub-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.hub-card:hover{transform:translateY(-3px);box-shadow:0 26px 54px -34px color-mix(in srgb,var(--dark) 55%,transparent)}.hub-media{height:176px;position:relative;overflow:hidden;background-color:var(--dark);background-size:cover;background-position:50%}.hub-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.62));z-index:1}.hub-media .cat{position:absolute;left:20px;bottom:16px;color:#fff;font-family:var(--font-display);font-size:26px;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.55)}.hub-body{padding:22px 24px}.hub-body .feat-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);font-weight:700}.hub-body .feat-name{font-family:var(--font-display);font-size:19px;margin:4px 0 0;color:var(--ink)}.hub-body .go{margin-top:14px;color:var(--primary)}.hub-body .go,.stars{font-size:14px;font-weight:600}.stars{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}.stars-star{color:#F5A623}.stars-count{color:var(--ink-soft);font-weight:500}.rating-row{margin:4px 0 12px}.list-rating{color:var(--ink-soft)}.trio{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.vcard{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:28px}.vcard .vnum{font-family:var(--font-display);font-size:26px;color:var(--primary);margin-bottom:10px}.vcard h3{font-size:20px;margin-bottom:8px}.vcard p{color:var(--ink-soft);font-size:15px;margin:0}@media (max-width:860px){.featured,.trio{grid-template-columns:1fr}.featured-media{min-height:220px}.featured-body{padding:24px}.grid-2,.hub-grid,.pricing-grid,.spotlight-grid{grid-template-columns:1fr}.review-banner{flex-wrap:wrap}.nav{display:none}}@media (max-width:640px){.list-item{grid-template-columns:56px 1fr;grid-template-areas:"thumb main" "actions actions";align-items:start;gap:6px 14px;padding:14px 16px}.list-num{display:none}.list-thumb{grid-area:thumb;width:56px;height:56px}.list-main{grid-area:main}.list-main h4{font-size:16.5px}.list-actions{grid-area:actions;justify-content:flex-start;margin-top:6px}}.dev-index{max-width:760px;margin:60px auto;padding:0 24px}.dev-index h1{font-family:var(--font-display);font-size:30px;margin-bottom:8px}.dev-index p{color:var(--ink-soft)}.dev-links{display:grid;grid-gap:12px;gap:12px;margin-top:26px}.dev-links a{display:flex;justify-content:space-between;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-weight:600}.dev-links a:hover{border-color:var(--primary)}.dev-links a span{color:var(--ink-soft);font-weight:400;font-size:14px}.vcard{display:flex;flex-direction:column}.opt-bullets{list-style:none;padding:0;margin:14px 0 18px;display:grid;grid-gap:8px;gap:8px}.opt-bullets li{position:relative;padding-left:22px;font-size:14.5px;color:var(--ink)}.opt-bullets li:before{content:"\203A";position:absolute;left:3px;top:-1px;color:var(--primary);font-weight:700;font-size:17px;line-height:1}.opt-cta{margin-top:auto;font-size:14px;font-weight:600;color:var(--primary)}.opt-cta:hover{color:var(--primary-hover)}.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.pf-card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}.pf-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px -30px color-mix(in srgb,var(--dark) 50%,transparent)}.pf-media{aspect-ratio:3360/1402;position:relative;display:flex;align-items:flex-end;padding:12px;overflow:hidden}.pf-media .pf-shot{object-fit:cover;object-position:top;z-index:0}.pf-url{color:var(--ink-soft);font-size:12px;margin-top:-4px}.pf-media .pf-badge{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;z-index:1}.pf-body{padding:20px;display:flex;flex-direction:column;gap:7px;flex:1 1}.pf-body h3{font-size:19px}.pf-tagline{color:var(--primary);font-weight:600;font-size:13px}.pf-body p{color:var(--ink-soft);font-size:14px;flex:1 1;margin:0}.pf-body .tags{margin-top:4px}.pf-go{font-size:13px;font-weight:600;color:var(--ink);margin-top:8px}.pf-t1{background:linear-gradient(135deg,var(--primary),#c65b40)}.pf-t2{background:linear-gradient(135deg,#8a6d3b,var(--accent))}.pf-t3{background:linear-gradient(135deg,#7a2e1f,#a6402a)}.pf-t4{background:linear-gradient(135deg,#2f4858,#4a6b7c)}.pf-t5{background:linear-gradient(135deg,#b5462e,#e0a33a)}.pf-t6{background:linear-gradient(135deg,#5b6b52,#8a9a6f)}.hub-more{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:var(--surface);border:1px dashed var(--border);border-radius:calc(var(--radius) + 4px)}.hub-more:hover{border-color:var(--primary)}.hub-more .hm-title{font-family:var(--font-display);font-size:20px;color:var(--primary)}.hub-more p{color:var(--ink-soft);font-size:14px;margin:6px 0 0}.about-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-gap:40px;gap:40px;align-items:center}.facecard{background:var(--dark);color:var(--on-dark);border-radius:calc(var(--radius) + 4px);padding:30px}.facecard .fc-big{font-family:var(--font-display);font-size:32px;color:#fff;font-weight:600;line-height:1.1}.facecard .fc-lbl{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:6px}.facecard hr{border:none;border-top:1px solid rgba(255,255,255,.15);margin:18px 0}.facecard .fc-row{display:flex;justify-content:space-between;font-size:14px;padding:5px 0}.facecard .fc-row span:last-child{color:var(--accent);font-weight:700}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:36px;gap:36px;align-items:start}@media (max-width:860px){.pf-grid{grid-template-columns:1fr 1fr}}@media (max-width:800px){.about-grid,.contact-grid{grid-template-columns:1fr}}@media (max-width:560px){.pf-grid{grid-template-columns:1fr}}