*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,video{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:root{--font-heading:"Montserrat", sans-serif;--font-body:"Outfit", sans-serif;--color-bg:#fff;--color-bg-alt:#f7f6f2;--color-bg-dark:#1a1a2e;--color-bg-darker:#12121f;--color-primary:#c8a97e;--color-primary-dark:#a88a5e;--color-primary-light:#e8d5b5;--color-text:#2d2d2d;--color-text-light:#6b6b6b;--color-text-lighter:#999;--color-text-white:#fff;--color-text-dark:#1a1a2e;--color-border:#e5e5e5;--color-border-dark:#ffffff1f;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 10px 40px #0000001a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--ease:cubic-bezier(.16, 1, .3, 1);--duration:.35s}html{scroll-behavior:smooth;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px}body{background:var(--color-bg);min-height:100vh}::selection{background:var(--color-primary);color:#fff}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-dark);line-height:1.2}h1{font-size:clamp(2rem,1.2rem + 3vw,3.5rem);font-weight:700}h2{font-size:clamp(1.5rem,1rem + 2vw,2.5rem);font-weight:700}h3{font-size:clamp(1.1rem,.9rem + 1vw,1.5rem);font-weight:600}h4{font-size:clamp(1rem,.85rem + .5vw,1.2rem);font-weight:600}p{color:var(--color-text-light);line-height:1.75}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--duration) var(--ease);position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card:after{content:"";background:var(--color-primary);height:3px;transition:transform var(--duration) var(--ease);transform-origin:0;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.card:hover:after{transform:scaleX(1)}.btn{font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.8rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;border:none}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 15px #c8a97e4d}.btn-outline{color:var(--color-text-dark);border:1.5px solid var(--color-text-dark);background:0 0}.btn-outline:hover{background:var(--color-text-dark);color:var(--color-text-white)}.btn-white{color:var(--color-text-dark);background:#fff;border:none}.btn-white:hover{background:var(--color-primary);color:#fff}.badge{font-size:.7rem;font-weight:600;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;border-radius:50px;align-items:center;gap:.35rem;padding:.3rem .75rem;display:inline-flex}.badge-completed{color:#2e7d32;background:#e8f5e9}.badge-ongoing{color:#e65100;background:#fff3e0}.section{padding:5rem 0}.section-alt{background:var(--color-bg-alt)}.section-dark{background:var(--color-bg-dark);color:var(--color-text-white)}.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--color-text-white)}.section-dark p{color:#ffffffb3}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.section-header{margin-bottom:3rem}.section-label{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:block}.section-title{margin-bottom:.75rem}.section-line{background:var(--color-primary);border-radius:2px;width:60px;height:3px}.input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:#fff;outline:none;padding:.85rem 1rem;font-size:.9rem;transition:border-color .3s,box-shadow .3s}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #c8a97e26}.input:user-valid{border-color:#2e7d32}.input:user-invalid{border-color:#c62828}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1.5rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow-lg);animation:slideUp .3s var(--ease);background:#fff;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()) and (animation-range:entry){.scroll-reveal{animation:linear both slideUp;animation-timeline:view();animation-range:entry 5% cover 25%}}}@media (pointer:coarse){.btn,.input,nav a{min-block-size:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}.grid-2,.grid-3{grid-template-columns:1fr;gap:2rem;display:grid}.grid-4{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.text-center{text-align:center}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg-dark)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}#root{min-height:100vh}
