/* Goldman & Co portfolio preview — scoped to the draft Portfolio template. */
:root {
  --gc-burgundy: #3f1f2d;
  --gc-burgundy-deep: #25131c;
  --gc-gold: #b59668;
  --gc-gold-soft: #d7c39f;
  --gc-cream: #f5f1eb;
  --gc-ink: #191618;
  --gc-muted: #6f686d;
  --gc-line: #ded4c8;
  --gc-white: #ffffff;
}

.gc-portfolio-preview { background: var(--gc-cream); color: var(--gc-ink); overflow: hidden; }
.gc-portfolio-preview * { box-sizing: border-box; }
.gc-shell { width: min(1240px, calc(100% - 56px)); margin: 0 auto; }
.gc-eyebrow { display: inline-block; margin-bottom: 16px; color: var(--gc-gold-soft); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.gc-eyebrow--dark { color: #8e6e47; }

.gc-portfolio-hero { position: relative; min-height: 650px; display: flex; align-items: flex-end; background: linear-gradient(90deg, rgba(20,13,17,.9) 0%, rgba(29,16,23,.58) 50%, rgba(29,16,23,.18) 100%), var(--goldman-london-editorial) center 54%/cover no-repeat; }
.gc-portfolio-hero__inner { width: min(1240px, calc(100% - 56px)); margin: 0 auto; padding: 190px 0 82px; color: #fff; }
.gc-portfolio-hero h1 { max-width: 840px; margin: 0 0 20px; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(52px, 7vw, 92px); font-weight: 400; line-height: .94; letter-spacing: -.035em; }
.gc-portfolio-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.9); font-size: clamp(17px, 2vw, 21px); line-height: 1.75; }

.gc-intro { padding: 92px 0 66px; text-align: center; }
.gc-intro h2, .gc-section-head h2, .gc-detail-copy h2, .gc-cta h2 { margin: 0; color: var(--gc-burgundy); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.02em; }
.gc-intro h2 { font-size: clamp(38px, 5vw, 58px); }
.gc-intro p { max-width: 790px; margin: 20px auto 0; color: var(--gc-muted); font-size: 17px; line-height: 1.85; }

.gc-filter { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 38px 0 0; }
.gc-filter button { border: 1px solid var(--gc-line); background: transparent; color: var(--gc-burgundy); padding: 11px 19px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: .25s ease; }
.gc-filter button:hover, .gc-filter button.is-active { border-color: var(--gc-burgundy); background: var(--gc-burgundy); color: #fff; }

.gc-project-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 22px; padding-bottom: 98px; }
.gc-project-card { grid-column: span 4; position: relative; background: #fff; border: 1px solid rgba(73,49,61,.08); transition: transform .28s ease, box-shadow .28s ease; }
.gc-project-card:nth-child(1), .gc-project-card:nth-child(5) { grid-column: span 4; }
.gc-project-card:hover { transform: translateY(-5px); box-shadow: 0 24px 55px rgba(42,24,32,.12); }
.gc-project-card[hidden] { display: none; }
.gc-project-card__image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #ddd; }
.gc-project-card:nth-child(1) .gc-project-card__image, .gc-project-card:nth-child(5) .gc-project-card__image { aspect-ratio: 4 / 3; }
.gc-project-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.gc-project-card:hover img { transform: scale(1.035); }
.gc-project-card__body { padding: 25px 24px 27px; }
.gc-project-card__meta { color: #8f714c; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.gc-project-card h3 { margin: 8px 0 8px; color: var(--gc-burgundy); font-family: Georgia, 'Times New Roman', serif; font-size: 25px; font-weight: 400; line-height: 1.18; }
.gc-project-card p { margin: 0; color: var(--gc-muted); font-size: 14px; line-height: 1.65; }
.gc-project-card__action { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; border: 0; padding: 0; background: transparent; color: var(--gc-burgundy); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gc-project-card__action:after { content: '→'; font-size: 15px; font-weight: 400; }

.gc-dubai { padding: 98px 0; background: var(--gc-burgundy-deep); color: #fff; }
.gc-section-head { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; margin-bottom: 46px; }
.gc-section-head h2 { color: #fff; font-size: clamp(42px, 6vw, 68px); }
.gc-section-head p { margin: 0; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.8; }
.gc-dubai-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.gc-dubai-card { position: relative; min-height: 420px; display: flex; align-items: flex-end; overflow: hidden; cursor: pointer; border: 0; padding: 0; text-align: left; background: #291821; }
.gc-dubai-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.gc-dubai-card:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(25,15,20,.06) 25%, rgba(20,10,16,.92) 100%); }
.gc-dubai-card:hover img { transform: scale(1.045); }
.gc-dubai-card__copy { position: relative; z-index: 1; padding: 24px 20px; color: #fff; }
.gc-dubai-card__copy small { display: block; margin-bottom: 8px; color: var(--gc-gold-soft); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.gc-dubai-card__copy strong { display: block; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: 23px; font-weight: 400; line-height: 1.15; }

.gc-detail { display: none; margin-top: 32px; background: #f8f4ef; color: var(--gc-ink); }
.gc-detail.is-open { display: grid; grid-template-columns: 1.05fr .95fr; }
.gc-detail-media { min-height: 490px; }
.gc-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.gc-detail-copy { padding: clamp(34px, 5vw, 68px); align-self: center; }
.gc-detail-copy h2 { font-size: clamp(38px, 5vw, 58px); }
.gc-detail-copy p { margin: 18px 0 0; color: var(--gc-muted); font-size: 16px; line-height: 1.85; }
.gc-detail-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 30px 0; background: var(--gc-line); border: 1px solid var(--gc-line); }
.gc-detail-facts div { background: #fff; padding: 18px; }
.gc-detail-facts span { display: block; color: #8f714c; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gc-detail-facts strong { display: block; margin-top: 5px; color: var(--gc-burgundy); font-size: 15px; font-weight: 600; }
.gc-button { display: inline-flex; align-items: center; gap: 9px; padding: 14px 21px; border: 1px solid var(--gc-gold); background: var(--gc-gold); color: #fff !important; text-decoration: none !important; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.gc-button--outline { background: transparent; color: var(--gc-burgundy) !important; }

.gc-instagram { padding: 95px 0; background: #fff; }
.gc-instagram-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 38px; }
.gc-instagram-card { position: relative; aspect-ratio: 1/1; overflow: hidden; background: #eee; }
.gc-instagram-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.gc-instagram-card:hover img { transform: scale(1.04); }
.gc-instagram-card span { position: absolute; left: 16px; bottom: 15px; z-index: 2; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.gc-instagram-card:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(20,10,16,.72)); }
.gc-instagram-actions { margin-top: 30px; text-align: center; }

.gc-cta { padding: 86px 0; background: var(--gc-burgundy); color: #fff; text-align: center; }
.gc-cta h2 { color: #fff; font-size: clamp(38px, 5vw, 58px); }
.gc-cta p { max-width: 680px; margin: 17px auto 28px; color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.75; }

@media (max-width: 1100px) {
  .gc-dubai-grid { grid-template-columns: repeat(3, 1fr); }
  .gc-project-card, .gc-project-card:nth-child(1), .gc-project-card:nth-child(5) { grid-column: span 6; }
}
@media (max-width: 767px) {
  .gc-shell, .gc-portfolio-hero__inner { width: min(100% - 36px, 1240px); }
  .gc-portfolio-hero { min-height: 560px; }
  .gc-portfolio-hero__inner { padding: 170px 0 56px; }
  .gc-intro { padding: 68px 0 48px; }
  .gc-project-grid { gap: 16px; padding-bottom: 72px; }
  .gc-project-card, .gc-project-card:nth-child(1), .gc-project-card:nth-child(5) { grid-column: span 12; }
  .gc-section-head { grid-template-columns: 1fr; gap: 20px; }
  .gc-dubai { padding: 72px 0; }
  .gc-dubai-grid { grid-template-columns: 1fr 1fr; }
  .gc-dubai-card { min-height: 360px; }
  .gc-detail.is-open { grid-template-columns: 1fr; }
  .gc-detail-media { min-height: 330px; }
  .gc-instagram-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .gc-dubai-grid, .gc-instagram-grid { grid-template-columns: 1fr; }
  .gc-dubai-card { min-height: 430px; }
  .gc-detail-facts { grid-template-columns: 1fr; }
}

/* Auctions preview */
.gc-auctions-preview { background: #fff; color: var(--gc-ink); }
.gc-auction-hero { position: relative; min-height: 610px; display: flex; align-items: flex-end; background: linear-gradient(90deg, rgba(24,12,18,.88), rgba(35,16,25,.38)), url('https://goldmanandco.co.uk/wp-content/uploads/2017/05/project-image-3.jpg') center/cover no-repeat; }
.gc-auction-hero__inner { width: min(1240px, calc(100% - 56px)); margin: 0 auto; padding: 185px 0 78px; color: #fff; }
.gc-auction-hero h1 { max-width: 820px; margin: 0 0 20px; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(50px, 7vw, 88px); font-weight: 400; line-height: .96; letter-spacing: -.035em; }
.gc-auction-hero p { max-width: 720px; margin: 0 0 28px; color: rgba(255,255,255,.88); font-size: 19px; line-height: 1.75; }
.gc-auction-intro { padding: 88px 0 56px; text-align: center; background: var(--gc-cream); }
.gc-auction-intro h2 { margin: 0; color: var(--gc-burgundy); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(38px, 5vw, 58px); font-weight: 400; }
.gc-auction-intro p { max-width: 820px; margin: 18px auto 0; color: var(--gc-muted); font-size: 16px; line-height: 1.85; }
.gc-auction-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 42px; background: var(--gc-line); border: 1px solid var(--gc-line); }
.gc-auction-grid article { background: #fff; padding: 34px 27px; text-align: left; }
.gc-auction-grid small { color: #8f714c; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.gc-auction-grid h3 { margin: 11px 0 12px; color: var(--gc-burgundy); font-family: Georgia, 'Times New Roman', serif; font-size: 24px; font-weight: 400; }
.gc-auction-grid p { margin: 0; color: var(--gc-muted); font-size: 14px; line-height: 1.7; }
.gc-auction-split { display: grid; grid-template-columns: 1fr 1fr; }
.gc-auction-method { padding: clamp(54px, 7vw, 88px); background: #fff; }
.gc-auction-method--dark { background: var(--gc-burgundy); color: #fff; }
.gc-auction-method h2 { margin: 0 0 18px; color: var(--gc-burgundy); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(35px, 4vw, 50px); font-weight: 400; }
.gc-auction-method--dark h2 { color: #fff; }
.gc-auction-method p { margin: 0; color: var(--gc-muted); font-size: 16px; line-height: 1.85; }
.gc-auction-method--dark p { color: rgba(255,255,255,.82); }
.gc-auction-steps { padding: 92px 0; background: #f8f5f0; }
.gc-auction-steps__head { max-width: 760px; margin-bottom: 44px; }
.gc-auction-steps__head h2 { margin: 0; color: var(--gc-burgundy); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(38px, 5vw, 56px); font-weight: 400; }
.gc-auction-steps__head p { color: var(--gc-muted); font-size: 16px; line-height: 1.8; }
.gc-auction-steps__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.gc-auction-step { background: #fff; border-top: 3px solid var(--gc-gold); padding: 29px 25px; }
.gc-auction-step span { color: #8f714c; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gc-auction-step h3 { margin: 9px 0 10px; color: var(--gc-burgundy); font-family: Georgia, 'Times New Roman', serif; font-size: 23px; font-weight: 400; }
.gc-auction-step p { margin: 0; color: var(--gc-muted); font-size: 14px; line-height: 1.7; }
.gc-auction-listings { padding: 90px 0; background: #fff; }
.gc-auction-listings h2 { margin: 0 0 14px; color: var(--gc-burgundy); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(38px, 5vw, 56px); font-weight: 400; }
.gc-auction-listings p { max-width: 760px; color: var(--gc-muted); font-size: 16px; line-height: 1.8; }
.gc-auction-frame { margin-top: 35px; width: 100%; min-height: 760px; border: 1px solid var(--gc-line); background: #fff; }
.gc-auction-frame iframe { width: 100%; min-height: 760px; border: 0; display: block; }

@media (max-width: 900px) {
  .gc-auction-grid { grid-template-columns: 1fr 1fr; }
  .gc-auction-split { grid-template-columns: 1fr; }
  .gc-auction-steps__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .gc-auction-hero__inner { width: min(100% - 36px, 1240px); padding: 160px 0 55px; }
  .gc-auction-grid, .gc-auction-steps__grid { grid-template-columns: 1fr; }
  .gc-auction-frame, .gc-auction-frame iframe { min-height: 620px; }
}

/* Portfolio audit fixes: consistent rows, readable controls and original property films. */
.gc-project-card { display:flex; flex-direction:column; min-width:0; }
.gc-project-card__body { display:flex; flex-direction:column; flex:1; }
.gc-project-card__action { margin-top:auto; padding-top:18px; min-height:44px; }
.gc-project-card p { margin-bottom:12px; }
.gc-filter button { min-height:44px; }
.gc-project-card__image-link { display:block; }
.gc-project-card__image-link:focus-visible, .gc-filter button:focus-visible, .gc-project-card__action:focus-visible, .gc-button:focus-visible { outline:3px solid #8e6e47; outline-offset:4px; }
.gc-button:not(.gc-button--outline) { background:#6d4933; border-color:#6d4933; }
.gc-film-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:38px; }
.gc-film-card { min-width:0; border:1px solid #ded4c8; background:#faf7f8; }
.gc-film-card .instagram-media { display:block; width:100%!important; min-width:0!important; max-width:none!important; margin:0!important; border:0!important; box-shadow:none!important; }
.gc-film-card iframe { display:block; width:100%; max-width:100%; border:0; background:#fff; }
.gc-film-copy { padding:24px; }
.gc-film-copy h3 { margin:0 0 10px; color:#47313e; font-size:25px; line-height:1.2; }
.gc-film-copy p { color:#655a61; font-size:15px; line-height:1.7; }
.gc-film-copy a { display:inline-block; padding:12px 0; color:#47313e; text-decoration:underline; }
@media (max-width:767px) {
 .gc-film-grid { grid-template-columns:minmax(0,1fr); }
 .gc-portfolio-hero h1, .gc-auction-hero h1 { font-size:clamp(34px,9.5vw,58px); overflow-wrap:break-word; }
 .gc-portfolio-hero__inner, .gc-auction-hero__inner { padding-top:88px; }
 .gc-portfolio-hero, .gc-auction-hero { min-height:480px; }
 .gc-shell, .gc-portfolio-hero__inner, .gc-auction-hero__inner { width:calc(100% - 36px); }
 .gc-section-head h2 { font-size:clamp(32px,9vw,48px); }
}
