/* CVPark — paper, ink, and a restrained evergreen accent. */
:root {
    --bg-dark: #f5f3ed;
    --bg-card: #fffefa;
    --bg-glass: #fffefa;
    --text-main: #242b26;
    --text-muted: #646b63;
    --accent-primary: #285443;
    --accent-secondary: #285443;
    --accent-glow: transparent;
    --border-light: #dedfd5;
    --gradient-main: #285443;
    --gradient-text: #242b26;
    --radius-sm: 5px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-full: 5px;
}
body { font-family: 'Inter', system-ui, sans-serif; user-select: text; -webkit-user-select: text; }
h1 { background: none; -webkit-text-fill-color: currentColor; color: var(--text-main); }
h1, .editorial-title { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.045em; }
h2 { font-size: 2rem; letter-spacing: -.035em; }
p { font-size: 1rem; }
.container { max-width: 1160px; overflow: visible; }
.glass-panel { background: var(--bg-card); backdrop-filter: none; -webkit-backdrop-filter: none; }
.btn { border-radius: 5px; padding: 12px 22px; min-height: 44px; transition: background .15s, border-color .15s; }
.btn-primary { background: var(--accent-primary); color: #fffefa; box-shadow: none; }
.btn-primary:hover { background: #1c4032; box-shadow: none; transform: none; }
.btn-outline:hover { background: #e9ede5; border-color: var(--accent-primary); }
a:focus-visible, button:focus-visible { outline: 3px solid #739686; outline-offset: 4px; }
input:not([type='hidden']):not([type='checkbox']):not([type='radio']), textarea, select {
    background: #fffefa !important; color: var(--text-main) !important; border-color: #cbd0c5 !important; font: inherit;
}
input::placeholder, textarea::placeholder { color: #81867e; opacity: 1; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid #739686 !important; outline-offset: 2px; }
input[type='file']::file-selector-button { border: 0; border-radius: 3px; padding: 7px 10px; margin-right: 12px; background: #e9ede5; color: #285443; }
.animate-float, .fade-in { animation: none !important; opacity: 1; }
.site-nav { position: relative; z-index: 100; border-bottom: 1px solid var(--border-light); }
.site-nav .container { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.wordmark { font-size: 25px; font-weight: 700; letter-spacing: -1.5px; }
.wordmark span { color: var(--accent-primary); }
.site-nav .navbar-menu { display: flex; align-items: center; gap: 24px; font-size: 14px; }
.navbar-hamburger { color: var(--text-main); }
.mobile-dropdown-content { background: var(--bg-card) !important; box-shadow: 0 8px 20px #242b2610; backdrop-filter: none; }
.mobile-dropdown-menu { visibility: hidden; }
.mobile-dropdown-menu.active { visibility: visible; }
.eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-primary); }
.home-hero { padding: 90px 0 80px; }
.hero-layout { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 80px; }
.hero-copy h1 { font-size: clamp(48px, 5.6vw, 76px); line-height: 1.03; margin: 24px 0; }
.hero-copy h1 em { font-weight: 400; color: var(--accent-primary); }
.hero-copy > p { max-width: 420px; font-size: 17px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 30px; flex-wrap: wrap; }
.text-link { font-size: 14px; border-bottom: 1px solid #9ea99e; padding-bottom: 3px; }
.hero-note { margin-top: 20px; font-size: 12px !important; }
.resume-preview { background: #fffefa; border: 1px solid #d7dbd0; padding: 32px; box-shadow: 8px 8px 0 #e5e8de; }
.preview-address { font-size: 11px; color: var(--text-muted); border-bottom: 1px solid var(--border-light); padding-bottom: 16px; display: flex; justify-content: space-between; }
.preview-person { display: flex; gap: 18px; align-items: center; margin: 28px 0; }
.preview-initials { width: 62px; height: 70px; display: grid; place-items: center; background: #e6ebdf; font-family: Georgia, serif; color: #285443; font-size: 26px; }
.preview-person h2 { font-family: Georgia, serif; font-size: 28px; font-weight: 400; margin: 0 0 4px; }
.preview-person p { margin: 0; font-size: 12px; }
.preview-bio { font-size: 13px; line-height: 1.8; }
.preview-section { border-top: 1px solid var(--border-light); padding-top: 18px; margin-top: 20px; }
.preview-section h3 { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 14px; }
.preview-row { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.preview-row strong { font-size: 13px; font-weight: 600; }
.preview-row span { font-size: 10px; color: var(--text-muted); }
.preview-section p { font-size: 12px; margin: 4px 0 0; }
.preview-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.preview-tags span { font-size: 11px; padding: 4px 8px; border: 1px solid var(--border-light); }
.home-process { padding: 64px 0 76px; border-top: 1px solid var(--border-light); }
.process-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; margin-bottom: 38px; }
.process-heading h2 { font-family: Georgia, serif; font-weight: 400; font-size: 36px; margin: 0; }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.process-step { border-top: 1px solid #bcc6b9; padding-top: 20px; }
.step-number { font-family: Georgia, serif; font-size: 25px; color: #859580; display: block; margin-bottom: 20px; }
.process-step h3 { font-size: 17px; margin-bottom: 12px; }
.process-step p { font-size: 14px; line-height: 1.8; margin: 0; }
footer { background: #eeeee6 !important; }
footer h5 { color: var(--text-main) !important; }
.auth-page { padding: 50px 20px 70px; min-height: 80vh; }
.auth-panel { max-width: 440px !important; padding: 36px !important; }
.auth-panel h2 { text-align: left !important; font-family: Georgia, serif; font-weight: 400; font-size: 36px; margin-bottom: 28px !important; }
.auth-brand { display: block; margin-bottom: 28px; width: fit-content; }
.auth-panel label { color: var(--text-main) !important; font-size: 13px; font-weight: 500; }
.auth-panel > p { font-size: 13px !important; }
.form-error { background: #fbece8 !important; color: #943c30 !important; border-color: #ecc5bb !important; font-size: 13px; }
.form-success { background: #e8f0e4 !important; color: #285443 !important; border-color: #bdceb7 !important; }
.dashboard-shell { padding-top: 44px !important; }
.dashboard-shell > .glass-panel { padding: 36px !important; }
.dashboard-header h2 { font-family: Georgia, serif; font-weight: 400; font-size: 38px; }
.dashboard-shell form > .grid-2 { gap: 48px; }
.dashboard-shell h3 { color: var(--text-main) !important; padding-bottom: 14px; border-bottom: 1px solid var(--border-light); }
.cv-form-input, .cv-form-textarea, .cv-item-card-title { color: var(--text-main); }
.cv-modal-overlay { background: #242b2666; backdrop-filter: none; }
.cv-modal-content { background: var(--bg-card); }
.cv-mobile-count { background: #e9ede5; }
.profile-page { padding: 50px 20px !important; }
.profile-sheet { max-width: 760px !important; border-radius: 0; animation: none; }
.profile-banner { height: 16px !important; background: var(--accent-primary) !important; opacity: 1 !important; }
.profile-avatar { margin-top: 36px !important; }
.profile-avatar img, .profile-avatar > div { width: 96px !important; height: 96px !important; border: 1px solid var(--border-light) !important; border-radius: 6px !important; background: #e9ede5 !important; }
.profile-content { padding: 28px 48px 40px !important; }
.profile-content h1 { font-size: 42px !important; font-weight: 400; }
.profile-content h3 { text-align: left !important; font-size: 12px !important; letter-spacing: .08em; text-transform: uppercase; padding-top: 18px; }
.profile-content h4 { color: var(--text-main) !important; }
.cookie-banner { background: #fffefa !important; backdrop-filter: none !important; box-shadow: 0 -2px 12px #242b2610 !important; }
.btn-cookie-accept { background: var(--accent-primary) !important; box-shadow: none !important; }
.btn-cookie-accept { color: #fffefa !important; }
.btn-cookie-decline { color: var(--text-main) !important; border-color: var(--border-light) !important; }
@media (max-width: 768px) {
    .site-nav .container { min-height: 72px; }
    .site-nav .navbar-menu { display: none !important; }
    .site-nav .navbar-hamburger { display: block !important; }
    .mobile-dropdown-menu { top: 76px !important; }
    .home-hero { padding: 44px 0 54px !important; }
    .hero-layout { grid-template-columns: 1fr; gap: 40px; }
    .hero-copy h1 { font-size: clamp(42px, 10vw, 64px); }
    .hero-actions .btn { width: auto; }
    .resume-preview { padding: 24px; margin-right: 8px; }
    .home-process { padding: 40px 0; }
    .process-heading { display: block; }
    .process-heading .eyebrow { display: block; margin-bottom: 16px; }
    .process-heading h2 { font-size: 30px; }
    .process-grid { grid-template-columns: 1fr; gap: 28px; }
    .step-number { margin-bottom: 12px; }
    .auth-page { padding: 24px 16px 40px; }
    .auth-panel { padding: 24px !important; }
    .auth-panel .g-recaptcha { transform: scale(.88); transform-origin: center; }
    .dashboard-shell { padding-top: 28px !important; }
    .dashboard-shell > .glass-panel { padding: 20px !important; }
    .profile-sheet { padding: 0 !important; }
    .profile-content { padding: 24px !important; }
    .profile-content h1 { font-size: 34px !important; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (max-width: 360px) {
    .auth-panel .g-recaptcha { transform: scale(.76); }
    .preview-address { gap: 10px; font-size: 10px; }
}
