@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=Crimson+Pro:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap");:root{--forest-green:#1b3d2f;--charcoal:#2d2d2d;--soft-sage:#a8b5a0;--antique-gold:#c9a959;--warm-cream:#f5f0e6;--forest-green-dark:#152e24;--forest-green-light:#264a3a;--charcoal-light:#3d3d3d;--antique-gold-light:#d4b76a;--antique-gold-dark:#b8944a;--warm-cream-dark:#e8e3d9;--forest-green-90:rgba(27,61,47,.9);--forest-green-80:rgba(27,61,47,.8);--forest-green-70:rgba(27,61,47,.7);--charcoal-90:rgba(45,45,45,.9);--charcoal-80:rgba(45,45,45,.8);--antique-gold-20:rgba(201,169,89,.2);--antique-gold-30:rgba(201,169,89,.3);--font-display:"Playfair Display",serif;--font-body:"Inter",sans-serif;--font-accent:"Crimson Pro",serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{background-color:var(--warm-cream);color:var(--charcoal);font-family:var(--font-body);font-weight:400;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--charcoal)}h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700}h2{font-size:clamp(1.75rem,4vw,3rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}a{color:var(--forest-green);text-decoration:none;transition:color .2s ease}a:hover{color:var(--antique-gold)}::selection{background-color:var(--antique-gold);color:var(--charcoal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-family:var(--font-body);font-weight:600;font-size:.95rem;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;text-decoration:none;position:relative;overflow:hidden}.btn-primary{background-color:var(--forest-green);color:var(--warm-cream);box-shadow:0 4px 14px rgba(27,61,47,.3)}.btn-primary:hover{background-color:var(--antique-gold);transform:translateY(-2px);box-shadow:0 6px 20px rgba(201,169,89,.4);color:var(--charcoal)}.btn-secondary{background-color:var(--charcoal);color:var(--warm-cream);box-shadow:0 4px 14px rgba(45,45,45,.3)}.btn-secondary:hover{background-color:var(--charcoal-light);transform:translateY(-2px);color:var(--warm-cream)}.btn-outline{background:transparent;color:var(--antique-gold);border:2px solid var(--antique-gold)}.btn-outline:hover{background:var(--antique-gold);color:var(--charcoal)}.card{background:var(--warm-cream);border-radius:12px;border:1px solid var(--soft-sage);box-shadow:0 4px 20px rgba(45,45,45,.08);overflow:hidden;transition:all .3s ease;position:relative}.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(45,45,45,.12);border-color:var(--antique-gold)}.card-framed{background:var(--warm-cream);border-radius:4px;position:relative;padding:2rem}.card-framed:before{inset:8px;border:1px solid var(--soft-sage);border-radius:2px}.card-framed:after,.card-framed:before{content:"";position:absolute;pointer-events:none}.card-framed:after{inset:12px;border:1px solid var(--antique-gold-20);border-radius:2px}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.8rem;font-weight:500;border-radius:100px;background-color:var(--warm-cream-dark);color:var(--charcoal);border:1px solid var(--soft-sage);transition:all .2s ease}.badge:hover{background-color:var(--antique-gold-20);border-color:var(--antique-gold)}.badge-active{background-color:var(--forest-green);color:var(--warm-cream);border-color:var(--forest-green)}.nav-link{font-family:var(--font-body);font-weight:500;font-size:.95rem;color:var(--warm-cream);padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;text-decoration:none;position:relative}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--antique-gold);transition:all .3s ease;transform:translateX(-50%)}.nav-link:hover{color:var(--antique-gold)}.nav-link:hover:after{width:80%}.nav-link.active{color:var(--antique-gold)}.nav-link.active:after{width:80%}input[type=email],input[type=search],input[type=tel],input[type=text],select,textarea{width:100%;background:#fff;border:1px solid var(--soft-sage);border-radius:8px;padding:.75rem 1rem;font-family:var(--font-body);font-size:.95rem;color:var(--charcoal);transition:all .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--forest-green);box-shadow:0 0 0 3px var(--antique-gold-20)}input::placeholder,textarea::placeholder{color:var(--soft-sage)}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--charcoal);font-size:.9rem}.wave-divider{width:100%;height:60px;background:transparent;position:relative;overflow:hidden}.wave-divider:before{content:"";position:absolute;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C150,60 350,0 600,30 C850,60 1050,0 1200,30 L1200,60 L0,60 Z' fill='%23F5F0E6'/%3E%3Cpath d='M0,35 C150,55 350,15 600,35 C850,55 1050,15 1200,35' fill='none' stroke='%23C9A959' stroke-width='1' opacity='0.5'/%3E%3C/svg%3E");background-size:100% 100%}.wave-divider-dark:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C150,60 350,0 600,30 C850,60 1050,0 1200,30 L1200,60 L0,60 Z' fill='%231B3D2F'/%3E%3Cpath d='M0,35 C150,55 350,15 600,35 C850,55 1050,15 1200,35' fill='none' stroke='%23C9A959' stroke-width='1' opacity='0.3'/%3E%3C/svg%3E")}.ornament-line{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0}.ornament-line:after,.ornament-line:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--soft-sage),transparent)}.ornament-line-icon{color:var(--antique-gold);font-size:1.25rem}.flourish-frame{position:relative}.flourish-frame:after,.flourish-frame:before{content:"";position:absolute;width:40px;height:40px;border:2px solid var(--antique-gold);opacity:.6}.flourish-frame:before{top:-8px;left:-8px;border-right:none;border-bottom:none;border-top-left-radius:8px}.flourish-frame:after{bottom:-8px;right:-8px;border-left:none;border-top:none;border-bottom-right-radius:8px}.text-gold{color:var(--antique-gold)}.text-forest{color:var(--forest-green)}.text-sage{color:var(--soft-sage)}.section-label{color:var(--antique-gold);font-family:var(--font-accent);font-size:1rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:10;animation:bounce 2s infinite;color:var(--antique-gold);opacity:.8}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--charcoal-90);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease}.modal-content{background:var(--warm-cream);border-radius:12px;max-width:550px;width:100%;max-height:90vh;overflow-y:auto;animation:fadeInUp .4s ease;box-shadow:0 25px 80px rgba(0,0,0,.3);border:1px solid var(--soft-sage)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--warm-cream)}::-webkit-scrollbar-thumb{background:var(--soft-sage);border-radius:10px;border:2px solid var(--warm-cream)}::-webkit-scrollbar-thumb:hover{background:var(--forest-green)}@media (max-width:768px){.hide-mobile{display:none!important}}@media (min-width:769px){.hide-desktop{display:none!important}}@media (max-width:768px){.hero-background{position:absolute!important;background-position:center 20%!important;background-size:cover!important}}