/* ============================================================
   Bespoke Auctions — inner pages
   Extends styles.css. Uses the same tokens; components are
   prefixed p- so nothing collides with the homepage.
   ============================================================ */

body.inner { background: var(--bg); }
main { display: block; }

/* ---------- Page heroes ---------- */
.p-hero { position: relative; overflow: hidden; }
.p-hero .wrap { max-width: var(--max); margin: 0 auto; padding: 0 24px; }

/* Split hero: text left, imagery right (stone) */
.p-hero-split { background: var(--bg); }
.p-hero-split .wrap { display: grid; grid-template-columns: minmax(0,600px) 1fr; gap: 88px; align-items: start; padding-top: 96px; padding-bottom: 96px; }
.p-hero-split h1 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: clamp(34px, 4.2vw, 52px); line-height: 1.12; color: var(--ink); margin: 22px 0 0; }
.p-hero-split .p-intro { color: var(--muted); font-size: 17px; line-height: 1.65; margin: 24px 0 0; max-width: 56ch; }
.p-hero-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 34px; }
.p-hero-micro { margin-top: 26px; }

/* imagery treatments: reuse the homepage .portrait device with colour variants */
.portrait.copper::before { background: var(--accent); }
.portrait.patina::before { background: #93B1AF; }
.portrait.green::before  { background: var(--accent-link); }
.portrait.h420 img { height: 420px; }

/* Band hero: full-width colour band (ink / green / patina) */
.p-hero-band { color: #F5EFE7; }
.p-hero-band.ink { background: var(--ink); }
.p-hero-band.green { background: var(--accent-link); }
.p-hero-band.patina { background: #93B1AF; color: var(--ink); }
.p-hero-band .wrap { display: grid; grid-template-columns: minmax(0,640px) 1fr; gap: 72px; align-items: start; padding-top: 92px; padding-bottom: 92px; }
.p-hero-band h1 { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size: clamp(34px,4.2vw,52px); line-height:1.12; margin:22px 0 0; }
.p-hero-band .p-intro { font-size:17px; line-height:1.65; margin:24px 0 0; color: #B9B4AB; max-width:58ch; }
.p-hero-band.patina .p-intro { color: #3A4442; }
.p-hero-band.green .p-intro { color: #C5CAC2; }
.p-hero-band .eyebrow { color: var(--accent); }
.p-hero-band.patina .eyebrow { color: #3A4442; }

/* Tall image hero with panel (auctions) */
.p-hero-media { background: var(--ink); color: #F5EFE7; }
.p-hero-media .wrap { display: grid; grid-template-columns: minmax(0,520px) 1fr; gap: 64px; align-items: center; padding-top: 0; padding-bottom: 0; min-height: 560px; }
.p-hero-media .p-copy { padding: 96px 0; }
.p-hero-media .p-media { position: relative; align-self: stretch; min-height: 560px; margin-right: calc(50% - 50vw); }
.p-hero-media .p-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p-hero-media .p-panel { position: absolute; left: 24px; bottom: 24px; background: var(--ink); padding: 26px 30px 24px; width: min(360px, 80%); border-top: 2px solid var(--accent); }
.p-hero-media .p-panel h3 { font-family:"Bricolage Grotesque",sans-serif; font-size:20px; font-weight:600; color:#F5EFE7; margin:14px 0 8px; }
.p-hero-media .p-panel p { font-size:14.5px; color:#B9B4AB; margin:0 0 14px; line-height:1.5; }
.p-hero-media h1 { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size: clamp(34px,4vw,50px); line-height:1.12; margin:22px 0 0; color:#F5EFE7; }
.p-hero-media .p-intro { color:#B9B4AB; font-size:17px; line-height:1.65; margin:22px 0 0; }

/* on-dark button + link variants */
.btn-solid.on-dark { background: var(--bg); color: var(--ink); border-color: var(--bg); }
@media (hover: hover) { .btn-solid.on-dark:hover { background: transparent; color: var(--bg); border-color: var(--bg); } }
.btn-outline.on-dark { border-color: rgba(245,239,231,.55); color: var(--bg); }
@media (hover: hover) { .btn-outline.on-dark:hover { border-color: var(--bg); background: var(--bg); color: var(--ink); } }
.link.on-dark { color: #F5EFE7; }
@media (hover: hover) { .link.on-dark:hover { color: var(--accent); } }

/* ---------- Generic sections ---------- */
.section-head.centred { text-align: center; }
.section-head.centred .sub { margin-left: auto; margin-right: auto; }
.p-split { display: grid; grid-template-columns: minmax(0,440px) minmax(0,600px); justify-content: space-between; gap: 88px; align-items: start; }
.p-split.flip { grid-template-columns: minmax(0,600px) minmax(0,440px); }
.p-split h2 { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size: clamp(28px,3vw,40px); line-height:1.15; color: var(--ink); margin: 16px 0 20px; }
.p-split p { color: var(--muted); line-height: 1.65; margin: 0 0 18px; }
.p-split .p-body strong { color: var(--ink); }

/* tick lists */
.p-ticks { list-style: none; margin: 28px 0 0; padding: 0; }
.p-ticks li { display: flex; gap: 14px; align-items: flex-start; padding: 13px 0; border-bottom: 1px solid var(--hairline, #DDD5C8); font-size: 15.5px; color: var(--ink); line-height: 1.55; }
.p-ticks li:first-child { border-top: 1px solid var(--hairline, #DDD5C8); }
.p-ticks .tk { color: var(--accent-link); font-weight: 600; }
.p-ticks.on-dark li { color: #F5EFE7; border-color: rgba(245,239,231,.18); }
.p-ticks.on-dark .tk { color: var(--accent); }
.p-ticks.cols-2 { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; }
.p-ticks.cols-2 li:nth-child(2) { border-top: 1px solid var(--hairline, #DDD5C8); }
.p-ticks.on-dark.cols-2 li:nth-child(2) { border-top-color: rgba(245,239,231,.18); }

/* steps: homepage .steps-grid/.step is the single source; extensions only */
.steps-grid.n4 { grid-template-columns: repeat(4, 1fr); }
.steps-grid.n2 { grid-template-columns: repeat(2, 1fr); }
.on-dark-sec .step { border-left-color: rgba(245,239,231,.2); }
.on-dark-sec .step h3 { color: #F5EFE7; }
.on-dark-sec .step p { color: #B9B4AB; }
.steps-grid { margin-top: 56px; }

/* FAQ */
.p-faq { background: #fff; }
.p-faq-list { max-width: 860px; margin: 0 auto; }
.p-faq-item { border-bottom: 1px solid var(--hairline, #DDD5C8); }
.p-faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 22px 0; font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:19px; color: var(--ink); }
.p-faq-item summary::-webkit-details-marker { display: none; }
.p-chev { width: 12px; height: 12px; border-right: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink); transform: rotate(45deg); transition: transform .25s var(--ease, ease); flex: none; margin-right: 4px; }
.p-faq-item[open] .p-chev { transform: rotate(225deg); }
.p-faq-a { padding: 0 0 24px; max-width: 72ch; }
.p-faq-a p { color: var(--muted); line-height: 1.65; margin: 0; }

/* quote band */
.p-quoteband { background: #93B1AF; padding: 84px 0; }
.p-quoteband .wrap { max-width: 900px; margin: 0 auto; padding: 0 24px; text-align: center; }
.p-qmark { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:64px; color: var(--accent-link); line-height: .6; display: block; margin-bottom: 22px; }
.p-quoteband blockquote { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size: clamp(20px,2.4vw,27px); line-height:1.4; color: var(--ink); margin:0 0 26px; }
.p-quoteband .p-attr { color:#3A4442; font-size:13px; letter-spacing:.1em; }
.p-quoteband.dark { background: var(--ink); }
.p-quoteband.dark blockquote { color:#F5EFE7; }
.p-quoteband.dark .p-attr { color:#B9B4AB; }
.p-quoteband.dark .p-qmark { color: var(--accent); }

/* CTA band (mirrors homepage .cta) */
.p-cta-actions { display: flex; gap: 16px; justify-content: center; align-items: center; flex-wrap: wrap; margin: 34px 0 0; }
.p-cta .micro { margin-top: 38px; }

/* price list */
.p-prices { list-style:none; margin: 40px auto 0; padding:0; max-width: 760px; }
.p-prices li { display:flex; justify-content:space-between; align-items:baseline; gap:32px; padding:16px 0; border-bottom:1px solid var(--hairline,#DDD5C8); }
.p-lot { color: var(--ink); font-size:16px; }
.p-price { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; color: var(--accent); font-size:22px; white-space:nowrap; }
.on-dark-sec .p-prices li { border-color: rgba(245,239,231,.16); }
.on-dark-sec .p-lot { color:#F5EFE7; }
.p-pricenote { color: var(--muted); font-size:14.5px; margin-top:34px; }

/* cross links */
.p-crosslinks { background: var(--bg); }
.p-crossgrid { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(280px,100%),1fr)); gap:24px; }
.p-crosslink { background:#fff; border:1px solid var(--hairline,#DDD5C8); padding:34px 34px 30px; text-decoration:none; transition: border-color .2s, transform .2s; border-top:2px solid var(--accent); }
@media (hover: hover) { .p-crosslink:hover { border-color: var(--accent); transform: translateY(-2px); } }
.p-crosslink h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:21px; color:var(--ink); margin:14px 0 18px; }

/* ---------- Fee ledger (Seller fees) ---------- */
.p-ledger { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.p-ledgercard { background:#fff; border:1px solid var(--hairline,#DDD5C8); border-top:2px solid var(--accent); padding:36px 34px 32px; }
.p-ledgercard .caps { color: var(--accent); font-size:12.5px; letter-spacing:.12em; font-weight:600; }
.p-bigfee { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:44px; color:var(--ink); margin:16px 0 4px; }
.p-bigfee small { font-size:18px; font-weight:600; color:var(--muted); }
.p-ledgercard p { color:var(--muted); font-size:14.5px; line-height:1.6; margin:12px 0 0; }
.p-feescale { list-style:none; padding:0; margin:16px 0 0; }
.p-feescale li { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--hairline,#DDD5C8); font-size:15px; color:var(--ink); }
.p-feescale li strong { font-family:"Bricolage Grotesque",sans-serif; color:var(--ink); }

/* worked example (How to buy) */
.p-worked { background:var(--ink); color:#F5EFE7; padding:40px 42px; margin-top:48px; border-top:2px solid var(--accent); max-width:520px; }
.p-worked h3 { font-family:"Bricolage Grotesque",sans-serif; font-size:20px; margin:0 0 22px; }
.p-worked table { width:100%; border-collapse:collapse; font-size:15px; }
.p-worked td { padding:9px 0; border-bottom:1px solid rgba(245,239,231,.14); color:#B9B4AB; }
.p-worked td:last-child { text-align:right; color:#F5EFE7; font-variant-numeric: tabular-nums; }
.p-worked tr.total td { color:var(--accent); font-weight:600; border-bottom:none; padding-top:14px; font-size:17px; }

/* ---------- Auctions calendar ---------- */
.p-cal { list-style:none; margin:56px 0 0; padding:0; border-top:1px solid var(--hairline,#DDD5C8); }
.p-cal li { display:grid; grid-template-columns: 96px 236px 1fr auto; gap:40px; align-items:center; padding:30px 0; border-bottom:1px solid var(--hairline,#DDD5C8); }
.p-cal .p-date { text-align:left; }
.p-cal .p-day { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:44px; color:var(--accent); line-height:1; display:block; }
.p-cal .p-mon { font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--ink); }
.p-cal img { width:236px; height:150px; object-fit:cover; display:block; }
.p-cal h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:22px; color:var(--ink); margin:10px 0 8px; }
.p-cal .p-meta { color:var(--muted); font-size:14.5px; margin:0 0 6px; }
.p-cal .p-loc { color:var(--muted); font-size:13.5px; margin:0; }
.p-cal li.featured { background:var(--ink); margin:0 -48px; padding:34px 48px; border-bottom:none; }
.p-cal li.featured h3, .p-cal li.featured .p-mon { color:#F5EFE7; }
.p-cal li.featured .p-meta, .p-cal li.featured .p-loc { color:#B9B4AB; }

/* event rows (valuation days) */
.p-events { margin-top:56px; border-top:1px solid var(--hairline,#DDD5C8); }
.p-event { display:grid; grid-template-columns: 120px 1fr auto; gap:40px; align-items:center; padding:28px 0; border-bottom:1px solid var(--hairline,#DDD5C8); }
.p-event .p-day { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:40px; color:var(--accent); line-height:1; }
.p-event .p-mon { font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--ink); }
.p-event h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:20px; color:var(--ink); margin:0 0 6px; }
.p-event p { color:var(--muted); font-size:14.5px; margin:0; }

/* ---------- Results wall ---------- */
.p-results { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:56px; }
.p-result { position:relative; background:#fff; }
.p-result img { width:100%; aspect-ratio: 1/1; object-fit:cover; display:block; }
.p-result figcaption { padding:20px 22px 24px; }
.p-result .p-lot { display:block; font-size:14.5px; color:var(--ink); line-height:1.5; min-height:44px; }
.p-result .p-price { font-size:20px; }
.p-results .wide { grid-column: span 2; }
.p-results .wide img { aspect-ratio: 2.04/1; }

/* ---------- Forms / cards ---------- */
.p-formcard { background:#fff; border:1px solid var(--hairline,#DDD5C8); border-top:2px solid var(--accent); padding:44px 44px 40px; }
.p-formcard h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:21px; color:var(--ink); margin:0 0 8px; }
.p-formcard .p-formnote { color:var(--muted); font-size:14.5px; margin:0 0 26px; }
.p-field { margin-bottom:18px; }
.p-field label { display:block; font-size:14px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--ink); margin-bottom:8px; }
.p-field input, .p-field textarea, .p-field select { width:100%; background:var(--bg); border:1px solid var(--hairline,#DDD5C8); padding:13px 16px; font:inherit; font-size:15px; color:var(--ink); }
.p-field input:focus, .p-field textarea:focus, .p-field select:focus { outline:2px solid var(--accent); outline-offset:0; }
.p-field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.p-upload { border:1.5px dashed var(--accent); background:var(--bg); padding:40px 24px; text-align:center; color:var(--muted); font-size:14.5px; margin-bottom:18px; }
.p-upload .caps { display:block; color:var(--accent); margin-bottom:8px; letter-spacing:.1em; font-weight:600; font-size:12.5px; }
.p-embednote { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:16px; }

/* contact info cards */
.p-infogrid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.p-infocard { background:#fff; border:1px solid var(--hairline,#DDD5C8); padding:34px; }
.p-infocard .caps { color:var(--accent); font-size:12.5px; letter-spacing:.12em; font-weight:600; }
.p-infocard h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:19px; color:var(--ink); margin:12px 0 10px; }
.p-infocard p, .p-infocard a.plain { color:var(--muted); font-size:15px; line-height:1.7; margin:0; text-decoration:none; display:block; }
@media (hover: hover) { .p-infocard a.plain:hover { color:var(--accent-link); } }

/* news grid */
.p-news { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.p-post { background:#fff; border:1px solid var(--hairline,#DDD5C8); text-decoration:none; display:flex; flex-direction:column; transition:transform .2s, border-color .2s; }
@media (hover: hover) { .p-post:hover { transform:translateY(-2px); border-color:var(--accent); } }
.p-post img { width:100%; aspect-ratio: 3/2; object-fit:cover; }
.p-post .p-postbody { padding:26px 28px 28px; }
.p-post .caps { color:var(--accent); font-size:11.5px; letter-spacing:.12em; font-weight:600; }
.p-post h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:19px; line-height:1.3; color:var(--ink); margin:12px 0 10px; }
.p-post p { color:var(--muted); font-size:14.5px; line-height:1.6; margin:0; }
.p-tags { display:flex; gap:10px; flex-wrap:wrap; margin-top:48px; }
.p-tag { appearance:none; background:transparent; cursor:pointer; font-family:Inter,sans-serif; border:1px solid var(--hairline,#DDD5C8); padding:10px 18px; font-size:14px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--ink); text-decoration:none; transition:all .3s ease; }
@media (hover: hover) { .p-tag:hover, .p-tag.active { background:var(--ink); color:#F5EFE7; border-color:var(--ink); } }

/* stat call-out */
.p-statband { background:var(--ink); color:#F5EFE7; padding:96px 0; text-align:center; }
.p-statband .p-bignum { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:clamp(56px,8vw,110px); color:var(--accent); line-height:1; display:block; }
.p-statband .p-bignum.phrase { font-size:clamp(34px,4.6vw,64px); line-height:1.1; }
.p-statband h2 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:clamp(20px,2.4vw,26px); margin:26px auto 14px; max-width:640px; }
.p-statband p { color:#B9B4AB; max-width:560px; margin:0 auto; line-height:1.65; }
.p-statband .p-rule { width:64px; height:2px; background:var(--accent); margin:0 auto 40px; }

/* generic dark/green section wrappers */
.on-dark-sec { background:var(--ink); color:#F5EFE7; }
.on-dark-sec .section-head h2 { color:#F5EFE7; }
.on-dark-sec .section-head .sub { color:#B9B4AB; }
.on-green-sec { background:var(--accent-link); color:#F5EFE7; }
.on-green-sec .section-head h2 { color:#F5EFE7; }
.on-green-sec .section-head .sub { color:#C5CAC2; }
.on-green-sec .eyebrow { color:#C7A889; }

/* two-col info rows (probate 'svc' style) */
.p-svcrows { margin-top:8px; }
.p-svcrow { display:grid; grid-template-columns: 1fr 2fr auto; gap:32px; align-items:center; padding:24px 0; border-bottom:1px solid rgba(245,239,231,.22); text-decoration:none; }
.p-svcrow h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:20px; color:#F5EFE7; margin:0; }
.p-svcrow p { color:#C5CAC2; font-size:14.5px; margin:0; line-height:1.55; }
.p-svcrow .arr { color:#F5EFE7; font-size:18px; }
@media (hover: hover) { .p-svcrow:hover h3 { color:var(--accent); } }

/* breadcrumb-ish page kicker spacing helpers */
.pad-b-0 { padding-bottom:0 !important; }
.pad-t-0 { padding-top:0 !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .p-hero-split .wrap, .p-hero-band .wrap { grid-template-columns:1fr; gap:48px; padding-top:64px; padding-bottom:64px; }
  .p-hero-media .wrap { grid-template-columns:1fr; }
  .p-hero-media .p-copy { padding:64px 0 0; }
  .p-hero-media .p-media { min-height:420px; margin:48px calc(50% - 50vw) 0; }
  .p-hero-media .p-panel { left:24px; }
  .p-split, .p-split.flip { grid-template-columns:1fr; gap:44px; }
  .steps-grid, .steps-grid.n4, .steps-grid.n2 { grid-template-columns:1fr 1fr; }
  .p-ledger { grid-template-columns:1fr; max-width:560px; }
  .p-results { grid-template-columns:1fr 1fr; }
  .p-infogrid, .p-news { grid-template-columns:1fr 1fr; }
  .p-cal li { grid-template-columns:72px 1fr auto; }
  .p-cal img { display:none; }
  .p-ticks.cols-2 { grid-template-columns: 1fr; }
  .p-ticks.cols-2 li:nth-child(2) { border-top: 0; }
}
@media (max-width: 640px) {
  .steps-grid, .steps-grid.n4, .steps-grid.n2 { grid-template-columns:1fr; }
  .p-results { grid-template-columns:1fr; }
  .p-results .wide { grid-column: span 1; }
  .p-results .wide img { aspect-ratio:1/1; }
  .p-infogrid, .p-news { grid-template-columns:1fr; }
  .p-cal li { grid-template-columns:1fr; gap:12px; }
  .p-cal li.featured { margin:0 -24px; padding:28px 24px; }
  .p-event { grid-template-columns:1fr; gap:10px; }
  .p-field-row { grid-template-columns:1fr; }
  .p-hero-actions .btn { width:100%; text-align:center; }
  .p-svcrow { grid-template-columns:1fr; gap:10px; }
  /* Form cards on phones: the HubSpot meetings scheduler has a fixed 312px minimum,
     so the card pulls into the page gutter and loses its desktop padding instead of
     forcing the whole page wider than the screen. */
  .p-hero-band .wrap, .p-hero-split .wrap { grid-template-columns: minmax(0,1fr); }
  .p-formcard { padding:28px 18px 26px; margin:0 -12px; min-width:0; }
  .meetings-iframe-container { min-width:0; max-width:100%; overflow-x:auto; }
  /* Small phones (320-360px): long email addresses and card padding must never widen the page. */
  .p-infocard { min-width:0; padding:28px 22px; }
  .p-infocard p, .p-infocard a, .p-legal, .p-body, .p-formcard, .sub, .p-intro { overflow-wrap:anywhere; }{
}}
/* The featured auction row bleeds 48px past the column; on narrower screens that is wider than the page gutter. */
@media (max-width: 1320px) { .p-cal li.featured { margin:0 -24px; padding:34px 24px; } }

/* team grid */
.p-teamgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.p-teamcard { background:#fff; border:1px solid var(--hairline,#DDD5C8); border-top:2px solid var(--accent); }
.p-teamcard img { width:100%; aspect-ratio: 4/3.1; object-fit:cover; object-position: top center; display:block; }
.p-portrait-ph { aspect-ratio:4/3.1; background:#93B1AF; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
.p-portrait-ph span:first-child { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:44px; color:var(--bg); }
.p-portrait-ph .caps { font-size:10.5px; letter-spacing:.14em; color:var(--bg); font-weight:600; }
.p-teambody { padding:24px 28px 28px; }
.p-teamcard h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:20px; color:var(--ink); margin:0 0 8px; }
.p-teamcard p { color:var(--muted); font-size:14.5px; line-height:1.55; margin:0; }
@media (max-width:1080px){ .p-teamgrid { grid-template-columns:1fr 1fr; }{ }}
@media (max-width:640px){ .p-teamgrid { grid-template-columns:1fr; }{ }}


/* ---- feedback round 2: shared components ---- */

/* patina band with standard section padding (replaces the pad-0 hack) */
.sec-patina { background: #93B1AF; }
.sec-patina .section-head .sub, .sec-patina p { color: #3A4442; }

/* dark green sections: full support for steps, ticks, crosslinks, events */
.on-green-sec .section-head .sub { color: #C5CAC2; }
.on-green-sec .step { border-left-color: rgba(245,239,231,.28); }
.on-green-sec .step h3 { color: #F5EFE7; }
.on-green-sec .step p { color: #C5CAC2; }
.on-green-sec .p-crosslink { background: transparent; border-color: rgba(245,239,231,.28); border-top-color: #C7A889; }
.on-green-sec .p-crosslink h3 { color: #F5EFE7; }
.on-green-sec .p-lot { color: #F5EFE7; }
.on-green-sec .p-prices li { border-color: rgba(245,239,231,.18); }
.on-green-sec .caps.eyebrow { color: #C7A889; }
.on-green-sec .p-pricenote { color: #C5CAC2; }
@media (max-width: 720px) { .on-green-sec .step { border-left-color: transparent; border-top-color: rgba(245,239,231,.28); }{ }}

/* full-bleed image band */
.p-imgband { position: relative; height: clamp(260px, 34vw, 430px); overflow: hidden; }
.p-imgband img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-imgband .chip {
  position: absolute; z-index: 2; left: 24px; bottom: 24px;
  background: rgba(20,22,23,.82); color: #F5EFE7; padding: 10px 16px;
  font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
}

/* framed contained image (hairline border, for use beside copy) */
.p-framed { position: relative; }
.p-framed img { width: 100%; display: block; border: 1px solid var(--hairline); background: #fff; padding: 22px; }
.p-framed .chip {
  position: absolute; z-index: 2; left: 18px; bottom: 18px;
  background: rgba(20,22,23,.82); color: #F5EFE7; padding: 9px 14px;
  font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
}

/* map embed */
.p-map { border: 1px solid var(--hairline); background: #fff; padding: 10px; }
.p-map iframe { width: 100%; height: 420px; border: 0; display: block; filter: grayscale(.25); }
.p-map-address { background: #fff; border: 1px solid var(--hairline); border-top: 2px solid var(--accent); padding: 28px 30px; }
.p-map-address h3 { font-family: "Bricolage Grotesque", sans-serif; font-size: 21px; font-weight: 600; margin: 12px 0 10px; }
.p-map-address p { margin: 0 0 6px; color: var(--muted); line-height: 1.6; }

/* vertical step list (uneven text lengths welcome) */
.p-steplist { margin-top: 26px; }
.p-steprow { display: grid; grid-template-columns: 96px 300px 1fr; gap: 32px; padding: 34px 4px; border-top: 1px solid var(--hairline); align-items: start; }
.p-steprow:last-child { border-bottom: 1px solid var(--hairline); }
.p-steprow .num { font-family: var(--display, "Bricolage Grotesque", sans-serif); font-size: 54px; font-weight: 700; color: var(--num, #D8CDBB); line-height: 1; }
.p-steprow h3 { font-size: 20px; font-weight: 600; margin: 4px 0 0; }
.p-steprow p { margin: 4px 0 0; color: var(--muted); font-size: 15.5px; line-height: 1.65; }
@media (max-width: 900px) { .p-steprow { grid-template-columns: 72px 1fr; } .p-steprow p { grid-column: 2; }{ }}

/* tabs */
.p-tabs { margin-top: 40px; }
.p-tabbar { display: flex; gap: 0; border-bottom: 1px solid var(--hairline); }
.p-tabbtn {
  appearance: none; background: transparent; border: 0; border-bottom: 2px solid transparent;
  font: 600 14px/1 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted); padding: 16px 22px; cursor: pointer; margin-bottom: -1px;
}
.p-tabbtn.active { color: var(--ink); border-bottom-color: var(--accent); }
@media (hover: hover) { .p-tabbtn:hover { color: var(--ink); } }
.p-tabpanel { display: none; padding-top: 30px; max-width: 860px; }
.p-tabpanel.active { display: block; }
.p-tabpanel p { color: var(--muted); line-height: 1.65; }

/* proof lots reused on inner pages */
.p-lots3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 52px; }
@media (max-width: 900px) { .p-lots3 { grid-template-columns: 1fr; }{ }}

/* social icon buttons */
.p-social { display: flex; gap: 14px; margin-top: 24px; }
.p-social a {
  width: 46px; height: 46px; border: 1px solid var(--hairline); display: flex;
  align-items: center; justify-content: center; color: var(--ink); transition: all .35s ease;
}
.p-social a svg { width: 19px; height: 19px; fill: currentColor; }
@media (hover: hover) { .p-social a:hover { background: var(--ink); color: #F5EFE7; border-color: var(--ink); } }
.on-green-sec .p-social a { border-color: rgba(245,239,231,.4); color: #F5EFE7; }
@media (hover: hover) { .on-green-sec .p-social a:hover { background: #F5EFE7; color: var(--ink); border-color: #F5EFE7; } }

/* compact trust strip (about page): keep everything on one row */
.trust.compact .trust-in { justify-content: center; gap: 12px 20px; }
.trust.compact span { letter-spacing: .02em; }

/* green statband variant */
.p-statband.green { background: var(--accent-link); }
.p-statband.green p { color: #C5CAC2; }

/* property placeholder cards */
.p-propgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px; }
.p-propgrid figure { margin: 0; }
.p-propgrid img { width: 100%; height: 320px; object-fit: cover; display: block; }
.p-propgrid figcaption { padding: 14px 2px 0; color: var(--muted); font-size: 14px; }
@media (max-width: 720px) { .p-propgrid { grid-template-columns: 1fr; }{ }}

/* green-section contrast for event rows, links and notes */
.on-green-sec .p-event { border-color: rgba(245,239,231,.25); }
.on-green-sec .p-event h3 { color: #F5EFE7; }
.on-green-sec .p-event p { color: #C5CAC2; }
.on-green-sec .link { color: #F5EFE7; }
@media (hover: hover) { .on-green-sec .link:hover { color: var(--accent); } }
.on-green-sec .p-embednote { color: #C5CAC2; opacity: .8; }

/* Lot photos on inner pages are studio shots on white: show the whole piece,
   catalogue style, rather than cropping the shank or clasp off. */
body.inner .lot .photo { height: 330px; background: #fff; padding: 18px; }
body.inner .lot .photo img { object-fit: contain; }
@media (hover: hover) { body.inner .lot:hover .photo img { transform: none; } }

/* 'Why sell with us' reads as reasons, not sequential steps: heading column
   left, hairline-separated reasons right. Deliberately unlike .steps-grid. */
.p-why { display: grid; grid-template-columns: minmax(0, 400px) 1fr; gap: 72px; align-items: start; }
.p-why .p-whyhead h2 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: clamp(28px, 3.2vw, 38px); line-height: 1.14; margin: 16px 0 18px; }
.p-why .p-whyhead p { color: var(--muted); line-height: 1.65; margin: 0; }
.p-whyrow { display: grid; grid-template-columns: 26px 1fr; gap: 18px; padding: 30px 0; border-top: 1px solid var(--hairline); align-items: start; }
.p-whyrow:last-child { border-bottom: 1px solid var(--hairline); }
.p-whyrow .mark { font-family: "Bricolage Grotesque", sans-serif; font-size: 20px; line-height: 1.2; color: var(--accent); }
.p-whyrow h3 { font-size: 20px; font-weight: 600; margin: 0 0 10px; }
.p-whyrow p { margin: 0; color: var(--muted); font-size: 15.5px; line-height: 1.65; }
@media (max-width: 900px) {
  .p-why { grid-template-columns: 1fr; gap: 34px; }
  .p-whyrow { grid-template-columns: 32px 1fr; gap: 16px; padding: 26px 0; }{
}}

/* --- patina legibility: copper on patina is 1.56:1, unreadable. Ink is 6.46:1. --- */
.sec-patina .caps.eyebrow,
.p-quoteband .caps.eyebrow,
.p-hero-band.patina .caps.eyebrow,
.p-hero-band.patina .eyebrow { color: var(--ink); }
.sec-patina p, .sec-patina .section-head .sub,
.p-hero-band.patina .p-intro,
.p-quoteband .p-attr { color: #2E3634; }
.sec-patina .p-tabbtn { color: #2E3634; }
.sec-patina .p-tabbtn.active { color: var(--ink); border-bottom-color: var(--ink); }
.sec-patina .p-tabbar { border-bottom-color: rgba(37,40,42,.25); }

/* A single item shot on a white ground gets a catalogue plate, never the offset
   colour block: a white cut-out floating on a coloured rectangle reads as a bug. */
.portrait.plate::before { display: none; }
.portrait.plate img {
  height: 460px; object-fit: contain;
  background: #fff; padding: 30px; border: 1px solid var(--hairline);
}
.portrait.plate .chip { left: 0; bottom: 0; }

/* heading sitting directly above a lone paragraph */
.section-head.tight { margin-bottom: 20px; }

/* phone numbers and emails inside body copy */
.inline-link { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; transition: color .25s ease; }
@media (hover: hover) { .inline-link:hover { color: var(--accent); } }
@media (hover: hover) { .on-green-sec .inline-link:hover, .on-dark-sec .inline-link:hover, .p-hero-band.ink .inline-link:hover { color: #C7A889; } }

/* 'What we stand for': short promises carry no body copy, so boxes just frame
   empty space. Set them as large statements under copper rules instead. */
.p-creed { display: grid; grid-template-columns: 1fr 1fr; gap: 64px 80px; margin-top: 20px; }
.p-creed-item { padding: 0; }
.p-creed-item .rule { display: block; width: 52px; height: 2px; background: #C7A889; margin-bottom: 26px; }
.p-creed-item p {
  margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-weight: 600;
  font-size: clamp(19px, 1.85vw, 25px); line-height: 1.38; color: #F5EFE7;
}
.p-creed-item p a { color: inherit; border-bottom: 1px solid rgba(199,168,137,.7); text-decoration: none; }
@media (hover: hover) { .p-creed-item p a:hover { color: #C7A889; } }
@media (max-width: 820px) {
  .p-creed { grid-template-columns: 1fr; gap: 40px; }{
}}

/* two lot plates beside body copy */
.p-lots2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.p-lots2 .lot .photo { height: 240px; background: #fff; padding: 16px; overflow: hidden; }
.p-lots2 .lot .photo img { width: 100%; height: 100%; object-fit: contain; }
.p-lots2 .lot .desc { margin: 16px 0 6px; font-size: 14.5px; color: var(--muted); line-height: 1.55; }
.p-lots2 .lot .price { font-family: "Bricolage Grotesque", sans-serif; font-size: 24px; font-weight: 700; color: var(--accent); }
@media (max-width: 720px) { .p-lots2 { grid-template-columns: 1fr; }{ }}

/* a quote set inside a body column rather than a full-width band */
.p-inlinequote { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--hairline); }
.p-inlinequote .p-qmark { font-family: "Bricolage Grotesque", sans-serif; font-size: 40px; line-height: 1; color: var(--accent); display: block; margin-bottom: 6px; }
.p-inlinequote blockquote { margin: 0 0 14px; font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: 19px; line-height: 1.45; color: var(--ink); }
.p-inlinequote .p-attr { margin: 0; font-size: 13px; letter-spacing: .1em; color: var(--muted); }


/* newsletter opt-in on every enquiry form */
.p-check { display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 22px; cursor: pointer; }
.p-check input { appearance: none; -webkit-appearance: none; flex: none; width: 20px; height: 20px; margin: 1px 0 0;
  border: 1px solid var(--ink); background: #fff; cursor: pointer; position: relative; }
.p-check input:checked { background: var(--ink); }
.p-check input:checked::after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px;
  border: solid #F5EFE7; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.p-check input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.p-check span { font-size: 14.5px; line-height: 1.5; color: var(--ink); }

/* legal pages */
.p-legal { max-width: 760px; }
.p-legal h2 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: 22px; margin: 40px 0 12px; }
.p-legal p, .p-legal li { color: var(--muted); line-height: 1.7; }
.p-legal .p-embednote { margin-top: 30px; }
.p-legal h3 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: 17px; margin: 30px 0 8px; }
.p-legal h2 + h3 { margin-top: 18px; }
.p-legal p { margin: 0 0 14px; }
.p-legal ul { margin: 0 0 18px; padding-left: 20px; }
.p-legal li { margin-bottom: 7px; }
.p-legal strong { color: var(--ink); font-weight: 600; }
.p-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* HubSpot embeds */
.hs-form-frame { min-height: 220px; }
.meetings-iframe-container { min-height: 640px; width: 100%; }
.p-formcard .meetings-iframe-container iframe, .p-formcard .hs-form-frame iframe { width: 100% !important; max-width: 100%; }
.p-formcard-wide { max-width: 900px; margin: 0 auto; }
.footer .newsletter-btn { display: inline-block; margin-top: 18px; }

/* departments grid: four across, tiles a little shorter than the homepage's */
.tiles.n4 { grid-template-columns: repeat(4, 1fr); }
.tiles.n4 .tile { height: 260px; }
.tiles.n4 .tile-label h3 { font-size: 19px; }
@media (max-width: 1080px) { .tiles.n4 { grid-template-columns: repeat(2, 1fr); }{ }}
@media (max-width: 640px) { .tiles.n4 { grid-template-columns: 1fr; }{ }}
.p-lots4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 52px; }
.p-lots4.n3 { grid-template-columns: repeat(3, 1fr); } .p-lots4.n2 { grid-template-columns: repeat(2, 1fr); max-width: 760px; margin-left: auto; margin-right: auto; } .p-lots4.n1 { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
@media (max-width: 900px) { .p-lots4, .p-lots4.n3 { grid-template-columns: 1fr 1fr; }{ }}
@media (max-width: 640px) { .p-lots4, .p-lots4.n3, .p-lots4.n2 { grid-template-columns: 1fr; }{ }}
.p-propgrid.n3 { grid-template-columns: repeat(3, 1fr); margin-top: 56px; }
.p-propgrid.n3 img { height: 300px; }
.p-propgrid.n3 figcaption { font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: 17px; color: var(--ink); padding-top: 16px; }
@media (max-width: 900px) { .p-propgrid.n3 { grid-template-columns: 1fr; }{ }}

/* news article */
.p-article { max-width: 820px; margin: 0 auto; }
.p-article-body { margin-top: 40px; font-size: 17px; line-height: 1.75; color: var(--ink); }
.p-article-body p { margin: 0 0 22px; color: var(--muted); }
.p-article-body h2 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: 26px; margin: 40px 0 14px; }
.p-article-body h3 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: 21px; margin: 32px 0 12px; }
.p-article-body img { width: 100%; height: auto; display: block; margin: 30px 0; }
.p-article-body ul, .p-article-body ol { color: var(--muted); margin: 0 0 22px 22px; }
.p-article-body li { margin-bottom: 8px; }
.p-article-body a { color: var(--accent-link); }
.p-post .p-postbody p { color: var(--muted); font-size: 14.5px; margin: 8px 0 0; }

/* property page: optional location / sold price under each sold property (CMS) */
.p-propgrid figcaption .p-propmeta { display:block; font-family:Inter,sans-serif; font-weight:400; font-size:14px; color:var(--muted); margin-top:4px; }
.p-propgrid:not(.n3) { max-width: 820px; }

/* Properties for sale (Property page). A CMS list; the whole section is left out when it is empty. */
.p-forsale-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-bottom: 40px; }
.p-forsale-head h2 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: clamp(28px, 3vw, 40px); line-height: 1.15; color: var(--ink); margin: 16px 0 0; }
.p-forsale-head p { color: var(--muted); max-width: 46ch; margin: 0 0 6px; line-height: 1.65; }
.p-forsale { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: stretch; background: #fff; border: 1px solid var(--hairline, #DDD5C8); }
.p-forsale + .p-forsale { margin-top: 32px; }
.p-forsale-media { position: relative; display: grid; grid-template-rows: 1fr auto; min-width: 0; }
.p-forsale-media .main { width: 100%; height: 100%; min-height: 400px; object-fit: cover; display: block; }
.p-forsale-thumbs { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 2px; }
.p-forsale-thumbs img { width: 100%; height: 190px; object-fit: cover; display: block; }
.p-forsale-card { background: var(--ink); color: #F5EFE7; border-top: 2px solid var(--accent); padding: 44px 46px 40px; display: flex; flex-direction: column; min-width: 0; }
.p-forsale-card .caps { color: var(--accent); font-size: 12.5px; letter-spacing: .14em; font-weight: 600; }
.p-forsale-card h3 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.15; margin: 14px 0 6px; }
.p-forsale-card .addr { color: #B9B4AB; font-size: 15.5px; margin: 0 0 22px; }
.p-forsale-card .sum { color: #C5CAC2; font-size: 15.5px; line-height: 1.65; margin: 0 0 26px; }
.p-forsale-facts { margin: 0; padding: 0; border-top: 1px solid rgba(245,239,231,.14); }
.p-forsale-facts div { display: flex; justify-content: space-between; gap: 24px; padding: 12px 0; border-bottom: 1px solid rgba(245,239,231,.14); font-size: 15px; }
.p-forsale-facts dt { color: #B9B4AB; margin: 0; }
.p-forsale-facts dd { color: #F5EFE7; margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.p-forsale-facts .guide dd { color: var(--accent); font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: 18px; }
.p-forsale-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-top: auto; padding-top: 30px; }
@media (max-width: 900px) {
  .p-forsale { grid-template-columns: 1fr; }
  .p-forsale-head { display: block; }
  .p-forsale-head p { margin: 14px 0 0; }
  .p-forsale-media .main { min-height: 0; height: auto; aspect-ratio: 3 / 2; }
  .p-forsale-thumbs img { height: 130px; }
  .p-forsale-card { padding: 32px 26px 30px; }{
}}{
}