/* Editorial portfolio layouts and shared Phulkaas refinement. */
:root { --bg: #fff; --surface: #f6f5f1; --surface-2: #eeede8; --ink: #171715; --muted: #595954; --accent: #edc343; --accent-deep: #775a12; --blue: #775a12; --navy: #171715; --line: #dedbd1; --radius: 0px; }
html[data-theme="dark"] { --bg: #121312; --surface: #1c1d1b; --surface-2: #272925; --ink: #f8f7f1; --muted: #b9bcb4; --accent: #edc343; --accent-deep: #edc343; --blue: #edc343; --navy: #171715; --line: #3e4039; }
.section { padding-block: clamp(52px, 6vw, 88px); }
h1, h2 { letter-spacing: -.035em; line-height: 1.03; }
h2 { font-size: clamp(2.4rem, 4vw, 4rem); }
.section-heading { margin-bottom: 32px; }
.section-heading h2 { line-height: 1.06; }
.kicker, .eyebrow { font-size: .875rem; letter-spacing: .09em; }
.button, .button-small, .main-nav, .menu-toggle, .theme-toggle { font-size: .875rem; letter-spacing: .025em; }
.button { text-transform: none; }
.button:hover { transform: none; }
.main-nav { gap: 20px; text-transform: none; }
.site-header { background: var(--bg); border-bottom: 1px solid var(--line); }
.site-header .header-inner { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0 24px; min-height: 132px; padding-top: 18px; }
.site-header .brand { grid-column: 2; grid-row: 1; justify-content: center; }
.site-header .brand-wordmark { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.85rem; font-weight: 600; letter-spacing: .14em; }
.site-header .brand small { display: block; text-align: center; font-family: Manrope, sans-serif; font-size: .65rem; letter-spacing: .17em; }
.site-header .header-actions { grid-column: 3; grid-row: 1; justify-self: end; }
.site-header .main-nav { grid-column: 1 / -1; grid-row: 2; justify-content: center; padding-block: 18px; margin: 0; gap: 36px; }
.site-header .menu-toggle { display: none; }
.site-header .header-actions .button { background: transparent; color: var(--ink); border-color: var(--line); border-radius: 0; }
.button { border-radius: 0; box-shadow: none; }
.kicker { text-transform: uppercase; font-size: .75rem; letter-spacing: .16em; }
.text-link { text-transform: none; letter-spacing: .015em; }
.brand { min-width: 185px; font-size: 1.2rem; }
.brand small { font-size: .75rem; letter-spacing: .04em; }
.brand-mark, .brand-mark img { width: 44px; height: 44px; }
.brand-mark img { filter: brightness(0); }
html[data-theme="dark"] .brand-mark img, .site-footer .brand-mark img { filter: none; }
.brand-mark { background: transparent; padding: 0; }
.brand-mark img { width: 44px; height: 44px; object-fit: contain; }
.response-note { font-size: .875rem; }
.story-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(32px,8vw,120px); align-items: center; }
.story-grid > .portfolio-photo { grid-column: 2; grid-row: 1; padding-left: 9%; }
.story-grid > .portfolio-photo img { aspect-ratio: 5/4; object-fit: cover; }
.story-grid > .story-copy { grid-column: 1; grid-row: 1; }
.story-copy h2 { font-size: clamp(2.8rem,4.7vw,4.8rem); margin-bottom: 28px; }
.brand-story { background: var(--bg); }
.brand-story { border-block: 1px solid var(--line); }
.portfolio-photo { margin: 0; min-width: 0; }
.portfolio-photo img { width: 100%; height: auto; }
.portfolio-photo figcaption { padding-top: 12px; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.story-copy p { color: var(--muted); }
.text-link { display: inline-block; padding-block: 8px; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; font-weight: 600; }
.text-link:hover { text-decoration-color: var(--accent-deep); }
.client-showcase { background: var(--surface); padding-block: 28px; }
.client-showcase .section-heading > p { display: none; }
.client-showcase .section-heading h2 { font-family: Manrope, sans-serif; font-size: .8rem; text-transform: uppercase; letter-spacing: .16em; }
.client-showcase h2 { font-size: clamp(2rem,3vw,2.8rem); margin-bottom: 12px; }
.client-showcase .section-heading { margin-bottom: 24px; }
.client-logo-set figcaption { font-size: .75rem; }
.client-logo-set figure { min-height: 120px; padding-block: 16px; }
.client-logo-set img { height: 60px; }
.service-editorial { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(32px,6vw,84px); align-items: start; }
.service-feature h3 { font-family: 'Cormorant Garamond',Georgia,serif; font-size: 2.6rem; font-weight: 500; margin: 24px 0 12px; }
.service-feature p { color: var(--muted); max-width: 480px; margin-bottom: 8px; }
.service-index > a { display: grid; grid-template-columns: 24px minmax(0,1fr) 18px; gap: 18px; padding: 26px 0; border-top: 1px solid var(--line); }
.service-index > a:last-child { border-bottom: 1px solid var(--line); }
.service-index h3 { font-family: 'Cormorant Garamond',Georgia,serif; font-weight: 500; font-size: 2rem; margin: -5px 0 10px; }
.service-index p { color: var(--muted); margin: 0; }
.service-index > a:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.builder-promo h2 { max-width: 580px; }
.builder-promo .check-list { margin-block: 24px; }
.builder-promo { background: var(--surface); border-block: 1px solid var(--line); }
.builder-promo-grid { grid-template-columns: 1fr 1fr; gap: clamp(40px,8vw,120px); }
.tasting-menu { width: 100%; max-width: 460px; justify-self: center; padding: 40px 32px; text-align: center; background: var(--bg); border: 1px solid var(--line); outline: 1px solid var(--line); outline-offset: -12px; }
.tasting-menu > .pixel-food-icon { margin: 0 auto 12px; }
.tasting-label, .tasting-menu dt { color: var(--accent-deep); font-size: .65rem; text-transform: uppercase; letter-spacing: .17em; }
.tasting-menu h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.6rem; font-weight: 500; line-height: 1.05; margin: 18px 0 26px; }
.tasting-menu dl { margin: 0; }
.tasting-menu dl > div { padding: 17px 0; border-top: 1px solid var(--line); }
.tasting-menu dd { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; line-height: 1.5; margin: 10px 0 0; }
.tasting-note { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.2rem; margin: 18px 0 0; color: var(--muted); }
.preview-tags i, .preview-top, .preview-course, .preview-total { font-size: .875rem; }
.page-hero { padding-block: 48px; }
.page-hero h1, .blog-hero h1 { font-size: clamp(3rem,5vw,5rem); line-height: 1.02; }
.page-hero-photo { min-height: 0; aspect-ratio: auto; background: transparent; border: 0; box-shadow: none; }
.page-hero-photo img { position: static; height: auto; width: 100%; }
.page-hero-photo::after { display: none; }
.page-hero-photo figcaption { position: static; padding: 14px 0 0; background: transparent; color: var(--ink); border: 0; }
.page-hero-photo figcaption span { color: var(--muted); }
.page-hero-photo figcaption strong, .page-hero-photo figcaption span { font-size: .875rem; }
.content-block { border-radius: 0; box-shadow: none; background: transparent; padding: 24px 0; border: 0; border-top: 1px solid var(--line); }
.content-block h3 { font-size: 1.8rem; line-height: 1.15; }
.content-block p, .menu-column li { font-size: 1rem; }
.menu-column { border: 0; border-top: 2px solid var(--accent); padding: 24px 0; border-radius: 0; background: transparent; }
.event-service-grid { display: block; }
.event-service-card, .event-service-card.featured { display: grid; grid-template-columns: minmax(140px,.6fr) minmax(0,1.4fr); gap: 12px 40px; padding: 30px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; }
.event-service-card > span { grid-column: 1; grid-row: 1/4; font-size: .875rem; color: var(--muted); }
.event-service-card h2, .event-service-card p, .event-service-card .service-tags { grid-column: 2; margin: 0; }
.event-service-card h2 { font-size: 2.2rem; line-height: 1.15; }
.event-service-card p, .event-service-card.featured p { color: var(--muted); font-size: 1rem; }
.service-tags { gap: 6px 16px; }
.service-tags span { border: 0; background: transparent; padding: 0; color: var(--muted); font-size: .875rem; }
.service-jump a, .area-list span, .breadcrumb { font-size: .875rem; }
.blog-card > div { min-height: 0; padding-top: 20px; }
.blog-card p, .article-body p, .article-body li { font-size: 1rem; }
.blog-card h3 { font-size: 1.9rem; line-height: 1.1; }
.blog-card > div > span, .blog-card > div > a { font-size: .875rem; }
.article-hero h1 { font-size: clamp(2.6rem,4vw,4rem); line-height: 1.06; }
.article-body h2 { font-size: clamp(1.9rem,2.8vw,2.7rem); line-height: 1.15; }
.article-body h3 { font-size: 1.75rem; line-height: 1.2; }
.article-hero figure { aspect-ratio: auto; }
.article-hero figure img { height: auto; }
.review-grid blockquote, .review-grid blockquote:first-child { min-height: 0; padding: 26px; border-top: 0; }
.review-grid blockquote p { font-size: 1.6rem; line-height: 1.35; }
.review-grid footer, .review-grid footer span { font-size: .875rem; }
.conversion { padding-block: 60px; }
.conversion h2 { max-width: 850px; }
.inline-cta { padding: 32px 0; border-radius: 0; background: transparent; border-top: 1px solid var(--line); }
.inline-cta h2 { font-size: clamp(2rem,3vw,3rem); }
.footer-priority-links, .footer-grid, .social-links, .footer-bottom { font-size: .875rem; }
.floating-whatsapp.is-suppressed { opacity: 0; visibility: hidden; pointer-events: none; }
.builder-intro h1 { font-size: clamp(2.6rem,4vw,4.2rem); }
.builder-steps { background: var(--surface-2); color: var(--ink); border-right: 1px solid var(--line); }
.builder-steps > span, .step-indicator span { font-size: .875rem; }
.builder-shell { box-shadow: none; }
.step-indicator.complete b { background: transparent; border-color: var(--accent-deep); color: var(--ink); }
.builder-proof small, .step-copy, .tier-card small, .counter-option small, .route-card small { font-size: .875rem; }
.proof-hero h1 { font-family: 'Cormorant Garamond',Georgia,serif; }
.proof-menu-sheet h3, .proof-counter-list h3 { font-family: 'Cormorant Garamond',Georgia,serif; }
@media (max-width:1100px) { .main-nav { gap: 12px; font-size: .875rem; } .brand { min-width: 150px; } .header-inner { gap: 16px; } }
@media (max-width:1000px) {
 .main-nav { display: none; } .menu-toggle { display: block; margin-left: auto; }
 .main-nav.open { display: flex; position: fixed; top: 82px; left: 0; right: 0; padding: 24px; background: var(--bg); flex-direction: column; align-items: stretch; border-bottom: 1px solid var(--line); }
 .main-nav.open a { padding: 12px; font-size: 1rem; }
 .main-nav.open .nav-menu-builder { display: block; }
}
@media (max-width:760px) {
 .header-actions > .button { display: none; }
 .header-inner { min-height: 72px; gap: 12px; }
 .brand { min-width: 0; font-size: 1rem; gap: 10px; }
 .brand small { display: block; font-size: .75rem; }
 .brand-mark { width: 38px; height: 38px; } .brand-mark img { width: 32px; height: 32px; }
 .main-nav.open { top: 72px; }
 .theme-toggle { padding-inline: 10px; }
 .section { padding-block: 48px; }
 .story-copy { max-width: 560px; }
 .event-service-card, .event-service-card.featured { grid-template-columns: minmax(0,1fr); gap: 12px; }
 .event-service-card > span, .event-service-card h2, .event-service-card p, .event-service-card .service-tags { grid-column: 1; grid-row: auto; }
 .review-grid blockquote { padding: 24px 0; border-left: 0; border-top: 1px solid var(--line); }
 .page-hero-grid { grid-template-columns: minmax(0,1fr); }
}
.proof-edit .section { padding-block: clamp(52px, 6vw, 88px); }
.proof-edit h2 { font-size: clamp(2rem, 3.6vw, 3.5rem); line-height: 1.1; }
.proof-edit .kicker, .proof-edit .eyebrow { font-size: .875rem; letter-spacing: .1em; margin-bottom: 16px; }
.proof-edit .button { font-size: .875rem; box-shadow: none; }
.proof-edit .section-heading { margin-bottom: 32px; }
.proof-edit .section-heading h2 { padding-bottom: 0; }
.proof-edit .section-heading h2::after { display: none; }
.proof-edit .client-showcase { padding-block: 40px; }
.proof-edit .client-showcase .section-heading { max-width: 900px; }
.proof-edit .client-showcase h2 { font-size: clamp(1.65rem, 2.7vw, 2.4rem); margin-bottom: 12px; }
.proof-edit .client-showcase .kicker { display: none; }
.proof-edit .client-logo-set figure { min-height: 118px; padding-block: 16px; }
.proof-edit .client-logo-set img { height: 62px; }
.proof-edit .client-logo-set figcaption { font-size: .75rem; }
.proof-edit .menu-preview { transform: none; box-shadow: none; }
.proof-edit .conversion { padding-block: 52px; }
.proof-edit .conversion h2 { max-width: 800px; }
.proof-hero { padding-block: clamp(40px, 5vw, 76px); background: var(--bg); }
.proof-hero-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.proof-hero h1 { font-size: clamp(2.8rem, 4.6vw, 4.7rem); line-height: 1.04; margin-bottom: 24px; }
.proof-hero .eyebrow { color: var(--blue); }
.proof-hero .hero-lead { font-size: 1.125rem; }
.proof-hero .hero-actions { gap: 16px 24px; margin-top: 28px; align-items: center; }
.proof-photo { margin: 0; min-width: 0; }
.proof-photo img { position: static; width: 100%; height: auto; border-radius: 2px; box-shadow: none; }
.proof-photo figcaption { padding-top: 12px; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.proof-note { color: var(--muted); font-size: .875rem; line-height: 1.6; margin: 20px 0 0; }
.proof-text-link { display: inline-block; font-weight: 650; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.proof-text-link:hover { color: var(--blue); }
.proof-services, .proof-menu-grid, .proof-counter-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(30px, 6vw, 88px); }
.proof-services > div > p, .proof-menu-grid > div > p, .proof-counter-layout > div > p, .proof-story-grid p, .proof-closing p { color: var(--muted); }
.proof-service-list a { display: block; padding: 24px 0; border-top: 1px solid var(--line); }
.proof-service-list a:last-child { border-bottom: 1px solid var(--line); }
.proof-service-list h3 { font-family: Georgia, serif; font-weight: 400; font-size: 1.75rem; margin: 0 0 10px; }
.proof-service-list p { margin: 0 0 10px; color: var(--muted); }
.proof-service-list span { font-size: .875rem; color: var(--blue); font-weight: 650; }
.proof-service-list a:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.proof-story-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.proof-service-story, .proof-function-section { background: var(--surface); }
.proof-menu-sheet { border-block: 2px solid var(--accent); padding: 28px 0; }
.proof-menu-sheet h3 { font-family: Georgia, serif; font-size: 1.75rem; font-weight: 400; margin-bottom: 28px; }
.proof-menu-sheet dl, .proof-options { margin: 0; }
.proof-menu-sheet dl > div { display: grid; grid-template-columns: minmax(110px, .65fr) minmax(0, 1.35fr); gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.proof-menu-sheet dt, .proof-options dt { font-weight: 650; }
.proof-menu-sheet dd, .proof-options dd { margin: 0; color: var(--muted); }
.proof-function-list { margin-top: 30px; }
.proof-function-list > div { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.45fr) minmax(0, .7fr); gap: 24px; padding: 28px 0; border-top: 1px solid var(--line); align-items: start; }
.proof-function-list h3, .proof-function-list p { margin: 0; }
.proof-function-list p { color: var(--muted); }
.proof-function-list a { color: var(--blue); font-size: .875rem; font-weight: 650; }
.proof-counter-list article { padding: 26px 0; border-top: 1px solid var(--line); }
.proof-counter-list article:first-child { padding-top: 0; border-top: 0; }
.proof-counter-list h3 { font-family: Georgia, serif; font-size: 2rem; font-weight: 400; margin-bottom: 12px; }
.proof-counter-list article p:last-child { color: var(--muted); margin-bottom: 0; }
.proof-dishes { color: var(--ink); font-weight: 650; }
.proof-options > div { padding: 24px 0; border-top: 1px solid var(--line); }
.proof-options dd { margin-top: 10px; }
.proof-practical p { margin-bottom: 24px; }
.proof-practical strong { color: var(--ink); }
.proof-closing { border-top: 1px solid var(--line); padding-top: 36px; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.proof-closing > div { max-width: 760px; }
.proof-closing .button { flex-shrink: 0; }
.proof-closing p { margin-bottom: 0; }
@media (max-width: 900px) {
  .proof-hero-grid, .proof-services, .proof-menu-grid, .proof-counter-layout, .proof-story-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .proof-hero h1 { font-size: clamp(2.8rem, 7vw, 4rem); }
  .proof-hero .proof-photo { max-width: 760px; }
  .proof-closing { align-items: start; flex-direction: column; }
}
@media (max-width: 600px) {
  .proof-function-list > div { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .proof-menu-sheet dl > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .proof-hero h1 { font-size: clamp(2.45rem, 9vw, 3.4rem); }
  .proof-hero .hero-actions { align-items: flex-start; }
  .proof-hero .hero-lead { font-size: 1rem; }
  .proof-edit .review-grid { gap: 18px; }
}

/* Phulkaas portfolio composition, shared with its service pages. */
.services .split-heading { align-items: end; }
.service-feature .portfolio-photo img { aspect-ratio: 4/3; object-fit: cover; }
.service-index { padding-top: 40px; }
.food-home .blog-card-grid { grid-template-columns: 1.15fr 1fr; gap: 28px 56px; }
.food-home .blog-card:first-child { grid-row: span 2; display: block; }
.food-home .blog-card:not(:first-child) { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 24px; align-items: start; padding-top: 24px; }
.food-home .blog-card:not(:first-child) .blog-card-image { aspect-ratio: 3/4; }
.food-home .blog-card:not(:first-child) > div { padding: 0; }
.food-home .blog-card:not(:first-child) h3 { margin: 12px 0; font-size: 1.8rem; }
.food-home .blog-card:not(:first-child) p { display: none; }
.food-home .blog-card:not(:first-child) > div > a { margin-top: 12px; }
.reviews { background: #171715; color: #f8f7f1; }
.reviews .kicker { color: #edc343; }
.reviews .section-heading > p:last-child { color: #c4c2b9; }
.review-grid { grid-template-columns: 1fr 1fr; gap: 0 48px; border: 0; }
.review-grid blockquote, .review-grid blockquote:first-child { background: transparent; color: inherit; padding: 28px 0; border: 0; border-top: 1px solid #48483e; border-radius: 0; }
.review-grid blockquote:first-child { grid-column: 1 / -1; max-width: 980px; padding-bottom: 44px; }
.review-grid blockquote:first-child p { font-size: clamp(2.2rem,3.9vw,4rem); line-height: 1.15; }
.review-grid footer span { color: #c4c2b9; }
.conversion { background: var(--bg); color: var(--ink); border-block: 1px solid var(--line); text-align: center; }
.conversion-inner { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.conversion h2 { font-size: clamp(3rem,5.5vw,5.5rem); }
.conversion-actions { justify-content: center; }
.conversion .kicker { color: var(--accent-deep); }
.conversion .button-ghost-dark { color: var(--ink); border-color: var(--line); }
.page-hero, .proof-hero, .blog-hero { border-bottom: 1px solid var(--line); }
.proof-hero-grid { grid-template-columns: 1fr 1fr; gap: clamp(32px,6vw,90px); }
.proof-hero h1, .page-hero h1 { font-style: italic; font-size: clamp(3.2rem,5.4vw,5.5rem); }
.proof-hero .proof-photo img { aspect-ratio: 4/5; object-fit: cover; }
.builder-intro { text-align: center; }
.builder-intro h1 { font-style: italic; }
.builder-shell { border-radius: 0; border-color: var(--line); }
.builder-steps { background: var(--bg); }
@media (max-width: 1000px) {
 .site-header .header-inner { min-height: 76px; grid-template-columns: minmax(0,1fr) auto auto; gap: 14px; padding-top: 0; }
 .site-header .brand { grid-column: 1; justify-content: start; }
 .site-header .brand-wordmark { font-size: 1.4rem; }
 .site-header .header-actions { grid-column: 2; }
 .site-header .header-actions > .button { display: none; }
 .site-header .menu-toggle { display: block; grid-column: 3; grid-row: 1; margin: 0; }
 .site-header .main-nav { display: none; }
 .site-header .main-nav.open { display: flex; top: 76px; padding: 20px; gap: 6px; }
 .food-home .blog-card-grid { gap: 28px; }
 .food-home .blog-card:not(:first-child) { grid-template-columns: 90px minmax(0,1fr); gap: 16px; }
}
@media (max-width: 760px) {
 .shell { width: calc(100% - 36px); }
 .story-grid, .service-editorial, .builder-promo-grid, .proof-hero-grid, .food-home .blog-card-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .story-grid > .portfolio-photo, .story-grid > .story-copy { grid-column: auto; grid-row: auto; padding-left: 0; }
 .story-grid > .story-copy { order: -1; }
 .service-index { padding-top: 0; }
 .tasting-menu { max-width: 480px; }
 .food-home .blog-card:first-child { grid-row: auto; }
 .food-home .blog-card:not(:first-child) { grid-template-columns: 110px minmax(0,1fr); }
 .review-grid { grid-template-columns: 1fr; }
 .proof-hero .proof-photo img { aspect-ratio: 4/3; }
 .proof-hero h1, .page-hero h1 { font-size: clamp(2.8rem,11vw,4rem); }
}
@media (max-width: 380px) {
 .site-header .brand-mark { display: none; }
 .site-header .brand-wordmark { font-size: 1.2rem; }
 .site-header .header-inner { gap: 8px; }
 .food-home .blog-card:not(:first-child) { grid-template-columns: 80px minmax(0,1fr); }
}
