@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Lato:wght@300;400;600&display=swap";:root{--primary-color: #2f4f4f;--secondary-color: #f5f5dc;--accent-color: #d4af37;--text-color: #222222;--white: #ffffff;--light-gray: #f8f8f8;--medium-gray: #e0e0e0;--font-heading: "Playfair Display", serif;--font-body: "Lato", sans-serif;--section-padding: 80px 0;--container-max-width: 1200px;--border-radius: 8px;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--tartan-pattern: repeating-linear-gradient( 45deg, transparent, transparent 10px, rgba(47, 79, 79, .05) 10px, rgba(47, 79, 79, .05) 20px, transparent 20px, transparent 30px, rgba(212, 175, 55, .05) 30px, rgba(212, 175, 55, .05) 40px )}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--text-color);background-color:var(--white);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin-bottom:1rem;color:var(--primary-color)}h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:1rem;font-size:clamp(1rem,2vw,1.125rem)}a{color:var(--primary-color);text-decoration:none;transition:var(--transition-smooth)}a:hover{color:var(--accent-color)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 1rem}.section{padding:var(--section-padding)}.btn{display:inline-block;padding:1rem 2rem;font-family:var(--font-body);font-weight:600;font-size:1rem;text-align:center;text-decoration:none;border:none;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition-smooth);position:relative;overflow:hidden}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:var(--accent-color);color:var(--text-color);transform:translateY(-2px);box-shadow:0 8px 25px #2f4f4f4d}.btn-secondary{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background-color:var(--primary-color);color:var(--white)}.card{background:var(--white);border-radius:var(--border-radius);padding:2rem;box-shadow:0 4px 20px #0000001a;transition:var(--transition-smooth);border:1px solid var(--medium-gray)}.card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.grid{display:grid;gap:2rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.flex{display:flex}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-column{flex-direction:column}.text-center{text-align:center}.text-accent{color:var(--accent-color)}.text-primary{color:var(--primary-color)}.font-heading{font-family:var(--font-heading)}.font-bold{font-weight:600}.bg-primary{background-color:var(--primary-color);color:var(--white)}.bg-secondary{background-color:var(--secondary-color);color:var(--text-color)}.bg-light{background-color:var(--light-gray)}.bg-tartan{background-image:var(--tartan-pattern);position:relative}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.py-1{padding-top:1rem;padding-bottom:1rem}.py-2{padding-top:2rem;padding-bottom:2rem}@media (max-width: 768px){:root{--section-padding: 60px 0}.container{padding:0 1.5rem}.grid-2,.grid-3{grid-template-columns:1fr}.btn{padding:.875rem 1.5rem;font-size:.9rem}.card{padding:1.5rem}}@media (max-width: 480px){:root{--section-padding: 40px 0}.container{padding:0 1rem}h1{font-size:2.5rem}h2{font-size:2rem}.btn{width:100%;padding:1rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}button:focus,a:focus,input:focus,textarea:focus,select:focus{outline:2px solid var(--accent-color);outline-offset:2px}.image-loading{background:linear-gradient(90deg,var(--medium-gray) 25%,var(--light-gray) 50%,var(--medium-gray) 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}
