@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/manrope-400.woff') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/manrope-500.woff') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/manrope-600.woff') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/manrope-700.woff') format('woff')}
/* Shared rhythm, typography and motion; existing palette is preserved. */
body{font-family:'Manrope','Avenir Next',Avenir,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;font-weight:400;line-height:1.6;letter-spacing:-.015em}
button,input,textarea,select{font-family:inherit;letter-spacing:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{overflow-wrap:break-word}p{line-height:1.75}h1,h2,h3{font-weight:500}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #6e8b52;outline-offset:5px}
.btn,.button,.download-button,.batch{border-radius:999px;line-height:1.3;font-size:14px;font-weight:500;min-height:44px;padding:15px 23px;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease,background-color .35s ease,color .35s ease;border:1px solid transparent;text-decoration:none}
.btn.secondary{background:transparent;border-color:#cdd6c7}.btn.danger{background:transparent;border-color:#ead4c9}.btn:disabled,.button:disabled{transform:none!important;box-shadow:none!important}
label{font-size:14px}input,textarea,select{font-size:15px;border-radius:7px}input:focus,textarea:focus,select:focus{border-color:#859b72}.tip,.note,.subtitle,.small{font-size:13px;line-height:1.75}.eyebrow{font-size:12px;letter-spacing:.12em}.logo,.brand{letter-spacing:-.04em!important;font-weight:650}.card{border-radius:12px;padding:32px;border-color:#dfe3d9}.close{border-radius:50%;min-width:40px;min-height:40px;line-height:1}.tab{font-size:14px;border-radius:8px;line-height:1.4}.head{margin-bottom:36px}.head h1{font-weight:500}.shell{gap:48px;max-width:1400px}.bar{padding:22px 0}.bar #status{font-size:14px}.global-status,.message{font-size:14px}
@media(hover:hover) and (pointer:fine){.btn:hover,.button:hover,.download-button:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 9px 22px #192b2910}.btn.secondary:hover{background:#e8eedf}.tab:hover{background:#e9eee2}.close:hover{background:#dce6d3}}
@media(max-width:700px){.card{padding:23px}.shell{gap:24px}.btn,.button,.download-button{font-size:13px;padding:13px 18px}.head{margin-bottom:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.btn:hover,.button:hover,.download-button:hover{transform:none!important}}

@media(prefers-reduced-motion:reduce){.photo button:hover img,.work-photo:hover img,.thumb:hover img,.g-card:hover,.batch:hover,.text-button:hover{transform:none!important}}

/* Make interactive targets clear across the site and management pages. */
a[href],button:not(:disabled),select:not(:disabled),summary,[role="button"],input[type="checkbox"]:not(:disabled),input[type="radio"]:not(:disabled),input[type="file"]:not(:disabled),label:has(input[type="checkbox"]),label:has(input[type="radio"]){cursor:pointer}
button:disabled,input:disabled,select:disabled{cursor:not-allowed}
