.market-shell { width: min(100% - 3rem, 1240px); margin: 0 auto; }
.market-hero { position: relative; overflow: hidden; padding: clamp(4.2rem, 8vw, 7rem) 0; background: radial-gradient(circle at 82% 16%, #e1d7ff, transparent 34%), var(--paper); border-bottom: 1px solid var(--line); }
.market-hero::after { content: "✳"; position: absolute; right: 6%; bottom: -8rem; color: rgba(104,72,232,.11); font-size: clamp(14rem, 35vw, 36rem); line-height: 1; pointer-events: none; animation: halo-turn 45s linear infinite; }
.market-hero .eyebrow { display: flex; align-items: center; gap: .65rem; }
.market-hero h1,.market-section-head h2,.method-section h2,.enquiry-section h2 { margin: 0; font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; font-weight: 500; letter-spacing: -.055em; line-height: 1.04; }
.market-hero h1 { max-width: 850px; font-size: clamp(3.8rem, 7vw, 7rem); }
.market-hero p:not(.eyebrow) { max-width: 630px; margin: 1.5rem 0; color: #615968; font-size: 1.08rem; line-height: 1.7; }
.market-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 2rem; }
.market-hero-actions a { display: inline-flex; align-items: center; gap: .5rem; padding: .78rem 1.1rem; border-radius: 999px; text-decoration: none; font-size: .86rem; font-weight: 700; }
.market-hero-actions a:first-child { color: #fff; background: var(--violet); }
.market-hero-actions a:last-child { border: 1px solid #c9bed4; }
.market-main { padding: clamp(4rem, 7vw, 6rem) 0; }
.market-section-head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.market-section-head h2,.method-section h2,.enquiry-section h2 { font-size: clamp(2.6rem, 4.6vw, 4.4rem); }
.market-section-head>p { color: var(--muted); font-size: .82rem; }
.comparison-toolbar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; border-top: 1px solid var(--line); }
.comparison-toolbar p { color: var(--muted); font-size: .88rem; }
.comparison-toolbar button { border: 0; background: transparent; color: var(--violet-deep); font-weight: 700; cursor: pointer; white-space: nowrap; }
.publisher-picks { display: flex; flex-wrap: wrap; gap: .55rem; padding: 1.1rem 0 1.7rem; }
.publisher-pick { display: inline-flex; align-items: center; gap: .5rem; padding: .62rem .83rem; border: 1px solid #d9d0dc; border-radius: 999px; color: var(--ink-soft); background: #fff; cursor: pointer; font-size: .79rem; font-weight: 670; transition: transform .18s ease, color .18s ease, background .18s ease; }
.publisher-pick:hover { transform: translateY(-2px); }
.publisher-pick.active { color: #fff; border-color: var(--night); background: var(--night); }
.publisher-pick span { opacity: .72; font-size: .67rem; font-weight: 500; }
.comparison-scroll { overflow-x: auto; padding-bottom: .9rem; }
.comparison-grid { display: grid; grid-auto-columns: minmax(220px, 1fr); grid-auto-flow: column; gap: .7rem; min-width: max-content; }
.report-card { width: clamp(220px, 19vw, 245px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e0d8e4; border-radius: 1rem; background: #fff; box-shadow: 0 10px 30px rgba(35,25,45,.04); }
.report-top { min-height: 175px; padding: 1.1rem 1.1rem 1.35rem; background: #eee8ff; }
.report-card:nth-child(5n+2) .report-top { background: #ffe4d0; }
.report-card:nth-child(5n+3) .report-top { background: #dff1e8; }
.report-card:nth-child(5n+4) .report-top { background: #f9e5e3; }
.report-card:nth-child(5n+5) .report-top { background: #e9e7f3; }
.report-publisher { margin: 0 0 .75rem; color: var(--violet-deep); font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.report-top h3 { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; margin: 0; font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; font-size: 1.22rem; font-weight: 600; line-height: 1.2; }
.report-card dl { margin: 0; }
.report-card dl>div { min-height: 76px; padding: .8rem 1.1rem; border-bottom: 1px solid #f0ebef; }
.report-card dt { margin-bottom: .22rem; color: #817785; font-size: .67rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.report-card dd { margin: 0; color: #3b3042; font-size: .81rem; line-height: 1.4; }
.report-source { display: flex; justify-content: space-between; gap: .5rem; align-items: center; margin: auto 1.1rem 0; padding: .95rem 0; color: var(--violet-deep); font-size: .78rem; font-weight: 700; text-decoration: none; }
.report-source:hover { text-decoration: underline; text-underline-offset: 3px; }
.request-toggle { display: flex; align-items: center; gap: .55rem; padding: .85rem 1.1rem; color: #fff; background: var(--night); font-size: .8rem; font-weight: 680; cursor: pointer; }
.request-toggle input { width: 1rem; height: 1rem; accent-color: var(--lime); }
.source-note { max-width: 840px; margin: 1.2rem 0 0; color: var(--muted); font-size: .79rem; }
.method-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 4rem; padding: 4rem 0; border-top: 1px solid var(--line); }
.method-section p:last-child { margin: 0; color: var(--ink-soft); line-height: 1.8; }
.enquiry-section { padding: clamp(4rem, 7vw, 6rem) 0; color: #fff; background: var(--night); }
.privacy-copy { max-width: 820px; padding: 4rem 0 5rem; }
.privacy-copy h2 { margin: 2.2rem 0 .6rem; font-family: "Iowan Old Style","Palatino Linotype",Georgia,serif; font-size: 1.75rem; font-weight: 500; }
.privacy-copy h2:first-child { margin-top: 0; }
.privacy-copy p { margin: 0; color: var(--ink-soft); line-height: 1.8; }
.enquiry-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 7vw, 7rem); }
.enquiry-layout>div>p:last-child { max-width: 440px; color: #d0c3d8; line-height: 1.75; }
#enquiry-form,#privacy-form { display: grid; gap: 1rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid rgba(255,255,255,.18); border-radius: 1rem; background: rgba(255,255,255,.07); }
#enquiry-form label,#privacy-form label { display: grid; gap: .38rem; color: #f4eff5; font-size: .79rem; font-weight: 650; }
#enquiry-form input:not([type=checkbox]),#enquiry-form textarea,#privacy-form input,#privacy-form textarea { width: 100%; padding: .76rem .82rem; border: 1px solid #a596b0; border-radius: .55rem; color: var(--ink); background: #fff; font-size: .87rem; }
#enquiry-form fieldset { display: flex; gap: 1.2rem; margin: 0; padding: 0; border: 0; }
#enquiry-form legend { margin-bottom: .5rem; color: #c6b7cf; font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
#enquiry-form fieldset label,#enquiry-form .consent { display: flex; align-items: flex-start; gap: .55rem; }
#enquiry-form input[type=checkbox] { accent-color: var(--lime); }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.honeypot { position: absolute; left: -10000px; }
.form-hint { margin: -.25rem 0 0; color: #c8bacc; font-size: .73rem; }
.form-hint a { color: #fff; }
#enquiry-submit,#privacy-submit { justify-self: start; padding: .85rem 1.25rem; border: 0; border-radius: .55rem; color: var(--ink); background: var(--lime); cursor: pointer; font-weight: 750; }
#enquiry-submit:disabled,#privacy-submit:disabled { opacity: .55; cursor: not-allowed; }
#enquiry-status,#privacy-status { min-height: 1.3rem; margin: 0; color: #f7d3c4; font-size: .8rem; }
@media(max-width: 800px) { .market-section-head,.method-section,.enquiry-layout { display: block; } .market-section-head>p { margin-top: 1rem; } .method-section>p:last-child { margin-top: 1.5rem; } .enquiry-layout>form { margin-top: 2rem; } }
@media(max-width: 560px) { .market-shell { width: min(100% - 2rem, 1240px); } .form-pair { grid-template-columns: 1fr; } .comparison-toolbar { align-items: start; } .report-card { width: 230px; } }
@media(prefers-reduced-motion: reduce) { .market-hero::after { animation: none; } }
