@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@600;700&display=swap');

:root { --ink:#141414; --muted:#6e6b66; --paper:#f8f5ed; --red:#ef3838; --orange:#e9a531; --yellow:#f4c13d; --line:#dedbd2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:'DM Sans',sans-serif; }

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.site-shell { min-height:100vh; overflow:hidden; }
.site-header { height:88px; max-width:1240px; margin:auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { width:190px; height:64px; overflow:hidden; display:block; position:relative; }
.brand .logo-source { position:absolute; width:190px; max-width:none; left:0; top:-61px; }
.site-nav { display:flex; gap:34px; }
.site-nav a,.text-action { color:var(--ink); text-decoration:none; font-weight:600; font-size:.94rem; }
.site-nav a:hover,.text-action:hover { color:var(--red); }
.header-actions { display:flex; align-items:center; gap:22px; }
.primary-action { display:inline-flex; align-items:center; justify-content:center; padding:15px 22px; border-radius:10px; background:var(--ink); color:#fff; font-weight:700; text-decoration:none; }
.primary-action.small { padding:12px 17px; }
.hero { min-height:610px; background:var(--paper); display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); gap:50px; padding:92px max(28px,calc((100vw - 1184px)/2)); position:relative; }
.hero:before { content:""; position:absolute; width:220px; height:220px; border:38px solid var(--orange); border-radius:50%; right:-90px; top:-100px; opacity:.8; }
.hero-copy { position:relative; z-index:2; }
.eyebrow { display:block; color:var(--red); font-size:.75rem; font-weight:800; letter-spacing:.15em; margin-bottom:17px; }
h1,h2 { font-family:'Space Grotesk',sans-serif; letter-spacing:-.045em; }
h1 { font-size:clamp(3.1rem,6vw,5.5rem); max-width:760px; line-height:.97; margin:0 0 25px; }
.hero-copy>p { max-width:650px; font-size:1.15rem; color:var(--muted); line-height:1.65; }
.search-panel { display:grid; grid-template-columns:1.5fr .75fr .75fr auto; gap:0; background:#fff; border:1px solid var(--line); box-shadow:0 18px 45px rgba(28,25,20,.1); border-radius:14px; padding:8px; margin:35px 0 26px; max-width:900px; }
.search-panel label { padding:7px 16px; border-right:1px solid var(--line); }
.search-panel label span { display:block; font-size:.7rem; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.search-panel input,.search-panel select { width:100%; border:0; outline:0; background:transparent; font:600 .95rem 'DM Sans'; padding:6px 0 2px; }
.search-button { border:0; border-radius:9px; background:var(--red); color:#fff; padding:0 27px; font-weight:800; }
.hero-stats { display:flex; gap:25px; flex-wrap:wrap; color:var(--muted); font-size:.82rem; }
.hero-stats strong { color:var(--ink); }
.hero-visual { position:relative; min-height:390px; }
.brand-orbit { position:absolute; width:365px; height:365px; border-radius:50%; background:linear-gradient(145deg,#f7d35f,var(--orange)); top:10px; right:35px; display:grid; place-items:center; box-shadow:20px 25px 0 var(--red); overflow:hidden; }
.orbit-logo-crop { width:330px; height:100px; overflow:hidden; position:relative; }
.orbit-logo-crop img { width:350px; max-width:none; position:absolute; left:-10px; top:-120px; }
.visual-card { position:absolute; background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; box-shadow:0 16px 45px rgba(0,0,0,.13); z-index:2; display:flex; flex-direction:column; }
.visual-card span { font-size:.68rem; font-weight:800; letter-spacing:.1em; color:var(--red); }
.visual-card strong { font:700 2rem 'Space Grotesk'; }
.visual-card small { color:var(--muted); }
.card-campaign { right:0; top:35px; transform:rotate(5deg); }
.card-place { left:0; bottom:15px; transform:rotate(-4deg); }
.card-place .pin { font-size:1rem; color:var(--yellow); }
.promise-strip { max-width:1184px; margin:-32px auto 0; position:relative; z-index:4; background:#fff; border:1px solid var(--line); box-shadow:0 18px 50px rgba(24,20,15,.08); border-radius:16px; display:grid; grid-template-columns:repeat(3,1fr); }
.promise-strip>div { padding:24px 28px; display:grid; grid-template-columns:auto 1fr; column-gap:15px; border-right:1px solid var(--line); }
.promise-strip>div:last-child { border-right:0; }
.promise-strip span { grid-row:1/3; color:var(--orange); font:700 1.2rem 'Space Grotesk'; }
.promise-strip strong { font-size:.95rem; }
.promise-strip small { color:var(--muted); margin-top:3px; }
.category-section { max-width:1240px; margin:0 auto; padding:90px 28px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:34px; }
.section-heading h2,.business-banner h2 { font-size:clamp(2rem,4vw,3.2rem); margin:0; }
.section-heading a { color:var(--ink); font-weight:700; text-decoration:none; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.category-grid a { min-height:185px; padding:25px; border:1px solid var(--line); border-radius:16px; color:var(--ink); text-decoration:none; display:flex; flex-direction:column; transition:.2s ease; }
.category-grid a:hover { transform:translateY(-6px); border-color:var(--ink); box-shadow:0 18px 35px rgba(0,0,0,.07); }
.category-grid span { font-size:2rem; margin-bottom:auto; }
.category-grid strong { font:700 1.25rem 'Space Grotesk'; }
.category-grid small { color:var(--muted); margin-top:5px; }
.business-banner { max-width:1184px; margin:0 auto 90px; padding:56px 60px; border-radius:24px; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:40px; position:relative; overflow:hidden; }
.business-banner:after { content:""; width:180px; height:180px; border-radius:50%; background:var(--red); position:absolute; right:180px; bottom:-130px; }
.business-banner p { color:#c8c5bf; margin:12px 0 0; }
.eyebrow.light { color:var(--yellow); }
.primary-action.inverse { background:#fff; color:var(--ink); min-width:165px; position:relative; z-index:1; }
.business-features { max-width:1184px; margin:0 auto 100px; display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; padding:20px 0; }
.feature-intro h2 { font-size:clamp(2.2rem,4vw,3.7rem); margin:0 0 22px; }
.feature-intro p,.feature-list p { color:var(--muted); line-height:1.65; }
.feature-list { display:grid; gap:8px; }
.feature-list article { display:grid; grid-template-columns:56px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid var(--line); }
.feature-list article>span { width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:#f8e4af; color:#9d6509; font-size:1.3rem; }
.feature-list h3 { font:700 1.2rem 'Space Grotesk'; margin:0 0 5px; }
.feature-list p { margin:0; }
.site-footer { background:#f1eadc; border-top:1px solid #ded2bd; padding:55px max(28px,calc((100vw - 1184px)/2)); display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:55px; color:#5e584e; }
.site-footer>div:not(.footer-brand) { display:flex; flex-direction:column; gap:9px; }
.site-footer strong { color:var(--ink); margin-bottom:5px; }
.site-footer a { color:#5e584e; text-decoration:none; }
.footer-logo { display:block; width:190px; height:62px; overflow:hidden; position:relative; }
.footer-logo img { position:absolute; width:190px; max-width:none; top:-61px; }
.footer-brand p { max-width:310px; margin:8px 0 0; }

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.registration-page { min-height:calc(100vh - 88px); display:grid; grid-template-columns:minmax(360px,.86fr) minmax(580px,1.14fr); background:var(--paper); }
.registration-intro { background:var(--ink); color:#fff; padding:64px max(45px,calc((100vw - 1184px)/2)); padding-right:65px; }
.registration-logo,.verification-logo { display:block; width:205px; height:72px; overflow:hidden; position:relative; margin-bottom:70px; background:#fff; border-radius:10px; }
.registration-logo img,.verification-logo img { position:absolute; width:205px; max-width:none; top:-66px; left:0; }
.registration-intro h1 { font-size:clamp(2.8rem,4.8vw,4.6rem); margin-bottom:25px; }
.registration-intro>p { color:#c9c5bd; font-size:1.08rem; line-height:1.65; max-width:570px; }
.registration-intro ul { list-style:none; padding:25px 0 0; margin:30px 0 0; border-top:1px solid #383838; display:grid; gap:20px; }
.registration-intro li { display:grid; gap:3px; padding-left:25px; position:relative; }
.registration-intro li:before { content:'✓'; color:var(--yellow); position:absolute; left:0; font-weight:800; }
.registration-intro li span { color:#aaa69f; font-size:.9rem; }
.registration-card { background:#fff; margin:40px; padding:42px 48px; border:1px solid var(--line); border-radius:20px; box-shadow:0 25px 70px rgba(25,20,12,.08); align-self:start; }
.registration-heading { display:flex; align-items:flex-start; gap:18px; margin-bottom:28px; }
.registration-heading>span,.step-pill { background:#f9df97; color:#704700; border-radius:30px; padding:7px 12px; font-size:.72rem; font-weight:800; white-space:nowrap; }
.registration-heading h2 { font-size:2rem; margin:0; }.registration-heading p { color:var(--muted); margin:4px 0 0; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.field-grid .wide { grid-column:1/-1; }
.field-grid label>span,.code-grid label>span { display:block; font-size:.78rem; font-weight:800; margin:0 0 7px; }
.field-grid input,.field-grid textarea,.field-grid select,.code-grid input { width:100%; border:1px solid var(--line); border-radius:10px; padding:13px 14px; font:500 .95rem 'DM Sans'; background:#fff; }
.field-grid textarea { min-height:82px; resize:vertical; }.field-grid input:focus,.field-grid textarea:focus,.code-grid input:focus { outline:2px solid #f0bd38; border-color:#b17c00; }
.validation-message,.validation-summary { color:#b42318; font-size:.8rem; }.validation-summary ul { margin:0 0 15px; }
.consent { display:flex; align-items:flex-start; gap:10px; margin-top:22px; font-size:.84rem; color:#45413b; }.consent input { margin-top:3px; }.consent a { color:var(--ink); font-weight:700; }.consent.optional { margin-top:10px; color:var(--muted); }
.register-submit { width:100%; border:0; border-radius:10px; padding:16px; margin-top:24px; background:var(--red); color:#fff; font-weight:800; font-size:1rem; }.register-submit:disabled { opacity:.55; }
.login-hint { text-align:center; color:var(--muted); font-size:.88rem; }.login-hint a { color:var(--ink); font-weight:700; }.form-alert { background:#fff0ee; border:1px solid #f4b5ae; color:#912018; padding:13px 15px; border-radius:10px; margin-bottom:18px; }
.verification-page { min-height:calc(100vh - 88px); background:var(--paper); padding:65px 25px; }.verification-card { max-width:680px; margin:auto; background:#fff; border:1px solid var(--line); border-radius:22px; padding:48px; box-shadow:0 25px 70px rgba(25,20,12,.09); }.verification-logo { margin:0 auto 35px; }.verification-card h1 { font-size:2.8rem; text-align:center; margin:20px 0 12px; }.verification-card>p { color:var(--muted); line-height:1.6; text-align:center; }.step-pill { display:table; margin:auto; }.code-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:30px; }.code-grid input { text-align:center; font-size:1.6rem; letter-spacing:.25em; }.trial-note { margin-top:25px; padding:16px; background:#f7f1df; border-radius:10px; display:grid; gap:3px; }.trial-note span { color:var(--muted); font-size:.86rem; }
.company-panel,.subscription-page-cadde { max-width:1184px; margin:auto; padding:65px 28px 100px; }.panel-hero { display:flex; justify-content:space-between; align-items:end; gap:35px; }.panel-hero h1,.subscription-page-cadde h1 { font-size:clamp(2.6rem,5vw,4.5rem); margin:0 0 15px; }.panel-hero p,.subscription-page-cadde header p { color:var(--muted); }.trial-banner { margin:38px 0; background:#f6d66f; border-radius:18px; padding:25px 30px; display:flex; align-items:center; gap:28px; }.trial-banner div { display:grid; }.trial-banner div strong { font:700 2.2rem 'Space Grotesk'; }.trial-banner p { flex:1; }.trial-banner a { color:var(--ink); font-weight:800; }.panel-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.panel-card { display:block; border:1px solid var(--line); border-radius:16px; padding:28px; color:var(--ink); text-decoration:none; }.panel-card>span { color:var(--red); font-weight:800; }.panel-card h2 { margin:14px 0 8px; }.panel-card p { color:var(--muted); line-height:1.55; }
.subscription-page-cadde header>a { color:var(--ink); font-weight:700; text-decoration:none; display:inline-block; margin-bottom:45px; }.payment-notice { margin:30px 0; border-left:5px solid var(--orange); background:#fff7df; padding:18px 22px; display:grid; gap:5px; }.payment-notice span { color:#655c4b; }.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:42px; }.pricing-card { border:1px solid var(--line); border-radius:18px; padding:30px; position:relative; }.pricing-card.featured { border:2px solid var(--ink); }.popular { position:absolute; right:18px; top:-14px; background:var(--red); color:#fff; padding:6px 11px; border-radius:20px; font-size:.7rem; font-weight:800; }.price { font:700 2.4rem 'Space Grotesk'; }.price small { font:500 .85rem 'DM Sans'; color:var(--muted); }.pricing-card ul { padding-left:18px; color:var(--muted); line-height:2; }.pricing-card button { width:100%; border:0; border-radius:9px; padding:14px; background:var(--ink); color:#fff; font-weight:800; }.pricing-card button:disabled { background:#aaa; cursor:not-allowed; }.header-logout { border:0; background:none; color:var(--muted); font:600 .9rem 'DM Sans'; cursor:pointer; }.header-actions form { margin:0; }

.page-loading { min-height:500px; display:grid; place-items:center; color:var(--muted); }
.discovery-page { max-width:1184px; margin:auto; padding:70px 28px 110px; }
.discovery-header h1 { margin:0 0 15px; }.discovery-header p { color:var(--muted); }
.discovery-search { display:grid; grid-template-columns:1.5fr .75fr .75fr .85fr auto; gap:10px; margin:35px 0 22px; padding:10px; border:1px solid var(--line); border-radius:14px; box-shadow:0 15px 45px rgba(0,0,0,.06); }
.discovery-search input,.discovery-search select { border:0; border-right:1px solid var(--line); padding:12px; font:500 .95rem 'DM Sans'; outline:0; background:#fff; }
.discovery-search button { border:0; border-radius:9px; padding:0 28px; background:var(--red); color:#fff; font-weight:800; }
.result-summary { display:flex; gap:12px; color:var(--muted); padding-bottom:30px; border-bottom:1px solid var(--line); }.result-summary strong { color:var(--ink); }
.result-section { padding-top:55px; }.result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.result-card { border:1px solid var(--line); border-radius:15px; padding:24px; }.result-card h3 { font:700 1.25rem 'Space Grotesk'; margin:14px 0 9px; }.result-card p,.result-card small { color:var(--muted); }
.result-type { color:var(--red); font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.result-price { color:var(--ink)!important; font-weight:800; }
.empty-results { text-align:center; padding:80px 20px; background:var(--paper); border-radius:18px; }.empty-results strong { font:700 1.5rem 'Space Grotesk'; }.empty-results p { color:var(--muted); }
.login-page { min-height:calc(100vh - 88px); display:grid; grid-template-columns:.9fr 1.1fr; background:var(--paper); }.login-brand-panel { background:var(--ink); color:#fff; padding:70px max(48px,calc((100vw - 1184px)/2)); padding-right:70px; }.login-logo { display:block; width:205px; height:72px; overflow:hidden; position:relative; margin-bottom:80px; background:#fff; border-radius:10px; }.login-logo img { position:absolute; width:205px; max-width:none; top:-66px; }.login-brand-panel h1 { font-size:clamp(3rem,5vw,4.8rem); margin-bottom:25px; }.login-brand-panel>p { color:#c4c0b9; font-size:1.08rem; line-height:1.65; }.login-trust { display:grid; gap:13px; margin-top:38px; padding-top:28px; border-top:1px solid #3b3b3b; color:#ded9d1; }.login-trust span::first-letter { color:var(--yellow); }.login-form-wrap { display:grid; place-items:center; padding:55px 28px; }.login-card { width:min(100%,540px); background:#fff; border:1px solid var(--line); border-radius:20px; padding:48px; box-shadow:0 25px 70px rgba(25,20,12,.09); }.login-card h2 { font-size:2.2rem; margin:22px 0 8px; }.login-card>p { color:var(--muted); margin-bottom:28px; }.login-field { display:block; margin-top:18px; }.login-field>span { display:block; font-size:.8rem; font-weight:800; margin-bottom:7px; }.login-field input { width:100%; border:1px solid var(--line); border-radius:10px; padding:14px; font:500 .96rem 'DM Sans'; }.login-field input:focus { outline:2px solid var(--yellow); border-color:#a57400; }.login-options { display:flex; justify-content:space-between; align-items:center; margin:18px 0; font-size:.86rem; }.login-options label { display:flex; gap:7px; align-items:center; }.login-options a,.login-register a { color:var(--ink); font-weight:800; }.login-submit { width:100%; border:0; border-radius:10px; padding:16px; background:var(--red); color:#fff; font-weight:800; font-size:1rem; }.login-register { text-align:center; color:var(--muted); font-size:.88rem; margin:20px 0 0; }

.member-auth-page { min-height:calc(100vh - 88px); background:var(--paper); display:grid; place-items:center; padding:55px 20px; }.member-auth-card { width:min(100%,620px); background:#fff; border:1px solid var(--line); border-radius:20px; padding:45px; box-shadow:0 25px 70px rgba(25,20,12,.09); }.member-auth-card h1 { font-size:2.8rem; text-align:center; margin:22px 0 12px; }.member-auth-card>p { color:var(--muted); text-align:center; }.member-auth-card .step-pill { display:table; margin:auto; }
.request-create-page,.my-requests-page { max-width:1040px; margin:auto; padding:65px 28px 110px; }.request-create-page>header { max-width:780px; }.request-create-page>header h1 { margin-bottom:18px; }.request-create-page>header p { color:var(--muted); line-height:1.65; }.request-form { display:grid; gap:20px; margin-top:38px; }.request-form>section { border:1px solid var(--line); border-radius:16px; padding:28px; background:#fff; }.request-form h2 { margin:0 0 22px; }.privacy-callout { padding:18px 22px; border-left:5px solid var(--yellow); background:#fff8df; display:grid; gap:4px; }.privacy-callout span { color:var(--muted); }.request-list { display:grid; gap:16px; margin-top:40px; }.request-card { border:1px solid var(--line); border-radius:16px; padding:26px; display:grid; grid-template-columns:1fr auto; gap:30px; }.request-card h2 { margin:10px 0; }.request-card p { color:var(--muted); max-width:680px; }.request-card small { color:var(--muted); }.request-metrics { display:flex; align-items:center; gap:13px; }.request-metrics>span { min-width:90px; display:grid; text-align:center; padding:12px; background:var(--paper); border-radius:10px; color:var(--muted); font-size:.72rem; }.request-metrics strong { color:var(--ink); font:700 1.5rem 'Space Grotesk'; }.request-status { color:#18764b!important; font-weight:800; }

.company-catalog-page,.product-editor-page { max-width:1184px; margin:auto; padding:60px 28px 110px; }.company-catalog-page header>p,.product-editor-page header>p { color:var(--muted); }.back-link { display:block; color:var(--ink); font-weight:700; text-decoration:none; margin-bottom:38px; }.catalog-summary { display:flex; gap:16px; margin:35px 0; }.catalog-summary span { min-width:140px; display:grid; padding:17px; border:1px solid var(--line); border-radius:12px; color:var(--muted); }.catalog-summary strong { color:var(--ink); font:700 1.7rem 'Space Grotesk'; }.catalog-table { border:1px solid var(--line); border-radius:16px; overflow:hidden; }.catalog-table article { display:grid; grid-template-columns:minmax(280px,1.5fr) .65fr .55fr .55fr auto; gap:18px; align-items:center; padding:20px 22px; border-bottom:1px solid var(--line); }.catalog-table article:last-child { border-bottom:0; }.catalog-product { display:flex; gap:15px; align-items:center; }.product-image { width:54px; height:54px; display:grid; place-items:center; border-radius:10px; background:var(--paper); font-size:1.4rem; }.catalog-product h2 { font-size:1.1rem; margin:3px 0; }.catalog-product p,.catalog-product small { color:var(--muted); margin:0; }.catalog-table article>a { color:var(--ink); font-weight:800; }.status-live,.status-draft { padding:6px 9px; border-radius:20px; font-size:.7rem; font-weight:800; text-align:center; }.status-live { background:#dff5e9; color:#12603b; }.status-draft { background:#eeeae2; color:#665e51; }.group-layout { display:grid; grid-template-columns:380px 1fr; gap:30px; margin-top:35px; }.group-form,.group-list { border:1px solid var(--line); border-radius:16px; padding:26px; }.group-list article { display:flex; justify-content:space-between; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }.group-list article>span:first-child { display:grid; }.group-list small { color:var(--muted); }.editor-actions { display:flex; justify-content:flex-end; align-items:center; gap:25px; }.editor-actions .register-submit { width:auto; min-width:240px; }.editor-actions>a { color:var(--muted); font-weight:700; }

.form-success { background:#e6f7ee; border:1px solid #9dd8b8; color:#155f3b; padding:13px 15px; border-radius:10px; margin:18px 0; }.account-overview { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:32px 0; }.account-overview>div { display:grid; gap:5px; border:1px solid var(--line); border-radius:13px; padding:20px; }.account-overview span,.account-overview small { color:var(--muted); }.password-form { max-width:580px; }.group-form select { width:100%; border:1px solid var(--line); border-radius:10px; padding:13px; background:#fff; }

@media (max-width:900px) {
    .catalog-table article { grid-template-columns:1fr 1fr; }.group-layout { grid-template-columns:1fr; }
    .request-card { grid-template-columns:1fr; }.request-metrics { justify-content:flex-start; }
    .login-page { grid-template-columns:1fr; }.login-brand-panel { padding:45px 35px; }.login-logo { margin-bottom:38px; }
    .discovery-search { grid-template-columns:1fr 1fr; }.result-grid { grid-template-columns:repeat(2,1fr); }
    .registration-page { grid-template-columns:1fr; }.registration-intro { padding:45px 35px; }.registration-logo { margin-bottom:40px; }.registration-card { margin:25px; }.pricing-grid { grid-template-columns:1fr; }.panel-hero { align-items:flex-start; flex-direction:column; }
    .site-nav { display:none; }
    .hero { grid-template-columns:1fr; padding-top:65px; }
    .hero-visual { min-height:410px; max-width:520px; width:100%; margin:auto; }
    .category-grid { grid-template-columns:repeat(2,1fr); }
    .promise-strip { margin:0 25px; grid-template-columns:1fr; }
    .promise-strip>div { border-right:0; border-bottom:1px solid var(--line); }
    .business-features { grid-template-columns:1fr; gap:35px; padding:0 28px; }
    .site-footer { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px) {
    .account-overview { grid-template-columns:1fr; }
    .company-catalog-page,.product-editor-page { padding:40px 18px 80px; }.catalog-summary { display:grid; grid-template-columns:repeat(3,1fr); }.catalog-summary span { min-width:0; }.catalog-table article { grid-template-columns:1fr; }.editor-actions { align-items:stretch; flex-direction:column; }.editor-actions .register-submit { width:100%; }
    .member-auth-card { padding:30px 21px; }.member-auth-card h1 { font-size:2.2rem; }.request-create-page,.my-requests-page { padding:45px 18px 80px; }.request-form>section { padding:22px 18px; }.request-metrics { display:grid; grid-template-columns:repeat(3,1fr); }.request-metrics>span { min-width:0; }
    .login-form-wrap { padding:18px 10px 40px; }.login-card { padding:30px 22px; }.login-brand-panel { padding:35px 22px; }.login-options { align-items:flex-start; flex-direction:column; gap:12px; }
    .discovery-search,.result-grid { grid-template-columns:1fr; }.discovery-search input,.discovery-search select { border-right:0; border-bottom:1px solid var(--line); }.discovery-search button { min-height:48px; }
    .registration-card,.verification-card { margin:14px; padding:28px 20px; }.field-grid,.code-grid,.panel-grid { grid-template-columns:1fr; }.field-grid .wide { grid-column:auto; }.registration-intro { padding:35px 22px; }.trial-banner { align-items:flex-start; flex-direction:column; gap:10px; }
    .site-header { height:72px; padding:0 18px; }
    .brand { width:145px; height:55px; }
    .brand .logo-source { width:145px; top:-46px; }
    .text-action { display:none; }
    .hero { padding:55px 20px; }
    h1 { font-size:3.25rem; }
    .search-panel { grid-template-columns:1fr; }
    .search-panel label { border-right:0; border-bottom:1px solid var(--line); }
    .search-button { min-height:50px; margin-top:5px; }
    .hero-stats { display:grid; gap:8px; }
    .brand-orbit { width:285px; height:285px; right:20px; }
    .brand-orbit img { width:280px; }
    .hero-visual { min-height:340px; }
    .category-grid { grid-template-columns:1fr; }
    .category-section { padding:65px 20px; }
    .business-banner { margin:0 20px 60px; padding:38px 28px; flex-direction:column; align-items:flex-start; }
    .business-features { padding:0 20px; margin-bottom:65px; }
    .site-footer { grid-template-columns:1fr; padding:45px 24px; gap:30px; }
}
