/* ═══════════════════════════════════════════════════
   GRR PAGE STYLES — Home, Services, Portfolio,
   Consultation, About
═══════════════════════════════════════════════════ */

/* ── HERO (shared) ────────────────────────────── */
.hero {
  position:relative; min-height:90vh;
  display:flex; align-items:flex-end; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; z-index:0;
  background:#0a0f1e;
}
.hero-bg img {
  width:100%; height:100%; object-fit:cover; opacity:.55;
}
.hero-overlay {
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(to top, rgba(10,10,10,.96) 0%, rgba(10,10,10,.3) 55%, rgba(10,10,10,.08) 100%),
    linear-gradient(to right, rgba(10,10,10,.5) 0%, transparent 65%);
}
.hero-content {
  position:relative; z-index:2; width:100%;
  max-width:var(--w-wide); margin-inline:auto;
  padding-inline:clamp(var(--s4),4vw,var(--s12));
  padding-bottom:clamp(var(--s16),8vw,var(--s24));
  padding-top:clamp(var(--s12),8vw,var(--s20));
}
.hero-eyebrow {
  font-size:var(--t-xs); font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--grr-gold);
  margin-bottom:var(--s4); display:block; opacity:.9;
}
.hero h1 {
  font-family:var(--f-display); font-size:var(--t-hero);
  font-weight:800; color:#fff; line-height:1.0;
  letter-spacing:-.025em; margin-bottom:var(--s6);
  max-width:860px;
  text-shadow:0 2px 20px rgba(0,0,0,.45);
}
.hero-sep { color:var(--grr-gold); font-weight:400; margin-inline:.1em; }
.hero-sub {
  font-size:clamp(1rem, .95rem + .3vw, 1.375rem); color:rgba(232,229,222,.88);
  line-height:1.7; margin-bottom:var(--s10);
  max-width:580px; font-weight:400;
}
.hero-ctas { display:flex; flex-wrap:wrap; gap:var(--s4); margin-bottom:var(--s12); }
.hero-trust {
  display:flex; flex-wrap:wrap; align-items:center;
  gap:var(--s3); font-size:var(--t-sm);
  color:rgba(232,229,222,.7);
}
.trust-chip { display:flex; align-items:center; gap:.4em; }
.trust-chip svg { color:var(--grr-gold); flex-shrink:0; }
.trust-dot { color:rgba(201,150,12,.35); }

/* ── PROOF STRIP ──────────────────────────────── */
.proof-strip-section {
  background:var(--grr-surface);
  border-block:1px solid var(--grr-border);
  padding-block:var(--s5);
}
.proof-strip {
  display:flex; flex-wrap:wrap; align-items:center;
  justify-content:center; gap:var(--s4) var(--s8);
}
.proof-item {
  display:flex; align-items:center; gap:var(--s2);
  font-size:var(--t-sm); font-weight:500;
  color:var(--grr-text-muted); white-space:nowrap;
}
@media (max-width:639px) {
  .proof-item { white-space:normal; font-size:var(--t-xs); text-align:center; justify-content:center; }
  .proof-strip { gap:var(--s3) var(--s4); }
}
.proof-item svg { color:var(--grr-gold); flex-shrink:0; }
.proof-stars { color:var(--grr-gold); letter-spacing:.05em; font-size:.9rem; }
.proof-div {
  display:none; width:1px; height:24px;
  background:var(--grr-border);
}
@media (min-width:768px) { .proof-div { display:block; } }

/* ── THREE TENANTS SECTION ────────────────────── */
.tenants-section {
  padding-block:var(--gap-section);
}
.tenants-grid {
  display:grid; gap:var(--s4);
  grid-template-columns:1fr;
}
@media (min-width:768px) {
  .tenants-grid { grid-template-columns:repeat(3,1fr); }
}

.tenant-card {
  background:var(--grr-surface); border:1px solid var(--grr-border);
  border-radius:var(--r-xl); padding:clamp(var(--s8),4vw,var(--s12));
  display:flex; flex-direction:column; gap:var(--s5);
  transition:border-color var(--ease), transform var(--ease), box-shadow var(--ease);
  position:relative; overflow:hidden;
}
.tenant-card::before {
  content:''; position:absolute;
  top:0; left:0; right:0; height:3px;
  background:var(--grr-gold); transform:scaleX(0);
  transform-origin:left; transition:transform var(--ease-slow);
}
.tenant-card:hover {
  border-color:var(--grr-gold-border);
  transform:translateY(-4px); box-shadow:var(--sh-md);
}
.tenant-card:hover::before { transform:scaleX(1); }

