:root{--color-forest:#1B4332;--color-forest-2:#163B2B;--color-leaf:#40916C;--color-leaf-dark:#2D6A4F;--color-mint:#D8F3DC;--color-cream:#FAF6EF;--color-charcoal:#22261F;--color-charcoal-70:rgba(34,38,31,.7);--color-gold:#E1A940;--color-white:#FFFFFF;--color-line:#E4DFD2;--font-display:"Fraunces",Georgia,serif;--font-body:"Work Sans",-apple-system,BlinkMacSystemFont,sans-serif;--radius-s:8px;--radius-m:14px;--radius-l:26px;--shadow-card:0 2px 4px rgba(27,67,50,.06),0 10px 24px rgba(27,67,50,.08);--shadow-card-hover:0 6px 10px rgba(27,67,50,.10),0 20px 36px rgba(27,67,50,.14);--container:1200px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--color-charcoal);background:var(--color-cream);line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 .5em;line-height:1.15;font-weight:600}p{margin:0 0 1em}button{font-family:inherit;cursor:pointer}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-leaf-dark);font-weight:600;margin-bottom:14px}.section{padding:88px 0}.section--tight{padding:56px 0}.section--forest{background:var(--color-forest);color:var(--color-mint)}.section--forest h2,.section--forest h3{color:var(--color-white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;border:none;font-weight:600;font-size:.95rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn-primary{background:var(--color-leaf);color:var(--color-white)}.btn-primary:hover{background:var(--color-leaf-dark);transform:translateY(-1px);box-shadow:0 10px 20px rgba(45,106,79,.28)}.btn-ghost{background:transparent;color:var(--color-cream);border:1.5px solid rgba(250,246,239,.4)}.btn-ghost:hover{border-color:var(--color-cream)}.btn-outline{background:transparent;color:var(--color-forest);border:1.5px solid var(--color-forest)}.btn-outline:hover{background:var(--color-forest);color:var(--color-white)}.compass{width:1em;height:1em;display:inline-block;flex-shrink:0}.compass-mark{position:relative;width:34px;height:34px}.compass-mark svg{width:100%;height:100%}.compass-watermark{position:absolute;opacity:.06;pointer-events:none}.site-header{position:sticky;top:0;z-index:50;background:var(--color-cream);border-bottom:1px solid var(--color-line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px}.brand{display:flex;align-items:center;gap:10px}.brand-word{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-forest);letter-spacing:-.01em}.brand .compass-mark svg{color:var(--color-leaf)}.main-nav ul{display:flex;gap:30px}.main-nav a{font-size:.95rem;font-weight:500;color:var(--color-charcoal);position:relative;padding:6px 0}.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-leaf);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.main-nav a:hover::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:14px}.menu-toggle{display:none;background:none;border:none;padding:8px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--color-forest);margin:5px 0;border-radius:2px}.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--color-forest) 0%,var(--color-forest-2) 100%);color:var(--color-white);padding:90px 0 130px}.hero .compass-watermark{top:-60px;right:-60px;width:420px;height:420px;color:var(--color-mint)}.hero__content{max-width:640px;position:relative;z-index:2}.hero h1{font-size:clamp(2.2rem,4vw,3.4rem);color:var(--color-white)}.hero h1 em{font-style:normal;color:var(--color-mint)}.hero p.lead{font-size:1.15rem;color:rgba(250,246,239,.82);max-width:520px}.search-card{position:relative;z-index:2;margin-top:38px;background:var(--color-white);border-radius:var(--radius-l);padding:10px;display:flex;flex-wrap:wrap;gap:8px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.search-field{flex:1 1 200px;display:flex;flex-direction:column;gap:2px;padding:10px 18px;border-radius:var(--radius-m)}.search-field:hover{background:var(--color-cream)}.search-field label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--color-leaf-dark)}.search-field input,.search-field select{border:none;font-family:inherit;font-size:.95rem;color:var(--color-charcoal);background:transparent;padding:0}.search-field input:focus,.search-field select:focus{outline:none}.search-card .btn-primary{flex:0 0 auto;align-self:center;margin:4px}.category-pills{display:flex;gap:12px;margin-top:28px;position:relative;z-index:2;flex-wrap:wrap}.category-pill{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);font-size:.88rem;font-weight:500;color:var(--color-cream);transition:background .2s ease}.category-pill:hover,.category-pill.is-active{background:var(--color-leaf);border-color:var(--color-leaf)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap}.section-head h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:0}.section-head .section-desc{color:var(--color-charcoal-70);max-width:460px;margin:6px 0 0}.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:26px}.listing-card{background:var(--color-white);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow .25s ease,transform .25s ease;display:flex;flex-direction:column}.listing-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.listing-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--color-mint)}.listing-card__media img{width:100%;height:100%;object-fit:cover}.listing-card__badge{position:absolute;top:12px;left:12px;background:var(--color-white);color:var(--color-forest);font-size:.72rem;font-weight:700;padding:5px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.listing-card__body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.listing-card__title{font-size:1.08rem;margin:0}.listing-card__loc{font-size:.85rem;color:var(--color-charcoal-70)}.rating{display:flex;align-items:center;gap:6px}.rating__stars{display:inline-flex;gap:2px;color:var(--color-gold)}.rating__stars svg{width:15px;height:15px}.rating__count{font-size:.82rem;color:var(--color-charcoal-70)}.listing-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px dashed var(--color-line)}.price-tag{font-weight:700;color:var(--color-leaf-dark);font-size:.9rem}.quote-band{background:var(--color-mint);border-radius:var(--radius-l);padding:52px;display:flex;gap:40px;align-items:center;flex-wrap:wrap}.quote-band blockquote{font-family:var(--font-display);font-size:1.5rem;margin:0;flex:1 1 420px;color:var(--color-forest);font-weight:500}.quote-band cite{display:block;font-style:normal;font-size:.9rem;margin-top:14px;color:var(--color-charcoal-70)}.cta-band{text-align:center}.cta-band h2{color:var(--color-white)}.cta-form{display:flex;justify-content:center;gap:10px;margin-top:26px;flex-wrap:wrap}.cta-form input[type="email"]{padding:14px 20px;border-radius:999px;border:none;min-width:280px;font-family:inherit}.cta-form input[type="email"]:focus{outline:2px solid var(--color-mint);outline-offset:2px}.listing-hero{position:relative;border-radius:var(--radius-l);overflow:hidden;aspect-ratio:21/8;background:var(--color-mint);margin-bottom:28px}.listing-hero img{width:100%;height:100%;object-fit:cover}.listing-header{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:34px}.listing-header h1{margin-bottom:8px}.listing-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--color-charcoal-70);font-size:.92rem}.rating-block{text-align:center;background:var(--color-forest);color:var(--color-white);border-radius:var(--radius-m);padding:18px 26px;min-width:130px}.rating-block__score{font-family:var(--font-display);font-size:2.1rem;line-height:1}.rating-block .rating__stars{justify-content:center;margin:8px 0 4px}.review{padding:24px 0;border-bottom:1px solid var(--color-line);display:flex;gap:16px}.review__avatar{width:44px;height:44px;border-radius:50%;background:var(--color-mint);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--color-forest);flex-shrink:0}.review__name{font-weight:600;margin-bottom:2px}.review__date{font-size:.8rem;color:var(--color-charcoal-70)}.site-footer{background:var(--color-forest);color:rgba(250,246,239,.75);padding:64px 0 28px;position:relative;overflow:hidden}.site-footer .compass-watermark{bottom:-80px;left:-60px;width:340px;height:340px;color:var(--color-white)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;position:relative;z-index:1}.footer-grid h4{color:var(--color-white);font-size:.95rem;margin-bottom:14px}.footer-grid li{margin-bottom:9px;font-size:.9rem}.footer-grid a:hover{color:var(--color-white)}.footer-brand .brand-word{color:var(--color-white)}.footer-bottom{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:.8rem;flex-wrap:wrap;gap:10px;position:relative;z-index:1}.skip-link{position:absolute;left:-999px;top:auto;background:var(--color-forest);color:#fff;padding:12px 18px;z-index:999;border-radius:0 0 8px 0}.skip-link:focus{left:0;top:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:780px){.main-nav{display:none}.menu-toggle{display:block}.search-card{flex-direction:column}.search-card .btn-primary{width:100%}.quote-band{padding:32px}.footer-grid{grid-template-columns:1fr}}