:root{--color-bg-primary: #fcfbf9;--color-bg-surface: #ffffff;--color-bg-elevated: #f5f3ef;--color-bg-dark: #121820;--color-text-primary: #1a222c;--color-text-secondary: #526071;--color-text-muted: #7c8ba1;--color-text-inverse: #fcfbf9;--color-border-subtle: #e6e2da;--color-border-strong: #c8c2b5;--color-accent-gold: #b38e44;--color-accent-gold-hover: #9c7b37;--color-accent-blue: #1e3a5f;--color-accent-blue-hover: #152943;--color-badge-bg: #eef2f6;--color-badge-text: #2c4a6f;--color-badge-border: #d4e0ec;--font-family-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.25rem;--line-height-tight: 1.15;--line-height-snug: 1.35;--line-height-normal: 1.6;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--container-max-width: 1080px;--container-padding: var(--space-6);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-card: 0 4px 12px rgba(0, 0, 0, .05), 0 1px 3px rgba(0, 0, 0, .02);--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family-system);font-size:16px;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100vh;display:flex;flex-direction:column;line-height:var(--line-height-normal)}#root{min-height:100vh;display:flex;flex-direction:column}:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.site-main{flex:1 0 auto}.site-header{background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-container{display:flex;align-items:center;justify-content:space-between;height:4.5rem}.brand-link{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text-primary)}.brand-monogram{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background-color:var(--color-accent-blue);color:var(--color-text-inverse);font-weight:700;font-size:var(--font-size-sm);letter-spacing:.05em;border-radius:var(--radius-sm)}.brand-text{font-size:var(--font-size-base);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.header-nav{display:flex;align-items:center;gap:var(--space-4)}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-text-primary)}.hero-section{padding-top:var(--space-16);padding-bottom:var(--space-16);background:linear-gradient(180deg,var(--color-bg-surface) 0%,var(--color-bg-primary) 100%);border-bottom:1px solid var(--color-border-subtle)}.hero-content{max-width:780px;margin:0 auto;text-align:center}.hero-tag{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background-color:var(--color-badge-bg);color:var(--color-badge-text);border:1px solid var(--color-badge-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-6)}.hero-tag-dot{width:6px;height:6px;background-color:var(--color-accent-blue);border-radius:50%}.hero-title{font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-5xl));font-weight:800;line-height:var(--line-height-tight);letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:var(--space-4)}.hero-subtitle{font-size:clamp(var(--font-size-lg),2.5vw,var(--font-size-2xl));font-weight:400;line-height:var(--line-height-snug);color:var(--color-accent-blue);margin-bottom:var(--space-6)}.hero-description{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);max-width:620px;margin:0 auto var(--space-10)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.01em;text-decoration:none;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.btn-primary{background-color:var(--color-accent-blue);color:var(--color-text-inverse);border-color:var(--color-accent-blue);box-shadow:var(--shadow-subtle)}.btn-primary:hover{background-color:var(--color-accent-blue-hover);border-color:var(--color-accent-blue-hover)}.btn-secondary{background-color:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover{background-color:var(--color-bg-elevated);border-color:var(--color-text-primary)}.btn-icon{width:16px;height:16px;flex-shrink:0}.section{padding-top:var(--space-16);padding-bottom:var(--space-16)}.section-header{text-align:center;max-width:640px;margin:0 auto var(--space-12)}.section-kicker{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-gold);margin-bottom:var(--space-2)}.section-title{font-size:var(--font-size-3xl);font-weight:700;line-height:var(--line-height-snug);letter-spacing:-.01em;color:var(--color-text-primary);margin-bottom:var(--space-3)}.section-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8)}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card);display:flex;flex-direction:column}.card-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-3)}.card-body{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6);flex-grow:1}.card-footer{margin-top:auto}.notice-section{background-color:var(--color-bg-elevated);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.notice-box{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-left:4px solid var(--color-accent-gold);border-radius:var(--radius-md);padding:var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-3)}@media(min-width:640px){.notice-box{flex-direction:row;align-items:center;justify-content:space-between}}.notice-content-wrap{display:flex;flex-direction:column;gap:var(--space-1)}.notice-badge{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;padding:2px var(--space-2);background-color:#fef8ec;color:#8f6215;border:1px solid #fae7ba;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.notice-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.notice-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.notice-disabled-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:var(--space-2) var(--space-5);background-color:#f1f3f5;color:#868e96;border:1px solid #dee2e6;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:not-allowed;-webkit-user-select:none;user-select:none;white-space:nowrap}.site-footer{background-color:var(--color-bg-dark);color:#adb5bd;border-top:1px solid #232c37;padding-top:var(--space-12);padding-bottom:var(--space-12)}.footer-content{display:flex;flex-direction:column;gap:var(--space-8)}@media(min-width:768px){.footer-content{flex-direction:row;justify-content:space-between;align-items:flex-start}}.footer-brand{max-width:360px}.footer-brand-title{color:var(--color-text-inverse);font-size:var(--font-size-base);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-2)}.footer-brand-desc{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:#8c9ba8}.footer-links-group{display:flex;flex-direction:column;gap:var(--space-2)}.footer-links-title{color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-1)}.footer-link{color:#adb5bd;text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-text-inverse)}.footer-bottom{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid #232c37;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-xs);color:#6c757d}@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}}@media(max-width:640px){:root{--container-padding: var(--space-4)}.hero-section{padding-top:var(--space-10);padding-bottom:var(--space-10)}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.card-grid{grid-template-columns:1fr}}