.tenant-number {
  font-family:var(--f-display); font-size:3rem; font-weight:800;
  color:var(--grr-gold); opacity:.18; line-height:1;
  position:absolute; top:var(--s6); right:var(--s8);
}
.tenant-icon {
  width:52px; height:52px; color:var(--grr-gold);
}
.tenant-icon svg { width:100%; height:100%; }
.tenant-card h3 {
  font-family:var(--f-display); font-size:var(--t-xl);
  color:var(--grr-text); letter-spacing:-.01em;
}
.tenant-card p {
  font-size:var(--t-base); color:var(--grr-text-muted);
  line-height:1.8; flex:1;
}
.tenant-bullets {
  display:flex; flex-direction:column; gap:var(--s2);
  margin-top:var(--s2);
}
.tenant-bullet {
  display:flex; align-items:flex-start; gap:var(--s2);
  font-size:var(--t-base); color:var(--grr-text-muted);
}
.tenant-bullet svg { color:var(--grr-gold); flex-shrink:0; margin-top:.2em; }

/* ── SERVICES GRID ────────────────────────────── */
.services-section {
  padding-block:var(--gap-section);
  background:var(--grr-surface);
}
.services-grid {
  display:grid; gap:var(--s4);
  grid-template-columns:repeat(auto-fill, minmax(240px,1fr));
}
.service-card {
  background:var(--grr-surface-2); border:1px solid var(--grr-border);
  border-radius:var(--r-lg); padding:var(--s8);
  transition:border-color var(--ease), transform var(--ease), box-shadow var(--ease);
  position:relative; overflow:hidden;
}
.service-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--grr-gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--ease-slow);
}
.service-card:hover {
  border-color:var(--grr-gold-border);
  transform:translateY(-3px); box-shadow:var(--sh-md);
}
.service-card:hover::after { transform:scaleX(1); }
.service-icon {
  width:44px; height:44px; color:var(--grr-gold);
  margin-bottom:var(--s5);
}
.service-icon svg { width:100%; height:100%; }
.service-card h3 {
  font-family:var(--f-display); font-size:var(--t-lg);
  color:var(--grr-text); margin-bottom:var(--s3);
}
.service-card p {
  font-size:var(--t-base); color:var(--grr-text-muted);
  line-height:1.75; margin-bottom:var(--s5);
}
.service-link {
  font-size:var(--t-base); font-weight:600; color:var(--grr-gold);
  display:inline-flex; align-items:center; gap:var(--s1);
  transition:gap var(--ease), color var(--ease);
}
.service-link:hover { color:var(--grr-gold-hi); gap:var(--s2); }

/* ── PROCESS STEPS ────────────────────────────── */
.process-section { padding-block:var(--gap-section); }
.process-track {
  display:flex; flex-direction:column; gap:0;
  align-items:center;
}
.process-step {
  display:flex; align-items:flex-start; gap:var(--s8);
  max-width:640px; width:100%;
  padding:var(--s8); background:var(--grr-surface);
  border:1px solid var(--grr-border); border-radius:var(--r-lg);
  transition:border-color var(--ease), transform var(--ease);
}
.process-step:hover {
  border-color:var(--grr-gold-border); transform:translateX(4px);
}
.step-num {
  font-family:var(--f-display); font-size:2.25rem; font-weight:800;
  color:var(--grr-gold); opacity:.35; line-height:1;
  min-width:2.5rem; flex-shrink:0; transition:opacity var(--ease);
}
.process-step:hover .step-num { opacity:.9; }
.step-body h3 {
  font-family:var(--f-display); font-size:var(--t-lg);
  color:var(--grr-text); margin-bottom:var(--s3);
}
.step-body p { font-size:var(--t-base); color:var(--grr-text-muted); line-height:1.8; }

.process-connector {
  color:var(--grr-gold); opacity:.25;
  padding-block:var(--s2); transform:rotate(90deg);
}
@media (min-width:920px) {
  .process-track { flex-direction:row; align-items:stretch; justify-content:center; }
  .process-step { flex-direction:column; max-width:220px; flex:1; }
  .process-step:hover { transform:translateY(-4px); }
  .process-connector { transform:rotate(0deg); align-self:center; }
}

