:root{--bg-deep-green:#11382a;--bg-cream:#fdfbf7;--bg-card:#f2efe8;--text-dark:#1a2e24;--text-light:#fdfbf7;--accent-lime:#b8d85b;--accent-gold:#eac96d;--accent-orange:#f28c38;--border-color:#e2ddd3;--shadow-sm:0 4px 6px -1px #11382a0d;--shadow-md:0 10px 20px -5px #11382a14;--shadow-lg:0 20px 25px -5px #11382a1a;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-xl:3rem;--radius-full:9999px;--font-serif:"Playfair Display", serif;--font-sans:"Jost", sans-serif;--transition-fast:.2s ease-out;--transition-normal:.4s cubic-bezier(.4, 0, .2, 1)}html,body{background-color:var(--bg-cream);max-width:100vw;color:var(--text-dark);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}*{box-sizing:border-box;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:inherit;font-weight:500;line-height:1.1}a{color:inherit;transition:opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.8}.title-large{text-transform:uppercase;letter-spacing:.02em;font-size:clamp(2rem,8vw,5.5rem)}.title-medium{text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.75rem,5vw,3.5rem)}.text-accent{color:var(--accent-gold)}.container{max-width:1400px;margin:0 auto;padding:0 1.25rem}@media (min-width:768px){.container{padding:0 2rem}}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-responsive{flex-direction:column;align-items:flex-start;gap:1.5rem;display:flex}@media (min-width:768px){.flex-responsive{flex-direction:row;justify-content:space-between;align-items:center}}.grid-cols-2{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.grid-cols-2{grid-template-columns:1fr 1fr;gap:4rem}}.pic-in-pic{border:4px solid var(--bg-deep-green);z-index:5;width:120px;height:120px;box-shadow:var(--shadow-md);border-radius:50%;position:absolute;bottom:-1rem;left:-1rem;overflow:hidden}@media (min-width:768px){.pic-in-pic{border-width:8px;width:200px;height:200px;bottom:-2rem;left:-2rem}}.hide-on-mobile{display:none!important}@media (min-width:768px){.hide-on-mobile{display:flex!important}}@media (max-width:767px){.order-first-mobile{order:-1}}.badge-top-right{z-index:10;position:absolute;top:-1rem;right:0}@media (min-width:768px){.badge-top-right{top:-2rem;right:-2rem}}.span-1,.span-2{grid-column:span 1}@media (min-width:640px){.span-2{grid-column:span 2}}.grid-cols-4{grid-template-columns:repeat(1,1fr);gap:1.5rem;display:grid}@media (min-width:640px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-cols-4{grid-template-columns:repeat(4,1fr)}}.btn{border-radius:var(--radius-full);font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.05em;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:.875rem;display:inline-flex}.btn-lime{background:var(--accent-lime);color:var(--text-dark)}.btn-lime:hover{background:#a8ca4a;transform:translateY(-2px)}.btn-orange{background:var(--accent-orange);color:#fff}.btn-orange:hover{background:#e67d26;transform:translateY(-2px)}.glass-badge{-webkit-backdrop-filter:blur(10px);color:#fff;border-radius:var(--radius-full);background:#fff3;border:1px solid #ffffff4d;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 30px #0000001a}.glass-badge-highlight{background:radial-gradient(circle at top right, var(--accent-lime), transparent 70%);opacity:.8;pointer-events:none;border-radius:50%;width:40px;height:40px;position:absolute;top:0;right:0}.pill-filter{border:1px solid var(--border-color);color:var(--text-dark);border-radius:var(--radius-full);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.pill-filter:hover,.pill-filter.active{background:var(--bg-deep-green);color:#fff;border-color:var(--bg-deep-green)}.organic-shape{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}.btn-outline{color:inherit;background:0 0;border:1px solid}.btn-outline:hover{color:var(--bg-cream);background:currentColor}.hero-img-container{width:100%;height:350px;margin-top:1rem;position:relative}@media (min-width:768px){.hero-img-container{height:600px}}.hero-engravement{border:2px dashed var(--accent-gold);z-index:0;opacity:.8;pointer-events:none;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:12s ease-in-out infinite reverse morph-engravement;position:absolute;inset:-15px 15px 15px -15px}.hero-img{z-index:1;box-shadow:var(--shadow-lg);border:4px solid #ffffff1a;border-radius:40% 60% 70% 30%/40% 50% 60%;animation:12s ease-in-out infinite morph-img;position:absolute;inset:0;overflow:hidden}@keyframes morph-img{0%,to{border-radius:40% 60% 70% 30%/40% 50% 60%}34%{border-radius:70% 30% 50% 50%/30% 30% 70% 70%}67%{border-radius:100% 60% 60% 100%/100% 100% 60% 60%}}@keyframes morph-engravement{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}34%{border-radius:30% 70% 70% 30%/50% 50% 30% 70%}67%{border-radius:50% 50% 30% 70%/70% 30% 50% 50%}}.section-py{padding:3rem 0}@media (min-width:768px){.section-py{padding:6rem 0}}.hero-py{padding:3rem 0}@media (min-width:768px){.hero-py{padding:4rem 0 6rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeInUp .8s var(--transition-normal) forwards}.badge{border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--text-dark);background:#fff;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600;display:inline-flex}.circular-badge{text-align:center;width:90px;height:90px;box-shadow:var(--shadow-md);color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;font-size:.65rem;font-weight:500;display:inline-flex}@media (min-width:768px){.circular-badge{width:120px;height:120px;padding:1rem;font-size:.875rem}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}
