/* All rules stop at the public-content boundary. Shared navigation/footer are excluded. */
.public-design { background: var(--home-paper); color: var(--home-ink); font: 400 14px/1.65 var(--home-sans); display: flow-root; min-width: 0; padding-top: calc(var(--public-nav-height, 86px) + 8px); }
.public-design *, .public-design *::before, .public-design *::after { box-sizing: border-box; }
.public-design .container { width: min(100%,var(--brand-content-width)); max-width: var(--brand-content-width); margin: 0 auto !important; padding: 0 48px !important; }
.public-design :is(h1,h2) { font-family: var(--home-serif) !important; font-weight: 400 !important; letter-spacing: -.045em !important; text-transform: none !important; color: var(--home-ink) !important; }
.public-design h1 { font-size: clamp(28px,3.4vw,44px) !important; line-height: 1.12 !important; }
.public-design h2 { font-size: clamp(24px,2.5vw,34px) !important; line-height: 1.2; margin-bottom: 20px; }
.public-design :is(h3,h4) { font-family: var(--home-sans) !important; font-weight: 500 !important; letter-spacing: -.025em; color: var(--home-ink) !important; }
.public-design h3 { font-size: 18px; line-height: 1.4; }
.public-design h4 { font-size: 16px; }
.public-design p { font-family: var(--home-sans); line-height: 1.65; color: var(--home-muted); }
.public-design img { max-width: 100%; }
.public-design :is(.section,.section-padding) { padding: var(--brand-section-space) 0 !important; }
.public-design .bg-light { background: var(--home-tint) !important; }
.public-design .map-shell { background: var(--home-surface) !important; }
.public-design :is(.contact-section,.calculator-section,.join-section,.services-section,.portfolio-section,.design-ideas-listing,.profiles-section) { background: var(--home-paper) !important; }
.public-design .section-header { text-align: left; margin-bottom: 26px; max-width: 800px; }
.public-design :is(.section-title,.section-header h2)::after { display: none; }
.public-design :is(.page-header,.hb-yellow-header,.page-header-yellow,.product-hero) { padding: 6px 0 10px !important; margin: 0 !important; min-height: 0 !important; height: auto !important; text-align: left !important; background: var(--home-paper) !important; border: 0 !important; border-bottom: 1px solid var(--home-line) !important; color: var(--home-ink) !important; }
.public-design :is(.page-header,.hb-yellow-header,.page-header-yellow,.product-hero) h1 { font-size: clamp(28px,3vw,38px) !important; margin: 0 0 8px; }
.public-design .page-header p { max-width: 780px; font-size: 13px !important; margin: 0; color: var(--home-muted) !important; }
.public-design :is(.service-hero,.project-hero,.design-idea-hero,.article-hero) { min-height: 280px; height: auto; padding: 48px 0 40px; border: 0; background-color: #28362a; }
.public-design :is(.service-hero,.project-hero,.design-idea-hero,.article-hero) h1 { color: #fffdfa !important; max-width: 950px; }
.public-design :is(.service-hero-overlay,.project-hero-overlay,.design-idea-hero-overlay,.article-hero-overlay) { background: linear-gradient(90deg,rgb(16 24 19 / 80%),rgb(16 24 19 / 40%)); }
.public-design :is(.breadcrumb,.breadcrumb-modern) { display: flex; flex-wrap: wrap; gap: 8px; font: 400 12px/1.7 var(--home-sans); margin-bottom: 22px; }
.public-design :is(.service-hero,.project-hero,.design-idea-hero) :is(.breadcrumb a,.breadcrumb span,.meta-item) { color: #e7e8df; }
.public-design :is(.btn,.submit-btn,.view-btn,button[type=submit]) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border-radius: var(--brand-radius) !important; padding: 12px 23px !important; font: 500 12px/1.4 var(--home-sans) !important; letter-spacing: .025em; text-transform: none; box-shadow: none !important; text-decoration: none; cursor: pointer; transition: background .2s,color .2s; }
.public-design :is(.btn-primary,.submit-btn,button[type=submit]) { background: var(--home-ink) !important; border: 1px solid var(--home-ink) !important; color: #fffdfa !important; }
.public-design :is(.btn-secondary,.btn-outline,.btn-outline-primary) { background: transparent !important; color: var(--home-ink) !important; border: 1px solid #b7b9ac !important; }
.public-design :is(.btn-primary,.submit-btn,button[type=submit]):hover { background: #444e40 !important; transform: none; }
.public-design :is(.btn-outline,.btn-secondary):hover { background: #eae9df !important; transform: none; }
.public-design :is(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--home-gold); outline-offset: 4px; }
.public-design :is(.btn:disabled,button:disabled) { opacity: .55; cursor: not-allowed; }
/* Collection pages retain their own filters, results and API hooks. */
.public-design :is(.service-filters,.portfolio-filters,.filter-buttons,.category-tabs,.tab-buttons,.product-tabs) { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-start; margin-bottom: 30px; }
.public-design :is(.filter-section) { background: var(--home-paper); padding: 28px 0; border-bottom: 1px solid var(--home-line); }
.public-design :is(.filter-btn,.tab-btn) { min-height: 44px; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; padding: 10px 16px !important; font: 500 12px/1.5 var(--home-sans) !important; border: 1px solid var(--home-line) !important; border-radius: 2px !important; background: transparent !important; color: var(--home-muted) !important; box-shadow: none !important; cursor: pointer; }
.public-design :is(.filter-btn,.tab-btn).active { background: var(--home-ink) !important; border-color: var(--home-ink) !important; color: #fffdfa !important; }
.public-design :is(.filter-btn,.tab-btn):hover { border-color: var(--home-gold) !important; }
.public-design :is(.services-grid,.services-grid-modern,.portfolio-grid,.portfolio-grid-modern,.furniture-grid,.furniture-grid-modern,.ideas-grid,.design-ideas-grid,.related-grid) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.public-design :is(.service-card,.service-card-modern,.portfolio-card,.portfolio-card-modern,.furniture-card,.furniture-card-modern,.idea-card,.article-card,.pin-card) { min-width: 0; border: 0 !important; border-radius: 2px !important; background: transparent !important; box-shadow: none !important; overflow: hidden; transform: none; }
.public-design :is(.service-card,.portfolio-card,.furniture-card,.idea-card,.article-card):hover { transform: none; box-shadow: none; }
.public-design :is(.service-image,.service-card-image,.furniture-image,.furniture-card-image,.idea-image,.article-image) { aspect-ratio: 4 / 3; height: auto; overflow: hidden; border-radius: 2px; background: #e8e7de; }
.public-design :is(.service-image,.service-card-image,.furniture-image,.furniture-card-image,.idea-image,.article-image) img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.public-design :is(.service-card,.furniture-card,.idea-card):hover img { transform: scale(1.035); }
.public-design :is(.service-info,.service-card-content,.furniture-info,.furniture-card-content,.idea-content,.article-content) { padding: 22px 0 25px !important; border-bottom: 1px solid var(--home-line); }
.public-design :is(.service-info,.furniture-info,.idea-content,.service-card-content) h3 { font-size: 19px; margin-bottom: 10px; }
.public-design :is(.category,.category-badge,.badge,.badge-featured,.discount-badge) { font: 500 11px var(--home-sans); background: #eee8d8; color: #665534; border-radius: 2px; box-shadow: none; }
.public-design :is(.service-card-link,.furniture-card-link,.read-more) { color: var(--home-ink); font-size: 12px; }
.public-design :is(.ecommerce-card,.project-card) { border: 0 !important; border-radius: 2px !important; background: transparent !important; box-shadow: none !important; overflow: hidden; transform: none; }
.public-design .card-image-wrapper { border-radius: 2px; overflow: hidden; }
.public-design .card-image { height: auto; aspect-ratio: 4 / 3; }
.public-design .card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.public-design .ecommerce-card .card-body { padding: 22px 0 25px; border-bottom: 1px solid var(--home-line); }
.public-design .card-title { font-size: 19px; }
.public-design :is(.card-category,.current-price) { color: var(--home-ink) !important; }
.public-design .card-description { color: var(--home-muted); font-size: 13px; }
.public-design .meesho-product-card { background: var(--home-surface); border-color: var(--home-line); border-radius: var(--brand-radius); box-shadow: var(--brand-shadow); }
.public-design .card-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.public-design .card-actions .btn { flex: 1; min-width: 120px; }
.public-design .calculator-container { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 28px; align-items: start; }
.public-design .calculator-container > * { min-width: 0; }
.public-design .step-number { background: #eee8d8; color: var(--home-gold); box-shadow: none; }
.public-design :is(.stats-grid,.stats-container) { gap: 24px; }
.public-design :is(.stat-item,.stat-card,.stats-card) { border-radius: 2px; border: 1px solid var(--home-line); background: var(--home-surface); box-shadow: none; padding: 26px; }
.public-design :is(.stat-number,.stats-number) { color: var(--home-gold) !important; font: 400 36px var(--home-serif) !important; }
.public-design :is(.pagination,.pagination-controls) { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 36px; }
.public-design :is(.page-link,.pagination-btn) { min-height: 40px; min-width: 40px; background: transparent; border: 1px solid var(--home-line); border-radius: 2px; color: var(--home-ink); padding: 8px 12px; }
.public-design :is(.page-link,.pagination-btn).active { background: var(--home-ink); color: white; }
/* Profiles: horizontal tab navigation, editorial introduction and generous embeds. */
.public-design[data-public-page=profiles] .profiles-section { padding-top: 40px !important; background: var(--home-paper); }
.public-design .profile-card { border: 1px solid var(--home-line); background: var(--home-surface); border-radius: 2px; box-shadow: none; overflow: hidden; }
.public-design .profile-header { background: var(--home-surface); padding: 24px; border-bottom: 1px solid var(--home-line); text-align: left; }
.public-design .profile-header h2 { font-size: 26px !important; }
.public-design .profile-header p { max-width: 740px; font-size: 14px; }
.public-design .profile-embed { background: #e8e7de; width: 100%; }
.public-design .profile-iframe { display: block; width: 100%; height: clamp(480px,70vh,800px); border: 0; }
.public-design .profile-footer { padding: 20px 32px; border-top: 1px solid var(--home-line); background: var(--home-surface); text-align: right; }
/* About: image/story spread, then distinct values, team and location sections. */
.public-design .about-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; align-items: start; }
.public-design .about-content p { font-size: 14px; color: var(--home-muted); }
.public-design .about-content h2::after { background: var(--home-gold); height: 1px; }
.public-design .about-image img { width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: cover; border-radius: 2px; box-shadow: none; }
.public-design :is(.mission-vision-grid,.why-choose-grid,.team-grid,.locations-grid) { gap: 26px; }
.public-design :is(.mission-card,.vision-card,.values-card,.team-member,.location-card,.why-item) { min-width: 0; padding: 22px; border: 1px solid var(--home-line); border-radius: 2px; background: var(--home-surface); box-shadow: none; transform: none; text-align: left; }
.public-design :is(.mission-card,.vision-card,.values-card) p { font-size: 13px; }
.public-design :is(.why-icon,.member-avatar,.office-card-icon,.highlight-icon) { background: #eee8d8 !important; color: var(--home-gold) !important; box-shadow: none !important; border-radius: 2px; }
.public-design .why-icon i { color: var(--home-gold) !important; }
.public-design .location-card ul li::before { color: var(--home-gold); }
/* Contact, applications and calculators retain the existing form/control structure. */
.public-design :is(.contact-container,.calculator-layout,.service-layout,.project-layout,.article-layout,.design-idea-layout) { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(260px,1fr); gap: 28px; align-items: start; }
.public-design .contact-container { grid-template-columns: minmax(280px,1fr) minmax(0,1.3fr); }
.public-design :is(.contact-info,.contact-form,.join-form,.calculator-form,.quote-card,.sidebar-card,.upload-box,.how-to-apply-box,.office-card,.project-info-card,.project-highlights,.service-features,.product-info-card) { padding: 22px !important; border: 1px solid var(--home-line) !important; border-radius: 2px !important; background: var(--home-surface) !important; box-shadow: none !important; min-width: 0; }
.public-design :is(.join-form,.upload-box) { max-width: 920px; margin: 0 auto; }
.public-design[data-public-page=upload-documents] { min-height: 100vh; padding: 56px 22px; }
.public-design[data-public-page=upload-documents] .upload-box { max-width: 580px; }
.public-design :is(.form-grid,.form-row,.office-grid) { gap: 22px; }
.public-design .form-group { margin-bottom: 20px; min-width: 0; }
.public-design label { font: 500 12px/1.5 var(--home-sans) !important; color: var(--home-ink); }
.public-design :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]),select,textarea) { max-width: 100%; min-height: 46px; padding: 12px 14px !important; font: 400 14px/1.5 var(--home-sans) !important; border: 1px solid #cfd1c4 !important; border-radius: 2px !important; background: #f4ecd8; color: var(--home-ink); box-shadow: none; }
.public-design :is(.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea) { width: 100%; }
.public-design :is(input,select,textarea):focus { border-color: var(--home-gold) !important; box-shadow: 0 0 0 3px rgb(155 132 88 / 12%); }
.public-design textarea { min-height: 140px; resize: vertical; }
.public-design :is(input[type=checkbox],input[type=radio],input[type=range]) { accent-color: var(--home-ink); }
.public-design :is(.form-help,.form-text,small) { color: var(--home-muted); font-size: 12px; }
.public-design :is(.error,.invalid-feedback) { color: #a13e32; font-size: 12px; }
.public-design :is(.info-item i,.office-card-icon i,.contact-info i) { color: var(--home-gold); }
.public-design .contact-info :is(p,.office-city) { color: var(--home-muted) !important; }
.public-design .contact-info :is(a,.office-actions a) { color: #665534 !important; }
.public-design .office-card-body { min-width: 0; overflow-wrap: anywhere; }
.public-design :is(.estimate-box,.estimate-details,.estimate-breakdown,.calculator-result,.policy-card,.terms-card,.products-section) { border: 1px solid var(--home-line) !important; border-radius: 2px !important; background: var(--home-surface) !important; box-shadow: none !important; }
.public-design .estimate-amount { color: var(--home-ink); font-family: var(--home-serif); font-weight: 400; }
.public-design[data-public-page=pinterest-pins] .service-image { aspect-ratio: auto; }
.public-design[data-public-page=pinterest-pins] .service-image > * { max-width: 100% !important; min-width: 0 !important; }
.public-design .quote-total { background: #eee8d8; color: var(--home-ink); border-radius: 2px; }
.public-design :is(.total-amount,.product-price,.price) { color: var(--home-ink); }
.public-design :is(.quote-card.sticky,.sidebar-card.sticky) { top: 120px; }
.public-design .map-section { padding-bottom: var(--brand-section-space); }
.public-design .map-section iframe { max-width: 100%; border-radius: 2px; }
/* Detail layouts: imagery remains prominent, body copy stays readable. */
.public-design :is(.service-main,.project-main,.article-main,.article-body,.design-idea-main,.product-details) { min-width: 0; }
.public-design :is(.service-description,.project-description,.article-body,.idea-description,.product-description) { font-size: 14px; line-height: 1.75; color: var(--home-muted); overflow-wrap: anywhere; }
.public-design :is(.gallery-grid,.highlights-grid) { gap: 22px; }
.public-design :is(.gallery-item,.main-image,.product-main-image) { border-radius: 2px; box-shadow: none; overflow: hidden; }
.public-design :is(.gallery-item img,.main-image img) { width: 100%; object-fit: cover; }
.public-design :is(.thumbnail,.thumbnail.active) { border-radius: 2px; }
.public-design .thumbnail.active { border-color: var(--home-gold); }
.public-design :is(.project-cta-section,.cta-section,.cta-section-modern) { background: #28362a !important; padding: 48px 0 !important; border: 0 !important; color: #fffdfa; text-align: left; }
.public-design :is(.cta-section,.cta-section-modern,.project-cta-section) :is(h2,h3) { color: #fffdfa !important; }
.public-design :is(.cta-section,.cta-section-modern,.project-cta-section) p { color: #d1d6c8; max-width: 720px; }
.public-design :is(.cta-section,.cta-section-modern,.project-cta-section) .btn-primary { background: #efe8d5 !important; border-color: #efe8d5 !important; color: #28362a !important; }
.public-design :is(.cta-section,.cta-section-modern,.project-cta-section) .btn-outline { color: #fffdfa !important; border-color: #87917e !important; }
.public-design :is(.cta-buttons,.cta-actions) { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px; }
.public-design :is(.legal-content,.policy-content,.terms-content) { max-width: 900px; margin: 0 auto; padding: 36px; background: var(--home-surface); border: 1px solid var(--home-line); border-radius: 2px; box-shadow: none; }
.public-design :is(.legal-content,.policy-content,.terms-content) h2 { font-size: 28px !important; margin-top: 32px; }
.public-design :is(.legal-content,.policy-content,.terms-content) p { font-size: 14px; }
.public-design :is(.loading,.no-results,.empty-state) { padding: 36px 20px; text-align: center; color: var(--home-muted); font-size: 14px; }
.public-design [hidden] { display: none !important; }
@media (max-width: 1000px) {
  .public-design .container { padding: 0 32px !important; }
  .public-design :is(.services-grid,.services-grid-modern,.portfolio-grid,.portfolio-grid-modern,.furniture-grid,.furniture-grid-modern,.ideas-grid,.design-ideas-grid,.related-grid,.mission-vision-grid,.team-grid,.locations-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-design :is(.about-grid,.contact-container,.calculator-layout,.service-layout,.project-layout,.article-layout,.design-idea-layout) { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .public-design .calculator-container { grid-template-columns: minmax(0,1fr); }
  .public-design :is(.quote-card.sticky,.sidebar-card.sticky) { position: static; }
}
@media (max-width: 600px) {
  .public-design { padding-top: calc(var(--public-nav-height, 83px) + 8px); }
  .public-design .container { padding: 0 22px !important; }
  .public-design :is(.page-header,.hb-yellow-header,.page-header-yellow,.product-hero) { padding: 6px 0 10px !important; }
  .public-design :is(.services-grid,.services-grid-modern,.portfolio-grid,.portfolio-grid-modern,.furniture-grid,.furniture-grid-modern,.ideas-grid,.design-ideas-grid,.related-grid,.mission-vision-grid,.why-choose-grid,.team-grid,.locations-grid,.office-grid,.form-grid,.join-form,.form-row,.highlights-grid) { grid-template-columns: minmax(0,1fr) !important; }
  .public-design :is(.span-2,.full-width,.col-span-2) { grid-column: 1 / -1 !important; }
  .public-design :is(.contact-info,.contact-form,.join-form,.calculator-form,.quote-card,.sidebar-card,.mission-card,.vision-card,.values-card,.location-card) { padding: 22px !important; }
  .public-design .office-card { padding: 18px !important; }
  .public-design .office-card-icon { width: 32px; height: 32px; flex: 0 0 32px; }
  .public-design .office-card-body p { font-size: 13px; }
  .public-design .profile-header { padding: 24px; }
  .public-design .profile-footer { padding: 18px 24px; text-align: left; }
  .public-design .profile-iframe { height: 540px; }
  .public-design .tab-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-design :is(.cta-buttons,.cta-actions) .btn { width: 100%; }
  .public-design :is(.service-hero,.project-hero,.design-idea-hero) { padding: 56px 0 40px; min-height: 280px; }
  .public-design :is(.gallery-grid,.stats-grid,.stats-container) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-design :is(.legal-content,.policy-content,.terms-content) { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) { .public-design *, .public-design *::before, .public-design *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Explicit surface contrast keeps legacy page colors readable in the shared theme. */
.public-design { --primary-color: var(--home-ink); --secondary-color: var(--home-ink); --text-light: var(--home-muted); --bg-light: var(--home-tint); }
.public-design :is(.contact-card a,.benefits-list i,.member-designation,.feature-icon,.price-label,.price-note,.grand-total,.step-number) { color: #665534 !important; opacity: 1; }
.public-design :is(.quote-totals,.cta-card) { background: var(--home-surface); color: var(--home-ink); border-radius: 2px; }
.public-design :is(.gallery-overlay,.idea-overlay,.portfolio-card-overlay) :is(h3,p,a) { color: #fffdfa !important; }
.public-design .idea-overlay { background: rgb(16 24 19 / 85%); }
.public-design :is(.service-hero,.project-hero,.design-idea-hero) :is(.hero-overlay) { background: rgb(16 24 19 / 65%); }
.public-design :is(.service-hero,.project-hero,.design-idea-hero) :is(.breadcrumb a,.breadcrumb span,.meta-item,.meta-item i) { color: #fffdfa !important; }
.public-design .filter-btn { flex-shrink: 1; }
.public-design :is(.service-info,.furniture-info,.idea-content,.service-card-content,.card-title) h3 { font-size: 17px; }

/* Match Profiles' compact introduction-to-content rhythm on public pages. */
.public-design .join-form { width: 100%; max-width: 920px !important; grid-template-columns: repeat(3,minmax(0,1fr)); }
.public-design .join-form > * { min-width: 0; }
.public-design .how-to-apply-box :is(h3,p,a) { max-width: 100%; overflow-wrap: anywhere; }
.public-design .how-to-apply-box a { color: #79643e !important; }
@media (max-width: 1000px) { .public-design .join-form { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .public-design .join-form { grid-template-columns: minmax(0,1fr) !important; } }
.public-design :is(.page-header,.hb-yellow-header,.page-header-yellow,.product-hero) + :is(.section,.section-padding,.filter-section,.services-section,.portfolio-section,.design-ideas-listing) { padding-top: 16px !important; }
.public-design :is(.service-hero,.project-hero,.design-idea-hero,.article-hero) { min-height: 0; height: auto; padding: 24px 0 !important; }
.public-design :is(.service-hero,.project-hero,.design-idea-hero,.article-hero) h1 { font-size: clamp(28px,3vw,38px) !important; margin-bottom: 8px; }
.public-design :is(.service-hero,.project-hero,.design-idea-hero,.article-hero) .breadcrumb { margin-bottom: 10px; }