/* ── MID-PAGE CTA BAND ────────────────────────── */
.cta-band {
  background:var(--grr-gold);
  padding-block:clamp(var(--s12),6vw,var(--s20));
}
.cta-band-inner {
  display:flex; flex-direction:column; align-items:center;
  gap:var(--s6); text-align:center;
}
@media (min-width:768px) {
  .cta-band-inner {
    flex-direction:row; justify-content:space-between;
    text-align:left;
  }
}
.cta-band h2 {
  font-family:var(--f-display); font-size:var(--t-xl);
  color:#0f0f0f; line-height:1.2; max-width:500px;
}
.cta-band p { font-size:var(--t-base); color:rgba(0,0,0,.7); margin-top:var(--s2); }
.cta-band .btn--dark {
  background:#0f0f0f; color:#fff;
  border-color:#0f0f0f; flex-shrink:0;
}
.cta-band .btn--dark:hover {
  background:#222; border-color:#222;
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(0,0,0,.35);
}

/* ── PORTFOLIO GRID ───────────────────────────── */
.portfolio-section { padding-block:var(--gap-section); background:var(--grr-surface); }
.portfolio-grid {
  display:grid; gap:var(--s3);
  grid-template-columns:1fr;
}
@media (min-width:640px) {
  .portfolio-grid { grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1024px) {
  .portfolio-grid { grid-template-columns:repeat(3,1fr); }
  .portfolio-item--wide { grid-column:span 2; }
}

.portfolio-item {
  position:relative; overflow:hidden;
  border-radius:var(--r-lg); aspect-ratio:4/3;
  background:var(--grr-surface-2);
  cursor:pointer;
}
.portfolio-item--wide { aspect-ratio:16/9; }
.portfolio-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform var(--ease-slow);
}
.portfolio-item:hover img { transform:scale(1.04); }
.portfolio-item-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 55%);
  display:flex; flex-direction:column;
  justify-content:flex-end; padding:var(--s6);
  opacity:0; transition:opacity var(--ease-slow);
}
.portfolio-item:hover .portfolio-item-overlay,
.portfolio-item:focus .portfolio-item-overlay { opacity:1; }
@media (hover: none) {
  .portfolio-item-overlay { opacity:1; }
}
.portfolio-item-tag {
  font-size:var(--t-xs); font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--grr-gold);
  background:var(--grr-gold-bg); border:1px solid var(--grr-gold-border);
  border-radius:var(--r-full); padding:.2em .8em;
  display:inline-block; margin-bottom:var(--s2);
}
.portfolio-item-overlay h3 {
  font-family:var(--f-display); font-size:var(--t-lg);
  color:#fff; margin-bottom:var(--s2);
}
.portfolio-item-overlay p { font-size:var(--t-xs); color:rgba(255,255,255,.7); }

/* Portfolio placeholder (before real photos) */
.portfolio-placeholder {
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:var(--s4); padding:var(--s6);
  background:var(--grr-surface-2);
}
.portfolio-placeholder-label {
  font-size:var(--t-xs); font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--grr-gold); text-align:center;
}
.portfolio-placeholder-sub {
  font-size:var(--t-xs); color:var(--grr-text-faint);
  text-align:center; line-height:1.5;
}

/* ── TESTIMONIALS ─────────────────────────────── */
.testimonials-section { padding-block:var(--gap-section); }
.testimonials-grid {
  display:grid; gap:var(--s6);
  grid-template-columns:repeat(auto-fill, minmax(280px,1fr));
}
.testimonial {
  background:var(--grr-surface); border:1px solid var(--grr-border);
  border-radius:var(--r-lg); padding:var(--s8);
  display:flex; flex-direction:column; gap:var(--s5);
  transition:border-color var(--ease), transform var(--ease);
}
.testimonial:hover {
  border-color:var(--grr-gold-border); transform:translateY(-3px);
}
.t-stars { color:var(--grr-gold); letter-spacing:.08em; font-size:.95rem; }
.t-quote {
  font-size:var(--t-base); color:var(--grr-text-muted);
  line-height:1.85; font-style:italic; flex:1;
}
.t-footer {
  padding-top:var(--s4); border-top:1px solid var(--grr-border);
  display:flex; flex-direction:column; gap:var(--s1);
}
.t-name { font-size:var(--t-base); font-weight:700; color:var(--grr-text); }
.t-loc { font-size:var(--t-sm); color:var(--grr-text-faint); }

