/* Member-specific layout. Brand styling is shared with the main website in style.css. */
.member-page { scroll-padding-top: 150px; }
.member-page section[id] { scroll-margin-top: 160px; }
.member-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:8px; padding-bottom:8px; }
.member-brand { display:flex; align-items:center; gap:12px; min-width:0; white-space:normal; margin:0; }
.member-brand strong,.member-brand small { display:block; }
.member-brand img { flex-shrink:0; object-fit:contain; }
.member-nav nav { flex-wrap:wrap; justify-content:center; align-items:center; }
.member-hero { color:var(--white); }
.hero-grid { position:relative; display:grid; grid-template-columns:1.5fr 1fr; gap:64px; align-items:center; }
.member-page .hero-headline { margin:20px 0; }
.eyebrow { color:var(--accent-dark); font-size:13px; font-weight:700; letter-spacing:.08em; }
.member-hero .eyebrow { color:var(--accent); }
.hero-intro { font-size:1.2rem; }
.hero-copy { color:rgba(255,255,255,.85); }
.member-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.mp-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.member-identity { background:var(--white); color:var(--text); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:28px; text-align:center; min-width:0; }
.member-monogram { width:90px; height:90px; display:grid; place-items:center; margin:0 auto 18px; border-radius:50%; background:var(--light-bg); color:var(--primary); font:600 42px 'Poppins',Arial,sans-serif; }
.identity-label { color:var(--mid-gray); font-size:13px; }
.member-identity h2 { font-size:1.6rem; margin:12px 0; overflow-wrap:anywhere; }
.member-badge { display:inline-block; border:1px solid var(--border); border-radius:var(--radius); padding:6px 10px; font-size:13px; color:var(--primary); }
.identity-contacts { display:grid; gap:10px; margin:20px 0; overflow-wrap:anywhere; }
.member-socials { display:flex; justify-content:center; gap:12px; }
.member-socials a { width:36px; height:36px; border:1px solid var(--border); border-radius:50%; display:grid; place-items:center; }
.member-section { padding:80px 0; }
.section-intro { text-align:center; margin-bottom:40px; }
.member-section h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin:12px 0 20px; }
.section-intro h2::after { content:''; display:block; width:56px; height:3px; background:var(--accent); border-radius:2px; margin:12px auto 24px; }
.section-intro p,.product-copy small { color:var(--mid-gray); }
.member-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.member-product { display:flex; flex-direction:column; }
.product-image { height:220px; padding:18px; background:var(--light-gray); }
.product-image img { width:100%; height:184px; object-fit:contain; }
.product-copy { display:flex; flex-direction:column; flex:1; }
.product-copy p { flex:1; color:var(--mid-gray); }
.product-copy strong { color:var(--primary); font-weight:700; font-size:1.2rem; }
.product-copy small { font-size:13px; margin:6px 0 18px; }
.opportunity,.join-section { background:var(--light-bg); }
.opportunity-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.contact-grid,.join-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; }
.contact-grid a { overflow-wrap:anywhere; }
.member-form { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:30px; display:grid; gap:17px; min-width:0; }
.member-form label { display:block; min-width:0; font-weight:600; }
.member-form input,.member-form select,.member-form textarea { width:100%; min-width:0; margin-top:6px; }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.member-form small,.member-form .small { font-weight:400; }
.member-success { padding:20px; background:var(--light-bg); border-left:3px solid var(--success); margin:20px 0; }
.member-footer { text-align:center; padding:48px 0; }
.member-footer strong { color:var(--white); font-family:'Poppins',Arial,sans-serif; }
.member-footer p { max-width:740px; margin:16px auto; }
.member-footer a { color:var(--accent); }
@media(max-width:991.98px) { .member-nav { flex-direction:column; gap:10px; } .member-brand { justify-content:center; text-align:center; } .hero-grid { gap:24px; grid-template-columns:1fr 1fr; } .contact-grid,.join-grid { gap:24px; } .member-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .hero-grid,.contact-grid,.join-grid,.opportunity-grid { grid-template-columns:1fr; gap:30px; } .hero-grid>div { text-align:center; } .member-actions { justify-content:center; } .member-section { padding:48px 0; } .member-products,.form-pair { grid-template-columns:1fr; } .member-form { padding:20px; } .member-nav nav .nav-link { font-size:13px; padding:6px 8px; } .member-brand .nav-logo { max-width:70px; height:70px; } }
@media(prefers-reduced-motion:reduce) { .member-page { scroll-behavior:auto; } }

/* Detailed catalogue and member-owned contact actions. */
.product-copy .product-tagline,.product-copy .member-product-summary { flex:0; }
.member-product-summary { font-size:15px; }
.member-product-details { margin:0 0 20px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:12px 0; }
.member-product-details summary { cursor:pointer; color:var(--primary); font-weight:600; }
.member-product-details h4 { font-size:1rem; margin:18px 0 8px; }
.member-product-detail-text { white-space:pre-line; overflow-wrap:anywhere; color:var(--mid-gray); font-size:15px; }
.member-product-actions { margin-top:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.member-product-actions .btn { padding:10px 12px; font-size:14px; display:flex; gap:7px; align-items:center; justify-content:center; }
.member-product-actions .product-enquiry { grid-column:1/-1; }

.member-identity .member-portrait { display:block; width:240px; height:240px; max-width:100%; object-fit:contain; background:var(--light-bg); border-radius:var(--radius-lg); margin:0 auto 20px; }
