/* Brand palette */
:root{--brand:#2527D8;--accent:#C9FF2F;--accent-soft:rgb(201 255 47 / 30%);--ink:#515457;--paper:#F2F2F3;--white:#fff;--border:rgb(81 84 87 / 15%);--brand-soft:rgb(37 39 216 / 6%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 48px));margin:auto}.topbar{background:var(--brand);color:var(--white);font-size:13px}.topbar-inner{display:flex;justify-content:space-between;padding:8px 0;gap:20px}.topbar a{color:var(--white)}header{background:var(--white);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:96px}.brand{font-weight:800;color:var(--brand);font-size:30px;white-space:nowrap;letter-spacing:-1px}.brand span{font-size:22px;letter-spacing:-.6px}.brand:hover{text-decoration:none}nav{display:flex;gap:23px;align-items:center;font-size:14px}nav a{color:var(--ink);white-space:nowrap}nav a[aria-current]{color:var(--brand);font-weight:700}.button{display:inline-block;border:1px solid transparent;border-radius:7px;background:var(--accent);color:var(--brand);padding:12px 24px;cursor:pointer;font-weight:700;text-align:center}.button:hover{filter:brightness(.95);text-decoration:none}.button.small{padding:9px 16px;font-size:14px;white-space:nowrap}.button.outline{background:transparent;border-color:var(--brand);color:var(--brand)}.button.secondary{background:transparent;border-color:rgb(255 255 255 / 60%);color:var(--white)}.hero{position:relative;min-height:460px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(37,39,216,.98),rgba(37,39,216,.82) 35%,rgba(37,39,216,.3)),url('/assets/hero.jpg') center/cover;color:var(--white);clip-path:polygon(0 0,100% 0,100% 91%,96% 100%,0 100%)}.hero-content{padding-top:58px;padding-bottom:68px}.hero h1{font-size:48px;line-height:1.35;max-width:700px;margin:12px 0 20px;letter-spacing:1px}.hero p{max-width:680px;color:var(--white)}.hero .eyebrow{color:var(--accent)}.hero-actions{display:flex;gap:14px;margin-top:26px}.hero .hero-caption{font-size:13px;margin-top:24px;opacity:.85}.eyebrow{font-size:12px;letter-spacing:1.4px;color:var(--brand);font-weight:700;margin:0 0 7px}.section{padding-top:58px;padding-bottom:65px}.section-heading{text-align:center;max-width:850px;margin:0 auto 34px}.section-heading h2{font-size:28px;line-height:1.5;margin:4px 0 18px;color:var(--ink)}.section-heading>p:last-child{font-size:15px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:40px 0 20px;gap:24px}.section-title h2{font-size:25px;margin:0}.section-title p{margin:5px 0 0}.section-title a{font-size:14px;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{background:var(--white);border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:0 5px 18px rgb(37 39 216 / 3%);transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgb(37 39 216 / 10%)}.card a{color:inherit;display:block;height:100%}.card a:hover{text-decoration:none}.card-image{height:215px;position:relative;overflow:hidden;background:var(--brand-soft)}.card-image img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;top:14px;left:14px;background:var(--white);color:var(--brand);border-radius:5px;padding:3px 9px;font-size:12px;font-weight:600}.card-body{padding:22px}.card-body h3{font-size:20px;margin:4px 0 10px}.card-body>p:not(.eyebrow){font-size:14px;margin:0;min-height:50px}.card-action{font-size:13px;font-weight:650;color:var(--brand);display:block;margin-top:20px}.page-heading{background:var(--brand-soft);padding:38px 0;border-bottom:1px solid var(--border)}.page-heading h1{font-size:32px;margin:4px 0 8px;color:var(--brand)}.page-heading p:last-child{margin:0}.narrow{max-width:900px}.panel{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:32px;margin-bottom:24px}.panel p:first-child{margin-top:0}.panel>.button{margin-top:14px}.prose{overflow-wrap:anywhere}.prose h1{font-size:26px}.prose h2{font-size:22px;margin-top:28px;color:var(--brand)}.prose img{max-width:100%;height:auto}.filters{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:25px}.filters>a[aria-current]{font-weight:700;border-bottom:2px solid var(--brand)}.filters form{display:flex;gap:10px;align-items:center;margin-left:auto}.filters label{font-size:13px}.filters input{width:210px}input,select,textarea{border:1px solid rgb(81 84 87 / 35%);border-radius:6px;padding:10px 12px;background:var(--white);color:var(--ink);min-width:0}textarea{resize:vertical}.catalog-tools{display:flex;gap:24px;justify-content:space-between;align-items:start}.tag-filters{display:flex;flex-wrap:wrap;gap:10px}.tag-filters button{border:1px solid var(--border);padding:6px 13px;background:var(--white);border-radius:5px;color:var(--ink);font-size:13px;cursor:pointer}.tag-filters button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--brand);font-weight:700}.sort-label{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px}.sort-label select{font-size:13px;padding:6px 10px}#publish-form{display:block}#request-fields{display:grid;gap:12px;border:0;padding:0;margin:0;min-width:0}#request-fields:disabled{opacity:.65}#publish-form label{font-weight:650;font-size:14px;margin-top:8px;display:block}#publish-form h2{margin:0 0 8px}#publish-form .button{justify-self:start}#form-status,#brief-status{font-size:14px;color:var(--brand);overflow-wrap:anywhere}#search-status{min-height:25px}.brief-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:var(--paper);padding:22px;border-radius:6px}.detail-image{display:block;width:100%;max-height:380px;object-fit:contain;background:var(--paper);border-radius:6px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.service-aside{position:sticky;top:24px}.service-aside .button{display:block}.service-aside h2{font-size:22px}.quote-label{color:var(--brand);font-size:14px;background:var(--accent-soft);padding:10px;border-radius:5px}.section-nav{display:grid;gap:12px;margin-top:28px;font-size:14px}.content-list{padding-left:22px}.content-list li{margin:10px 0}.breadcrumb{font-size:14px;margin:0 0 22px}.process-section{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:55px 0}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.step-number{background:var(--accent-soft);color:var(--brand);font-size:20px;font-weight:750;display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:9px}.process-grid h3{font-size:17px;margin:14px 0 8px}.process-grid p{font-size:14px;margin:0}.detail-layout .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid var(--border);border-radius:12px;background:var(--brand);color:var(--white);padding:36px 42px}.cta-panel .eyebrow{color:var(--accent)}.cta-panel h2{margin:8px 0}.cta-panel p{margin-bottom:0}.cta-panel .button{white-space:nowrap}.home-search{display:flex;gap:12px;max-width:720px;margin:0 auto 35px;padding:10px;background:var(--white);border:1px solid var(--border);border-radius:10px}.home-search input{flex:1;border:0;background:transparent}.home-search .button{white-space:nowrap}.flow-strip{list-style:none;padding:0;display:flex;gap:0;background:var(--brand);border-radius:7px;color:var(--white);margin:0 0 24px}.flow-strip li{padding:14px 20px;flex:1;font-size:14px}.flow-strip li:first-child{background:var(--accent-soft)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row input,.form-row select{width:100%}.form-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:18px 0 6px}.text-button{color:var(--brand);background:none;border:0;cursor:pointer;padding:9px 4px}.text-button:hover{text-decoration:underline}.faq-list details{padding:18px 0;border-bottom:1px solid var(--border)}.faq-list summary{cursor:pointer;font-weight:650;color:var(--brand)}.faq-list details[open] summary{margin-bottom:12px}.faq-list p{margin:0;padding-left:20px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.info-grid section{padding:22px;background:var(--brand-soft);border-radius:8px}.info-grid h2{margin-top:0;font-size:20px}.info-grid p{font-size:14px;margin-bottom:0}.checklist-links{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap}.intro{font-size:19px;line-height:1.8}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dl{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:15px}dt{color:var(--ink)}dd{margin:0}.muted{color:var(--ink);font-size:13px}footer{background:var(--ink);color:var(--white);padding:40px 0;font-size:14px}footer p{margin:7px 0}footer a{color:var(--white)}.footer-brand{font-size:22px;font-weight:750;color:var(--accent)}.footer-links{display:flex;flex-wrap:wrap;gap:20px;margin:22px 0}footer .muted{color:var(--white);opacity:.85}
@media(max-width:1000px){.header-inner{flex-wrap:wrap;gap:12px;padding:18px 0}nav{order:3;width:100%;flex-wrap:wrap}.hero{min-height:400px}.cards{gap:16px}.card-image{height:180px}.detail-layout{grid-template-columns:minmax(0,1fr) 260px}.catalog-tools{flex-wrap:wrap}.process-grid{gap:18px}}@media(max-width:650px){.container{width:calc(100% - 32px)}.topbar-inner{flex-direction:column;gap:2px}nav{gap:18px}.brand{font-size:25px}.brand span{font-size:19px}.cards,.detail-layout,.info-grid,.form-row{grid-template-columns:1fr}.hero h1{font-size:34px}.hero{background-position:60% center}.hero-actions{flex-wrap:wrap}.section{padding-top:32px;padding-bottom:36px}.panel{padding:22px}.filters form{margin-left:0;flex-wrap:wrap}.filters input{width:160px}.page-heading h1{font-size:26px}.process-grid{grid-template-columns:1fr 1fr}.cta-panel{padding:24px;flex-direction:column;align-items:start;gap:20px}.flow-strip li{padding:12px 8px;font-size:12px}.home-search{gap:4px}.home-search .button{padding:10px 14px}.service-aside{position:static}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Current Front brand mark and demand projects */
.topbar-actions{display:flex;align-items:center;gap:7px}.topbar-inner{min-height:42px;padding-top:6px;padding-bottom:6px}.platform-mark{display:inline-flex;align-items:center;justify-content:center;margin-left:12px;border-radius:7px;outline-offset:3px}.platform-mark img{display:block;border-radius:7px}.platform-mark:hover{box-shadow:0 0 0 2px var(--accent)}.brand{display:inline-flex;align-items:center;gap:12px;letter-spacing:-1px}.brand img{display:block;object-fit:contain;border-radius:11px}.brand span{font-size:32px;font-weight:800}.header-inner nav{margin-left:auto}.need-grid{margin-bottom:34px}.need-card .card-image{height:215px}.need-card .card-body h3{font-size:18px;line-height:1.6;min-height:58px;margin-top:0}.need-card .card-body>p{min-height:100px;font-size:13px;line-height:1.8}.need-facts{display:flex;justify-content:space-between;gap:12px;margin-top:20px;border-top:1px solid var(--border);padding-top:16px}.need-facts span{display:flex;flex-direction:column;gap:5px}.need-facts small{font-size:12px}.need-facts strong{font-size:18px;color:var(--brand)}.need-facts b{font-size:13px;line-height:31px;font-weight:600}.need-photo{object-fit:cover}.service-aside dl{grid-template-columns:74px 1fr;font-size:13px}.service-aside dd{overflow-wrap:anywhere}

.brand .brand-wordmark{width:304px;height:auto;max-width:100%;border-radius:0;object-fit:contain}.brand{flex-shrink:0}.service-deliverables{padding:0;list-style:none;display:grid;gap:5px;font-size:13px;margin:15px 0;color:var(--ink)}.service-deliverables li:before{content:'✓';color:var(--brand);font-weight:700;margin-right:8px}.service-meta{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:14px;font-size:12px;margin-top:18px}.service-meta strong{font-weight:600;color:var(--brand)}.service-card .card-body>p:not(.eyebrow){min-height:72px}.service-card .card-body h3{line-height:1.5;min-height:60px}.service-card .card-action{margin-top:15px}

/* Phone-only sign-in dialog */
.auth-dialog{border:0;padding:0;border-radius:16px;width:min(440px,calc(100% - 40px));max-height:calc(100vh - 48px);color:var(--ink);background:var(--white);box-shadow:0 25px 90px rgb(0 0 0 / 22%)}.auth-dialog::backdrop{background:rgb(15 17 45 / 50%);backdrop-filter:blur(3px)}.auth-card{position:relative;padding:38px}.auth-close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:28px;color:var(--ink);cursor:pointer;line-height:1;padding:6px}.auth-logo{display:block;width:260px;max-width:90%;height:auto;margin:4px 0 25px}.auth-card h2{font-size:23px;margin:0 0 7px;color:var(--brand)}#auth-description{font-size:14px;margin:0 0 24px}.auth-tabs{display:flex;border-bottom:1px solid var(--border);gap:28px;margin-bottom:22px}.auth-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;font-size:15px;color:var(--ink);cursor:pointer}.auth-tabs button[aria-selected=true]{color:var(--brand);font-weight:700;border-bottom-color:var(--brand)}#auth-form>label,#auth-form [role=tabpanel]>label{display:block;font-size:13px;margin:14px 0 7px;font-weight:600}.auth-phone-row,.auth-input-row{display:flex;align-items:center;border:1px solid rgb(81 84 87 / 35%);border-radius:7px;overflow:hidden}.auth-phone-row>span{padding-left:14px;font-size:14px}.auth-phone-row input,.auth-input-row input{flex:1;width:100%;border:0;min-width:0;padding:12px}.auth-input-row button{flex-shrink:0;font-size:13px;color:var(--brand);border:0;background:none;padding:10px 12px;cursor:pointer}.auth-input-row button:hover{text-decoration:underline}#auth-form .auth-agreement{display:flex;align-items:start;gap:8px;margin:22px 0;font-size:12px;font-weight:400}.auth-agreement input{accent-color:var(--brand);margin:4px 0 0;width:15px;height:15px;flex-shrink:0}.auth-agreement a{margin:0 3px}.auth-submit{width:100%;padding:12px}.auth-status{font-size:13px;line-height:1.6;color:var(--brand);margin:12px 0 0}.auth-platform-fallback{display:block;font-size:13px;margin-top:12px}

.auth-phone-row:focus-within,.auth-input-row:focus-within{outline:2px solid var(--brand);outline-offset:2px}.auth-phone-row input:focus-visible,.auth-input-row input:focus-visible{outline:none}

/* Contact controls remain outside the card navigation link. */
.service-card,.need-card{display:flex;flex-direction:column}.card>a{height:auto;flex:1}.business-contact{padding:18px 22px;border-top:1px solid var(--border);font-size:13px}.business-contact p{margin:5px 0}.business-contact p span,.contact-phone>span{color:var(--ink);opacity:.8;margin-right:8px}.business-contact strong{font-weight:650;overflow-wrap:anywhere}.business-contact .contact-caption{color:var(--brand);font-size:12px;margin:0 0 10px}.contact-phone{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.contact-view{background:transparent;border:1px solid var(--brand);color:var(--brand);padding:3px 8px;border-radius:4px;font-size:12px;cursor:pointer}.contact-view:hover{background:var(--accent-soft)}.service-aside .business-contact{padding:16px 0;margin:12px 0}
