@import url("https://fonts.googleapis.com/css2?family=Archivo+Expanded:wght@600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap");:root{--ink:#1c2430;--ink-soft:#3d4759;--paper:#faf9f5;--paper-raised:#fff;--line:#e2ddd0;--brick:#b3401f;--brick-dark:#8f3118;--blueprint:#2b4c7e;--blueprint-soft:#eef2f8;--caution:#e8a33d;--success:#3f7d4f;--font-display:"Archivo Expanded","Arial Narrow",sans-serif;--font-body:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius:4px;--radius-lg:8px;--max-width:1180px}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-.01em;margin:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}button{font-family:inherit;cursor:pointer}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius);font-weight:600;font-size:15px;border:1px solid transparent;transition:background-color .12s ease,border-color .12s ease}.btn-primary{background:var(--brick);color:#fff}.btn-primary:hover{background:var(--brick-dark)}.btn-secondary{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-secondary:hover{background:var(--ink);color:#fff}.btn-ghost{background:transparent;color:var(--blueprint);padding:12px 8px}.btn-ghost:hover{text-decoration:underline}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px}.badge-verified{background:var(--blueprint-soft);color:var(--blueprint)}.badge-featured{background:#fbf1de;color:#8a5a10}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.layout-with-sidebar{display:grid;grid-template-columns:1fr 300px;grid-gap:32px;gap:32px;align-items:start}.sidebar-sticky{position:-webkit-sticky;position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}.ribbon-featured{position:absolute;top:10px;left:-6px;background:var(--brick);color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:4px 10px 4px 12px;border-radius:0 3px 3px 0;box-shadow:0 2px 4px rgba(28,36,48,.15)}.ribbon-featured:after{content:"";position:absolute;left:0;top:100%;border-width:3px 6px 0 0;border-style:solid;border-color:var(--brick-dark) transparent transparent transparent}.btn-call{background:var(--success);color:#fff}.btn-call:hover{background:#2f5f3c}.clamp-2{-webkit-line-clamp:2}.clamp-2,.clamp-3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.clamp-3{-webkit-line-clamp:3}.review-excerpt{border-left:2px solid var(--line);padding-left:10px;font-size:13px;color:var(--ink-soft);font-style:italic}.rating-bar-row{display:grid;grid-template-columns:40px 1fr 30px;align-items:center;grid-gap:8px;gap:8px;font-size:12.5px;color:var(--ink-soft)}.rating-bar-track{height:7px;background:var(--paper);border-radius:999px;overflow:hidden}.rating-bar-fill{height:100%;background:var(--caution)}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px}.photo-gallery img{width:100%;height:120px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}.mobile-nav-toggle{display:none}@media (max-width:860px){.layout-with-sidebar{grid-template-columns:1fr}.sidebar-sticky{position:static}}@media (max-width:640px){.container{padding:0 16px}h1{font-size:24px!important}h2{font-size:18px!important}.desktop-nav-links{display:none!important}.mobile-nav-toggle{display:inline-flex}.hide-mobile{display:none!important}}