:root{--c-primary: #A8373F;--c-primary-dk: #8a2b32;--c-primary-lt: #f5e5e6;--c-white: #ffffff;--c-surface: #F8F6F3;--c-surface-2: #F0EDE8;--c-border: #E5E0D8;--c-text: #1C1B1A;--c-text-2: #5C5752;--c-text-3: #9C9690;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 30px rgba(0,0,0,.12), 0 4px 10px rgba(0,0,0,.06);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: Georgia, "Times New Roman", serif;--nav-h: 60px;--bottom-nav-h: 64px;--max-w: 1200px;--content-px: clamp(16px, 4vw, 32px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--c-white);color:var(--c-text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-serif);line-height:1.25;color:var(--c-text)}h1{font-size:clamp(1.6rem,4vw,2.4rem)}h2{font-size:clamp(1.2rem,3vw,1.75rem)}h3{font-size:clamp(1rem,2.5vw,1.25rem)}a{color:inherit;text-decoration:none}p{line-height:1.7}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--content-px)}.page-wrap{padding-top:calc(var(--nav-h) + 16px);padding-bottom:calc(var(--bottom-nav-h) + 32px);min-height:100dvh}@media(min-width:768px){.page-wrap{padding-bottom:48px}}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--r-md);font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all .15s ease;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--c-primary);color:var(--c-white)}.btn-primary:hover{background:var(--c-primary-dk)}.btn-ghost{background:transparent;color:var(--c-primary);border:1.5px solid var(--c-primary)}.btn-ghost:hover{background:var(--c-primary-lt)}.btn-surface{background:var(--c-surface);color:var(--c-text)}.btn-surface:hover{background:var(--c-surface-2)}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-lg{padding:14px 28px;font-size:1rem}.card{background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--c-surface-2);display:block}.card-img-placeholder{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--c-surface) 0%,var(--c-surface-2) 100%);display:flex;align-items:center;justify-content:center;color:var(--c-text-3);font-size:2rem}.card-body{padding:16px}.card-body-lg{padding:20px}.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.badge-primary{background:var(--c-primary-lt);color:var(--c-primary)}.badge-surface{background:var(--c-surface-2);color:var(--c-text-2)}.badge-white{background:#ffffffe6;color:var(--c-text)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:12px}.section-head h2{margin:0}.section-head a{color:var(--c-primary);font-size:.875rem;font-weight:600;white-space:nowrap;flex-shrink:0}.section-head a:hover{text-decoration:underline}.eyebrow{display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary);margin-bottom:4px}.h-strip{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.h-strip::-webkit-scrollbar{height:4px}.h-strip::-webkit-scrollbar-track{background:var(--c-surface);border-radius:2px}.h-strip::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:2px}.h-strip>*{scroll-snap-align:start;flex-shrink:0}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}@media(max-width:600px){.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:400px){.grid-3{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.875rem;font-weight:600;color:var(--c-text-2)}input[type=text],input[type=email],input[type=password],input[type=datetime-local],input[type=date],select,textarea{width:100%;padding:10px 14px;border:1.5px solid var(--c-border);border-radius:var(--r-sm);font-size:.9rem;font-family:var(--font-sans);color:var(--c-text);background:var(--c-white);transition:border-color .15s ease;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #a8373f1f}textarea{resize:vertical;min-height:120px}.divider{height:1px;background:var(--c-border);margin:24px 0}.skeleton{background:linear-gradient(90deg,var(--c-surface) 25%,var(--c-surface-2) 50%,var(--c-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.text-muted{color:var(--c-text-2)}.text-sm{font-size:.8125rem}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.gap-1{gap:4px}.gap-2{gap:8px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.hero{background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-dk) 100%);color:var(--c-white);padding:48px var(--content-px) 40px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.hero h1,.hero p{position:relative}.hero h1{color:var(--c-white);margin-bottom:8px}.hero p{color:#ffffffd9;font-size:1rem}.section{padding:40px 0}.section+.section{border-top:1px solid var(--c-border)}.empty-state{text-align:center;padding:48px 24px;color:var(--c-text-3)}.empty-state .icon{font-size:2.5rem;margin-bottom:12px}.empty-state p{font-size:.9rem}.toast{position:fixed;bottom:calc(var(--bottom-nav-h) + 16px);left:50%;transform:translate(-50%);background:var(--c-text);color:var(--c-white);padding:12px 20px;border-radius:var(--r-md);font-size:.875rem;z-index:1000;box-shadow:var(--shadow-lg);white-space:nowrap}.toast.success{background:#2d7a4a}.toast.error{background:var(--c-primary)}@media(min-width:768px){.toast{bottom:24px}}