/* ── SERVICE AREA ────────────────────────────── */
.area-section {
  padding-block:var(--gap-section);
  background:var(--grr-surface);
  border-top:1px solid var(--grr-border);
}
.area-grid {
  display:grid; gap:clamp(var(--s12),6vw,var(--s20));
  align-items:center;
}
@media (min-width:800px) { .area-grid { grid-template-columns:1fr 1fr; } }

.area-grid h2 {
  font-family:var(--f-display); font-size:var(--t-2xl);
  color:var(--grr-text); margin-bottom:var(--s4);
}
.area-grid p {
  font-size:var(--t-base); color:var(--grr-text-muted);
  line-height:1.75; margin-bottom:var(--s8);
}
.area-tags { display:flex; flex-wrap:wrap; gap:var(--s2); margin-bottom:var(--s5); }
.area-tag {
  font-size:var(--t-xs); font-weight:500; color:var(--grr-text-muted);
  background:var(--grr-surface-3); border:1px solid var(--grr-border);
  border-radius:var(--r-full); padding:.3em 1em;
}
.ferry-note {
  display:flex; align-items:center; gap:var(--s2);
  font-size:var(--t-base); font-weight:600; color:var(--grr-gold);
}
.ferry-note svg { flex-shrink:0; }

/* ── CONSULTATION FORM PAGE ──────────────────── */
.consultation-page { padding-block:var(--gap-section); }
.consult-grid {
  display:grid; gap:clamp(var(--s12),6vw,var(--s20));
}
.consult-aside, .consult-form-wrap {
  min-width:0; width:100%; box-sizing:border-box;
}
.consult-aside { overflow:hidden; }
@media (min-width:900px) {
  .consult-grid { grid-template-columns:1fr 1.4fr; align-items:start; }
}
.consult-aside h2 {
  font-family:var(--f-display); font-size:var(--t-2xl);
  color:var(--grr-text); margin-bottom:var(--s4); margin-top:var(--s3);
}
.consult-aside p {
  font-size:var(--t-base); color:var(--grr-text-muted);
  line-height:1.75; margin-bottom:var(--s8);
}
.consult-contact-list {
  display:flex; flex-direction:column;
  gap:var(--s4); margin-bottom:var(--s8);
}
.consult-contact-item {
  display:flex; align-items:center; gap:var(--s3);
  font-size:var(--t-base); font-weight:500;
  color:var(--grr-text-muted); transition:color var(--ease);
  min-height:44px;
}
.consult-contact-item svg { color:var(--grr-gold); flex-shrink:0; }
.consult-contact-item:hover { color:var(--grr-gold); }

.consult-process-mini {
  display:flex; flex-direction:column; gap:var(--s3);
  margin-top:var(--s6);
}
.consult-step-mini {
  display:flex; align-items:flex-start; gap:var(--s3);
}
.mini-num {
  font-size:var(--t-xs); font-weight:700; color:var(--grr-gold);
  background:var(--grr-gold-bg); border:1px solid var(--grr-gold-border);
  border-radius:var(--r-full); width:24px; height:24px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; margin-top:.1em;
}
.consult-step-mini p { font-size:var(--t-base); color:var(--grr-text-muted); line-height:1.7; }
.consult-step-mini strong { color:var(--grr-text); }

