/* Public website theme, shared by the server-rendered pages and React landing. */
.website-landing { --ink:#242522; --muted:#646660; --paper:#faf8f2; --accent:#b54a30; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.65; }
.website-landing * { box-sizing:border-box; }
.website-landing a { text-decoration:none; color:inherit; }
.website-landing button,.website-landing input { font:inherit; }
.website-landing img { max-width:100%; }
.website-landing .ambient-glow-wrap { display:none; }
.website-landing .header { background:var(--paper); backdrop-filter:none; border-bottom:1px solid #deddd5; }
.website-landing .header-container { max-width:1200px; min-height:84px; height:auto; padding:18px 32px; gap:24px; }
.website-landing .logo { font-size:18px; font-weight:700; letter-spacing:-.03em; }
.website-landing .logo-box { background:var(--ink); box-shadow:none; border-radius:4px; width:38px; height:38px; }
.website-landing .logo-text span { background:none; -webkit-text-fill-color:var(--ink); color:var(--ink); }
.website-landing .nav-links { gap:28px; }
.website-landing .nav-links a { color:var(--muted); font-size:14px; }
.website-landing .nav-links a.active,.website-landing .nav-links a:hover { color:var(--accent); }
.website-landing .btn-group { display:flex; align-items:center; gap:12px; }
.website-landing .btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border-radius:4px; font-size:14px; font-weight:600; transition:background .2s; box-shadow:none; }
.website-landing .btn-primary { background:var(--ink); color:white; border:1px solid var(--ink); }
.website-landing .btn-primary:hover { background:#40433a; transform:none; box-shadow:none; }
.website-landing .btn-secondary { background:transparent; color:var(--ink); border:1px solid #b9bab1; }
.website-landing .btn-secondary:hover { background:#eeeae0; transform:none; }
.website-landing .main-container { max-width:1200px; padding:64px 32px 20px; margin:auto; }
.website-landing .hero-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important; gap:64px!important; align-items:center; padding:0 0 64px!important; }
.website-landing .eyebrow { display:block; font:600 11px Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:22px; }
.website-landing h1,.website-landing h2,.website-landing h3,.website-landing .cta-title { font-family:Georgia,'Times New Roman',serif!important; font-weight:400!important; }
.website-landing .hero-headline { font-size:clamp(34px,4.6vw,62px); line-height:1.07; color:var(--ink); letter-spacing:-.045em; margin:0 0 24px; }
.website-landing .hero-sub { font-size:17px; color:var(--muted); margin:0 0 28px; line-height:1.75; }
.website-landing .hero-visual-card { border:1px solid #d9d8cf; border-radius:6px; padding:0; box-shadow:none; background:#e9e7de; overflow:hidden; transform:none; }
.website-landing .hero-visual-card:hover { transform:none; box-shadow:none; }
.website-landing .hero-img { display:block; width:100%; height:390px; object-fit:cover; }
.website-landing .hero-floating-glass { position:static; border-radius:0; border:0; padding:18px 22px; background:var(--ink); box-shadow:none; }
.website-landing .pulse-beacon { animation:none; background:#a9b99b; box-shadow:none; }
.website-landing .metric-strip { border-radius:0; border:0; border-top:1px solid #cecec4; border-bottom:1px solid #cecec4; background:transparent; box-shadow:none; margin:0 0 76px; padding:28px 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.website-landing .metric-item { padding:0 24px; border-color:#cecec4; }
.website-landing .metric-number { font:400 32px Georgia,serif; background:none; -webkit-text-fill-color:var(--ink); color:var(--ink); }
.website-landing .metric-label { font-size:12px; color:var(--muted); }
.website-landing .section-heading { margin-bottom:32px; max-width:680px; }
.website-landing .section-heading h2 { font-size:36px; line-height:1.2; margin:0 0 16px; }
.website-landing .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:32px 0 64px; }
.website-landing .card { border:1px solid #d9d8cf; border-radius:5px; background:transparent; box-shadow:none; }
.website-landing .card:hover { border-color:#9a9d91; box-shadow:none; transform:none; }
.website-landing .card-img-wrap { height:210px; }
.website-landing .card-img { height:100%; object-fit:cover; }
.website-landing .card-body { padding:24px; }
.website-landing .card-title { font:400 24px Georgia,serif; color:var(--ink); }
.website-landing .card-desc { color:var(--muted); font-size:14px; }
.website-landing .card-tag { background:var(--paper); color:var(--ink); border:0; border-radius:2px; font-size:10px; }
.website-landing .workflow-section { background:#e9ece2; color:var(--ink); border-radius:4px; padding:48px 36px; margin:48px 0; box-shadow:none; }
.website-landing .workflow-section h2,.website-landing .workflow-section h3 { color:var(--ink)!important; }
.website-landing .workflow-section p { color:var(--muted)!important; }
.website-landing .workflow-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:36px; }
.website-landing .workflow-step { padding:24px 0; background:transparent; border:0; border-top:1px solid #bfc4b4; border-radius:0; backdrop-filter:none; }
.website-landing .workflow-step:hover { background:transparent; transform:none; border-color:#bfc4b4; }
.website-landing .step-num { color:var(--accent); background:transparent; box-shadow:none; font:400 28px Georgia,serif; justify-content:flex-start; width:auto; }
.website-landing .step-title { color:var(--ink); font-size:20px; }
.website-landing .step-desc { color:var(--muted); font-size:14px; }
.website-landing .cta-banner { padding:48px 32px; background:transparent; border:1px solid #cecec4; border-radius:4px; box-shadow:none; }
.website-landing .cta-title { font-size:36px; color:var(--ink); }
.website-landing .cta-sub { color:var(--muted); font-size:16px; }
.website-landing .contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:32px 0; }
.website-landing .contact-item { border-top:1px solid #cecec4; padding-top:20px; overflow-wrap:anywhere; }
.website-landing .footer { margin-top:64px; padding:36px 32px; background:var(--ink); border:0; color:#d5d7ce; }
.website-landing .footer-container { max-width:1136px; gap:28px; }
.website-landing .footer-logo { font-size:16px; font-weight:600; }
.website-landing .footer-text { font-size:12px; }
.website-landing .footer-text a { text-decoration:underline; text-underline-offset:3px; }
.website-landing .footer-cc { color:#abad9f; }
.website-landing:not(.aos-ready) [data-aos] { opacity:1!important; transform:none!important; }
.website-landing :focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@media(max-width:800px) {
 .website-landing .header-container { flex-wrap:wrap; padding:16px 20px; gap:16px; }
 .website-landing .nav-links { display:flex; order:3; width:100%; justify-content:space-between; gap:12px; list-style:none; }
 .website-landing .nav-links a { font-size:13px; }
 .website-landing .main-container { padding:40px 20px 0; }
 .website-landing .hero-layout { grid-template-columns:minmax(0,1fr)!important; gap:32px!important; }
 .website-landing .hero-img { height:300px; }
 .website-landing .metric-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; margin-bottom:48px; }
 .website-landing .metric-item { border-bottom:0; padding:0 14px; }
 .website-landing .metric-item:nth-child(2) { border-right:0; }
 .website-landing .card-grid,.website-landing .workflow-grid,.website-landing .contact-grid { grid-template-columns:minmax(0,1fr); }
 .website-landing .workflow-section,.website-landing .cta-banner { padding:32px 24px; }
 .website-landing .footer { padding:32px 20px; }
 .website-landing .footer-container>div { text-align:left!important; }
}
@media(prefers-reduced-motion:reduce) {
 .website-landing [data-aos] { opacity:1!important; transform:none!important; transition:none!important; }
 .website-landing *, .website-landing *::before,.website-landing *::after { animation:none!important; scroll-behavior:auto!important; }
}
.website-landing .header-container,.website-landing .logo,.website-landing .footer-container { display:flex; align-items:center; justify-content:space-between; }
.website-landing .logo { justify-content:flex-start; gap:12px; }
.website-landing .logo-box { display:flex; align-items:center; justify-content:center; color:white; flex-shrink:0; }
.website-landing .nav-links { display:flex; list-style:none; padding:0; margin:0; }
.website-landing .header { position:sticky; top:0; z-index:50; }
.website-landing .card-grid,.website-landing .workflow-grid { display:grid; }
.website-landing .card-img-wrap { position:relative; overflow:hidden; }
.website-landing .card-img { width:100%; display:block; }
.website-landing .card-tag { position:absolute; top:16px; left:16px; padding:4px 9px; }
.website-landing .footer-container { margin:auto; flex-wrap:wrap; }
.website-landing .footer-logo { color:white; }
.website-landing .header nav { min-width:0; }
.website-landing .btn-group { flex-wrap:wrap; }
.website-landing h1,.website-landing h2,.website-landing h3 { overflow-wrap:break-word; }
.website-landing section[id] { scroll-margin-top:140px; }
@media(max-width:800px) { .website-landing .header nav { order:3; width:100%; } .website-landing .hero-layout .btn-group { align-items:stretch; } }
.website-landing .nav-links a.active::after { background:var(--accent); }
.website-landing .hero-badge { background:transparent; color:var(--accent); border:1px solid #d7ccbb; border-radius:3px; box-shadow:none; }
@media(max-width:800px) { .website-landing .main-container>div[style*="display: grid"] { grid-template-columns:minmax(0,1fr)!important; gap:32px!important; } }
