/* WarmMeet public site v3 (v2 + web-QA P2 fixes) — static additions on top of the restored v3.5.7/v3.6.3 warm design (site.css). No JavaScript. */
/* ---- icon system (inline SVG, currentColor) ---- */
.ic{width:1.25em;height:1.25em;flex:0 0 auto;vertical-align:-.2em}
.pub-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#f4decf;color:#9b5a45}.pub-icon .ic{width:24px;height:24px}
.mode-symbol .ic{width:26px;height:26px}.visual-table span .ic{width:26px;height:26px}
/* ---- header, notice ---- */
.wm-member-nav a{background:transparent;border:0;border-radius:10px;padding:11px 14px;font-weight:700;font-size:14px;color:#5f4f48;text-decoration:none}
.wm-member-nav a.active,.wm-member-nav a:hover{background:#f5ebe4;color:#8a4b39}
.wm-brand{text-decoration:none}.wm-member .wm-brand small{color:#6b5f59}
.soon-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 14px;background:#fbf0e3;color:#7a4a1f;font-size:13px;font-weight:800;white-space:nowrap}
.soon-bar{display:none;margin:0;padding:8px 16px;background:#fbf0e3;color:#6f431c;font-size:13px;font-weight:700;text-align:center;border-top:1px solid #f1dfcb}
.soon-bar .ic{margin-right:6px}
/* ---- contrast fixes (WCAG AA ≥ 4.5:1 for small text) ---- */
.wm-member .hero-eyebrow{color:#8a4b39}
.wm-member .hero-copy .hero-small{color:#6a5248}
.wm-member .steps-grid p{color:#6b5a52}
.wm-member .mode-link{color:#8a4b39}
.wm-member .btn{text-decoration:none}.wm-member .btn.primary{background:#8f4e3b}
.wm-member .btn.primary:hover{filter:brightness(.94)}
/* ---- hero ---- */
.nb{display:inline-block}
[id]{scroll-margin-top:104px}
@media(max-width:850px){[id]{scroll-margin-top:118px}}
.wm-member .visual-note{color:#5f4a40;font-weight:700}
.hero-copy>p{max-width:560px}
/* ---- main / branch activity cards ---- */
.pub-section{margin:52px 0}.pub-section>h2{font-size:27px;color:#41312c;margin:8px 0 18px}
.pub-modes{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:stretch}
.wm-mode-card{text-decoration:none}
.mode-main{border-color:#e3c7b5!important}.mode-main .mode-title{font-size:28px}
.mode-kicker{display:inline-block;align-self:flex-start;justify-self:start;border-radius:999px;padding:4px 10px;background:#fbefe6;color:#8a4b39;font-size:12px;font-weight:800;letter-spacing:.04em}
.mode-branch .mode-kicker{background:#f9e6e6;color:#8c3f4c}
.mode-tags{display:flex;flex-wrap:wrap;gap:8px}.mode-tags span{background:#fff;border:1px solid #ead7ca;border-radius:999px;padding:4px 12px;font-size:13px;color:#6e4c40;font-weight:700}
.pub-card.mode-main,.pub-card.mode-branch{display:grid;gap:10px;align-content:start}
/* ---- cards ---- */
.pub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pub-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.pub-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pub-card{background:#fff;border:1px solid #e9dcd2;border-radius:19px;padding:24px;box-shadow:0 9px 24px rgba(84,57,38,.035)}
.pub-card h3{margin:12px 0 8px;color:#4c352c;font-size:19px}.pub-card p{color:#6c5f59;line-height:1.75;margin:0}
.pub-lead{color:#5f4f48;font-size:17px;line-height:1.85;max-width:820px;margin:0 0 20px}
.pub-note{background:#fff8f1;border:1px solid #f0dccb;border-radius:16px;padding:16px 18px;color:#5f4a40;line-height:1.75;margin:18px 0 0}
.pub-note a{color:#8a4b39;font-weight:800}
.pub-prose{max-width:760px;line-height:1.9;color:#5c4a43}
.pub-list{padding-left:22px}.pub-list li{margin:6px 0;line-height:1.85;color:#5c4a43}
.pub-steps{max-width:760px;margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:10px}
.pub-steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;background:#fff;border:1px solid #ecdfd5;border-radius:14px;padding:12px 16px;color:#5c4a43;line-height:1.75}
.pub-steps li::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f3e0d3;color:#8a4b39;font-weight:900}
/* ---- persona ---- */
.persona-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.persona-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.persona .pub-card h3{margin-top:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.chips li{background:#fbf1ea;color:#6e4535;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700}
.role-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.role-list li{display:grid;gap:2px}.role-list b{color:#4c352c}.role-list span{color:#6c5f59;font-size:14px;line-height:1.6}
.sample{position:relative;background:linear-gradient(135deg,#fff,#fbf3ed)}
.sample-tag{position:absolute;top:14px;right:14px;background:#fff;border:1px dashed #d9b9a6;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;color:#7a4a38}
.sample-head{display:flex;gap:12px;align-items:center;margin:18px 0 10px}.sample-head h3{margin:0}.sample-head p{margin:2px 0 0;font-size:14px}
.sub-title{margin:28px 0 12px;color:#4c352c}
.type-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.type-grid li{background:#fff;border:1px solid #ecdfd5;border-radius:14px;padding:14px;display:grid;gap:4px}.type-grid b{color:#4c352c}.type-grid span{color:#6c5f59;font-size:14px;line-height:1.6}
/* ---- FAQ (native details, no JS) ---- */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:#fff;border:1px solid #e9dcd2;border-radius:14px;padding:4px 18px}
.faq summary{cursor:pointer;padding:12px 0;font-weight:800;color:#4c352c;list-style-position:inside}
.faq details p{margin:0 0 14px;color:#5c4a43;line-height:1.8}
/* ---- CTA, page hero, legal ---- */
.pub-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(125deg,#f3ded0,#f8eee6 60%,#efe0d2);border-radius:24px;padding:30px;margin-top:48px}
.pub-cta h2{margin:6px 0;color:#41312c}.pub-cta p{margin:0;color:#5f4a40}
.pub-page-hero{background:linear-gradient(125deg,#f3ded0 0%,#f6eade 55%,#e9d5c2 100%);border-radius:28px;padding:44px 48px;box-shadow:0 15px 42px rgba(105,77,56,.09)}
.pub-page-hero h1{font-size:clamp(30px,3.6vw,46px);line-height:1.35;color:#402e29;margin:14px 0}.pub-page-hero p{color:#5f4a40;font-size:16px;line-height:1.9;max-width:760px}
.legal h1{margin:12px 0 4px}.legal h2{font-size:20px;color:#8a4b39;margin-top:30px}.legal p,.legal li{line-height:1.9;color:#5c4a43}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:10px;z-index:99;background:#fff;padding:8px 12px;border-radius:8px}
a:focus-visible,summary:focus-visible{outline:3px solid #c77a5f;outline-offset:2px;border-radius:8px}
/* ---- footer ---- */
.wm-member-shell>.pub-footer{max-width:1230px;margin:40px auto 0;padding:32px 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;align-items:start;color:#5f524c;font-size:14px}
.pub-footer h2{font-size:14px;margin:0 0 10px;color:#4c352c}.pub-footer nav{display:grid;gap:8px}
.pub-footer a{color:#7a4535;font-weight:700;text-decoration:none}.pub-footer a:hover{text-decoration:underline}
.foot-brand strong{color:#4c352c;font-size:16px}.foot-brand p{margin:6px 0 0}
.foot-copy{grid-column:1/-1;margin:8px 0 0;padding-top:16px;border-top:1px solid #ebded3;font-size:13px}
/* ---- tablet / phone ---- */
@media(max-width:1100px){.pub-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){
 .soon-bar{display:block}.member-header-actions .soon-badge{display:none}
 .wm-member .hero-copy h1{font-size:30px}
 .hero-visual{display:flex;flex-direction:column;align-items:center;gap:22px;padding:20px 0 26px;min-height:0}
 .hero-visual .visual-note{position:static;margin:0;font-size:13px}
 .wm-member-mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 .wm-member-mobile-nav a{display:grid;gap:3px;place-items:center;align-content:center;min-height:56px;border-radius:12px;color:#5f4f48;padding:6px 2px;font-size:12px;font-weight:800;white-space:nowrap;text-decoration:none}
 .wm-member-mobile-nav a .nav-ic{width:22px;height:22px}
 .wm-member-mobile-nav a.active{color:#7a4232;background:#f8e9df}
 .pub-grid,.pub-grid.four,.pub-two,.pub-modes,.persona-grid,.persona-grid.two{grid-template-columns:1fr}
 .type-grid{grid-template-columns:1fr 1fr}
 .pub-page-hero{padding:30px 22px}
 .wm-member-shell>.pub-footer{grid-template-columns:1fr 1fr;padding:24px 16px 112px}.foot-brand{grid-column:1/-1}
}
@media(max-width:400px){.type-grid{grid-template-columns:1fr}}
/* ---- v3: web-QA P2 fixes ---- */
/* P2-5 contrast (WCAG 1.4.3 AA): logo mark >= 3:1 (large bold), hero copy and step numbers >= 4.5:1, caption on a solid chip */
.wm-member .wm-logo{background:linear-gradient(135deg,#b8775a,#8f4e3b)}
.wm-member .hero-copy>p{color:#5f4a40}
.wm-member .steps-grid b{color:#8a4b39}
.wm-member .visual-note{background:rgba(255,250,245,.94);color:#5f4a40;padding:4px 12px;border-radius:999px}
/* P2-4 footer: full-width links with a real click / tap area */
.pub-footer nav{gap:0}
.pub-footer nav a{display:flex;align-items:center;min-height:36px;padding:2px 0}
/* P2-3 anchors: keep targets clear of the sticky header (and the phone notice bar) at every width */
[id]{scroll-margin-top:112px}
@media(max-width:1100px){[id]{scroll-margin-top:140px}}
@media(max-width:850px){[id]{scroll-margin-top:132px}.pub-footer nav a{min-height:48px}}
/* P2-2 five-item bottom navigation must fit 320px phones */
@media(max-width:360px){.wm-member-mobile-nav a{font-size:11px;letter-spacing:-.02em}}
