:root{--cream:#faf8f5;--sand:#f0ebe1;--stone:#c5b49a;--charcoal:#2c2c2c;--mid:#555;--light:#888;--accent:#c17a3d;--accent-dark:#9e6230;--white:#fff;--serif:"Montserrat",sans-serif;--sans:"Lato",sans-serif;--transition:all 0.4s cubic-bezier(0.25,0.46,0.45,0.94)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--charcoal);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.hero{height:40vh;overflow:hidden;position:relative;width:100%}.hero-image{filter:brightness(.92);height:100%;object-fit:cover;object-position:center 40%;transition:transform 8s ease;width:100%}.hero:hover .hero-image{transform:scale(1.03)}.hero-overlay{background:linear-gradient(180deg,rgba(180,200,220,.15) 0,rgba(100,130,160,.25))}.hero-overlay,.hero-text{inset:0;position:absolute}.hero-text{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center;text-align:center}.hero-label{color:hsla(0,0%,100%,.92);font-family:var(--sans);font-size:1.5rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase}.hero-title{color:var(--white);font-family:var(--serif);font-size:3.5rem;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 20px rgba(0,0,0,.15)}.intro{margin:0 auto;max-width:1300px;padding:72px 8% 60px;text-align:center}.intro-heading{color:var(--charcoal);font-family:var(--serif);font-size:2.6rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;margin-bottom:24px}.intro-body{color:var(--mid);font-family:var(--sans);font-size:1.1rem;font-weight:400;letter-spacing:.01em;line-height:1.5;margin:0 auto;max-width:880px}.cards-section{margin:0 auto;max-width:1800px;padding:20px 8% 100px}.cards-grid{display:grid;gap:32px;grid-template-columns:repeat(3,1fr)}.card{background:var(--white);box-shadow:0 2px 16px rgba(0,0,0,.06);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:var(--transition)}.card,.card:after{border-radius:12px}.card:after{border:1px solid transparent;content:"";inset:0;pointer-events:none;position:absolute;transition:border-color .3s ease}.card:hover{box-shadow:0 16px 48px rgba(0,0,0,.12);transform:translateY(-6px)}.card:hover:after{border-color:rgba(193,122,61,.2)}.card-image-wrap{flex-shrink:0;height:220px;overflow:hidden;width:100%}.card-image-wrap img{height:100%;object-fit:cover;object-position:center;transition:transform .6s cubic-bezier(.25,.46,.45,.94);width:100%}.card:hover .card-image-wrap img{transform:scale(1.08)}.card-body{display:flex;flex:1;flex-direction:column;padding:24px 24px 28px}.card-title{color:var(--charcoal);font-family:var(--serif);font-size:1.2rem;font-weight:700;letter-spacing:0;line-height:1.3;margin-bottom:10px}.card-desc{color:var(--mid);display:-webkit-box;flex:1;font-size:.875rem;-webkit-line-clamp:3;line-height:1.75;margin-bottom:20px;-webkit-box-orient:vertical;overflow:hidden}.card-desc,.card-link{font-family:var(--sans);font-weight:400}.card-link{align-items:center;color:#27ae60;display:inline-flex;font-size:1rem;gap:8px;letter-spacing:.02em;margin-top:auto;transition:gap .25s ease,color .25s ease}.card-link:hover{color:var(--accent-dark);gap:14px}.card-link svg{flex-shrink:0;height:18px;transition:transform .25s ease;width:18px}.card-link:hover svg{transform:translateX(3px)}.fade-up{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}.fade-up.visible{opacity:1;transform:translateY(0)}.card:first-child{transition-delay:.05s}.card:nth-child(2){transition-delay:.12s}.card:nth-child(3){transition-delay:.19s}.card:nth-child(4){transition-delay:.26s}.card:nth-child(5){transition-delay:.33s}.card:nth-child(6){transition-delay:.4s}@media (max-width:1024px){.cards-grid{gap:24px}.hero-title{font-size:1.9rem}.intro-heading{font-size:2.2rem}}@media (max-width:768px){.hero{height:30vh}.hero-title{font-size:1.6rem}.intro{padding:52px 6% 44px}.intro-heading{font-size:1.8rem}.cards-section{padding:10px 6% 80px}.cards-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.card-image-wrap{height:190px}}@media (max-width:540px){.hero{height:30vh}.hero-title{font-size:1.8rem}.hero-label{font-size:.9rem}.intro{padding:40px 5% 36px}.intro-heading{font-size:1.55rem}.intro-body{font-size:.9rem}.cards-section{max-width:100%;overflow:hidden;padding:10px 0 60px}.cards-grid{align-items:stretch;display:flex;flex-direction:row;gap:0;overflow:visible;transition:transform .4s cubic-bezier(.25,.46,.45,.94);will-change:transform}.card{flex:0 0 calc(100vw - 40px);margin:0 20px 0 0;transform:none!important;width:calc(100vw - 40px)}.card:first-child{margin-left:20px}.card:last-child{margin-right:20px}.card-image-wrap{height:210px}.card-title{font-size:1.1rem}.fade-up{opacity:1!important;transform:none!important}.carousel-controls{align-items:center;gap:16px;justify-content:center;margin-top:24px;padding:0 5%}.carousel-btn,.carousel-controls,.carousel-dots{display:flex!important}}.carousel-controls{gap:16px;margin-top:24px}.carousel-btn,.carousel-controls{align-items:center;display:none;justify-content:center}.carousel-btn{background:var(--accent);border:none;border-radius:50%;box-shadow:0 2px 10px rgba(193,122,61,.3);color:var(--white);cursor:pointer;flex-shrink:0;height:40px;transition:background .2s ease,transform .2s ease;width:40px}.carousel-btn:hover{background:var(--accent-dark);transform:scale(1.08)}.carousel-btn:disabled{background:#ddd;box-shadow:none;cursor:default;transform:none}.carousel-btn svg{height:16px;pointer-events:none;width:16px}.carousel-dots{align-items:center;display:none;gap:6px}.carousel-dot{background:#d0d0d0;border:none;border-radius:50%;cursor:pointer;flex-shrink:0;height:8px;padding:0;transition:all .3s ease;width:8px}.carousel-dot.active{background:var(--accent);border-radius:4px;width:24px}