.consult-form-wrap {
  background:var(--grr-surface); border:1px solid var(--grr-border);
  border-radius:var(--r-xl); padding:clamp(var(--s6),4vw,var(--s10));
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
@media (max-width:480px) { .form-row { grid-template-columns:1fr; } }

.form-note {
  display:flex; align-items:center; gap:var(--s2);
  font-size:var(--t-xs); color:var(--grr-text-faint);
  margin-top:var(--s2);
}
.form-note svg { color:var(--grr-green); flex-shrink:0; }
.field-error { border-color:var(--grr-red) !important; }
.grr-select-btn.field-error { border-color:var(--grr-red) !important; }
.form-error-msg {
  font-size:var(--t-sm); color:var(--grr-red);
  background:rgba(138,61,61,.1); border:1px solid rgba(138,61,61,.25);
  border-radius:var(--r-md); padding:var(--s3) var(--s4);
  margin-bottom:var(--s4);
}
.form-success-state {
  text-align:center; padding:var(--s12) var(--s8);
  display:flex; flex-direction:column; align-items:center; gap:var(--s4);
}
.form-success-state svg { color:var(--grr-green); }
.form-success-state h3 {
  font-family:var(--f-display); font-size:var(--t-xl); color:var(--grr-text);
}
.form-success-state p { font-size:var(--t-base); color:var(--grr-text-muted); }

/* ── ABOUT PAGE ──────────────────────────────── */
.about-page { padding-block:var(--gap-section); }
.about-intro {
  display:grid; gap:clamp(var(--s12),6vw,var(--s20));
  align-items:center; margin-bottom:var(--s24);
}
@media (min-width:800px) { .about-intro { grid-template-columns:1fr 1fr; } }

.about-intro h2 {
  font-family:var(--f-display); font-size:var(--t-2xl);
  color:var(--grr-text); margin-bottom:var(--s5);
}
.about-intro p {
  font-size:var(--t-base); color:var(--grr-text-muted);
  line-height:1.8; margin-bottom:var(--s4);
}
.about-photo {
  background:var(--grr-surface-2); border-radius:var(--r-xl);
  overflow:hidden; aspect-ratio:4/5;
  border:1px solid var(--grr-border);
}
.about-photo img { width:100%; height:100%; object-fit:cover; }
.about-photo-placeholder {
  width:100%; height:100%;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:var(--s4); padding:var(--s8);
  color:var(--grr-text-faint);
}
.about-photo-placeholder svg { color:var(--grr-gold); opacity:.3; }

.why-grid {
  display:grid; gap:var(--s4);
  grid-template-columns:repeat(auto-fill, minmax(260px,1fr));
  margin-bottom:var(--s20);
}
.why-card {
  background:var(--grr-surface); border:1px solid var(--grr-border);
  border-radius:var(--r-lg); padding:var(--s8);
  transition:border-color var(--ease), transform var(--ease);
}
.why-card:hover { border-color:var(--grr-gold-border); transform:translateY(-3px); }
.why-icon { width:40px; height:40px; color:var(--grr-gold); margin-bottom:var(--s4); }
.why-icon svg { width:100%; height:100%; }
.why-card h3 {
  font-family:var(--f-display); font-size:var(--t-lg);
  color:var(--grr-text); margin-bottom:var(--s3);
}
.why-card p { font-size:var(--t-base); color:var(--grr-text-muted); line-height:1.75; }

/* ── INNER PAGE HERO (smaller) ──────────────── */
.page-hero {
  padding-block:clamp(var(--s16),8vw,var(--s24));
  background:var(--grr-surface);
  border-bottom:1px solid var(--grr-border);
}
.page-hero .sec-eyebrow { display:block; margin-bottom:var(--s3); }
.page-hero h1 {
  font-family:var(--f-display); font-size:var(--t-2xl);
  color:var(--grr-text); margin-bottom:var(--s4); line-height:1.15;
}
.page-hero p {
  font-size:var(--t-lg); color:var(--grr-text-muted);
  line-height:1.75; max-width:580px;
}

/* Service detail grid (Services page) */
.service-detail-grid {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .service-detail-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ── CUSTOM SELECT (replaces native <select> on consultation form) ── */
.grr-select-wrap { position:relative; }
.grr-select-btn {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; min-height:52px;
  background:var(--grr-surface-2); border:1px solid var(--grr-border);
  border-radius:var(--r-md); padding:.85rem 1.1rem;
  font-family:var(--f-body); font-size:var(--t-base);
  color:var(--grr-text-faint); text-align:left; cursor:pointer;
  transition:border-color var(--ease), box-shadow var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.grr-select-btn.has-value { color:var(--grr-text); }
.grr-select-btn:focus,
.grr-select-btn.open { outline:none; border-color:var(--grr-gold); box-shadow:0 0 0 3px rgba(201,150,12,.1); }
.grr-select-btn svg { flex-shrink:0; color:var(--grr-text-faint); transition:transform .2s ease; pointer-events:none; }
.grr-select-btn.open svg { transform:rotate(180deg); }

.grr-select-list {
  position:absolute; left:0; right:0; top:calc(100% + 4px);
  background:var(--grr-surface); border:1px solid var(--grr-border);
  border-radius:var(--r-md); overflow:hidden;
  z-index:500; box-shadow:0 8px 24px rgba(0,0,0,.45);
  display:none; flex-direction:column;
}
.grr-select-list.open { display:flex; }
.grr-select-option {
  padding:.8rem 1.1rem; font-size:var(--t-base); color:var(--grr-text-muted);
  background:transparent; border:none; text-align:left; cursor:pointer;
  transition:background var(--ease), color var(--ease);
  -webkit-tap-highlight-color:transparent;
  min-height:44px; display:flex; align-items:center;
}
.grr-select-option:hover,
.grr-select-option:focus { background:var(--grr-surface-2); color:var(--grr-text); outline:none; }
.grr-select-option.selected { color:var(--grr-gold); }
.grr-select-option + .grr-select-option { border-top:1px solid var(--grr-border); }

/* Hidden real input that carries the value for form submission */
.grr-select-input { display:none; }

/* ── MULTI-SELECT (Project Type) ── */
.grr-multiselect-list { max-height:300px; overflow-y:auto; }

/* Checkbox indicator on each option */
.grr-multi-option { gap:.75rem; }
.grr-chk {
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; width:18px; height:18px;
  border:2px solid var(--grr-border); border-radius:4px;
  background:transparent; transition:background var(--ease), border-color var(--ease);
}
.grr-multi-option[aria-selected="true"] .grr-chk {
  background:var(--grr-gold); border-color:var(--grr-gold);
}
.grr-multi-option[aria-selected="true"] .grr-chk::after {
  content:''; display:block;
  width:5px; height:9px;
  border:2px solid #0f0f0f;
  border-top:none; border-left:none;
  transform:rotate(45deg) translate(-1px,-1px);
}
.grr-multi-option[aria-selected="true"] { color:var(--grr-text); }

/* Done button row */
.grr-multiselect-done {
  padding:.6rem .8rem;
  border-top:1px solid var(--grr-border);
  display:flex; justify-content:flex-end;
  position:sticky; bottom:0;
  background:var(--grr-surface);
}
.grr-multiselect-done-btn {
  font-family:var(--f-body); font-size:var(--t-sm); font-weight:600;
  color:var(--grr-gold); background:transparent; border:none;
  cursor:pointer; padding:.35rem .6rem;
  -webkit-tap-highlight-color:transparent;
  min-height:36px;
}
.grr-multiselect-done-btn:hover { color:var(--grr-gold-hover); }

/* Selected count badge on button face */
.grr-select-count {
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--grr-gold); color:#0f0f0f;
  font-size:11px; font-weight:700;
  width:20px; height:20px; border-radius:50%;
  margin-left:.5rem; flex-shrink:0;
}

/* ── MOBILE FIXES (≤480px) ─────────────────────── */
@media (max-width:480px) {
  /* Hero CTAs — stack full width */
  .hero-ctas { flex-direction:column; }
  .hero-ctas .btn { width:100%; }

  /* Hero text sizing */
  .hero-content h1 { font-size:clamp(2rem,8vw,2.8rem); }

  /* Projects grid — single column */
  .projects-grid { grid-template-columns:1fr !important; }

  /* Services grid — single column */
  .services-grid { grid-template-columns:1fr !important; }

  /* Proof strip — wrap cleanly */
  .proof-strip { flex-wrap:wrap; justify-content:flex-start; gap:var(--s2) var(--s4); }

  /* Tenant cards padding */
  .tenant-card { padding:var(--s6) var(--s5); }

  /* Section padding tighter */
  .sec-header { padding-inline:var(--s4); }

  /* Area grid — single column */
  .area-grid { grid-template-columns:1fr !important; }

  /* CTA band buttons */
  .cta-band .btn { width:100%; }
}

@media (max-width:639px) {
  /* Nav hero badge strip wraps */
  .hero-trust { flex-wrap:wrap; gap:var(--s2); }

  /* Portfolio grid — single column */
  .portfolio-grid { grid-template-columns:1fr !important; }

  /* Wide card stays full width */
  .portfolio-item--wide { grid-column:span 1 !important; }
}
