/* Service-specific editorial sections; contacts retain one full panel per page. */
.topbar-short-label { display: none; }
.footer-main .footer-actions { display: grid; gap: 12px; padding: 0; margin: 0; background: transparent; min-width: 0; }
.footer-main .footer-actions > a { display: inline-flex; align-items: center; justify-content: flex-start; gap: 16px; min-height: 44px; margin: 0; font-size: 14px; }
.footer-main .footer-actions .footer-contact-link { font: 500 23px/1.2 var(--display); color: var(--ink); padding-bottom: 12px; border-bottom: 1px solid var(--taupe); }
.footer-main .footer-actions .footer-contact-link .icon { width: 22px; height: 22px; }
.footer-main .footer-actions .footer-social-link { color: var(--muted); }
.footer-main .footer-actions .footer-social-link .icon { width: 19px; height: 19px; }
.channel-email .channel-copy strong { overflow-wrap: normal; word-break: normal; }
.editorial-intro { padding-block: 65px 75px; }
.editorial-intro h2 { font-size: clamp(36px,4vw,56px); line-height: 1.08; max-width: 24ch; margin: 18px 0 35px; }
.editorial-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.editorial-columns p, .editorial-team p, .barista-detail p, .wedding-intro p,
.wedding-menu p, .occasion-grid p, .wedding-planning p { font-size: 16px; line-height: 1.8; color: var(--muted); }
.editorial-team { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; background: var(--off-white); padding: 60px; border-radius: 28px; margin-block: 20px 70px; }
.editorial-team h2 { font-size: clamp(32px,3vw,44px); line-height: 1.12; margin-top: 18px; }
.editorial-team p:last-child { margin-bottom: 0; }
.coffee-business-points { list-style: none; padding: 0; margin: 28px 0 32px; display: grid; gap: 20px; }
.coffee-business-points li { display: flex; align-items: start; gap: 13px; font-size: 16px; line-height: 1.75; color: var(--muted); }
.coffee-business-points .icon { flex-shrink: 0; width: 21px; height: 21px; margin-top: 4px; color: #6a5946; }
.barista-detail { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; padding-block: 45px; }
.barista-detail-photo { position: relative; }
.barista-detail-photo img { width: 100%; height: 560px; border-radius: 26px; object-fit: cover; }
.barista-detail-photo > span { position: absolute; bottom: 20px; right: 20px; background: var(--off-white); color: var(--ink); border-radius: 50%; display: grid; place-items: center; width: 48px; height: 48px; font: 500 18px/1 var(--display); }
.barista-detail-copy h2 { font-size: clamp(36px,3.7vw,52px); line-height: 1.08; margin: 18px 0 28px; }
.barista-detail-copy p { max-width: 66ch; }
.barista-detail-copy { min-width: 0; }
.barista-detail-copy .text-link, .faq-section .text-link { max-width: 100%; white-space: normal; }
.barista-detail-copy .button { margin-top: 12px; }
.barista-detail.image-right { grid-template-columns: 1.2fr .8fr; }
.barista-detail.image-right .barista-detail-photo { order: 2; }
.barista-experiences { padding-bottom: 35px; }
.editorial-intro, .editorial-team, .barista-detail, .coffee-story,
.wedding-intro, .wedding-menu, .event-occasions, .wedding-planning { scroll-margin-top: 120px; }
.wedding-intro { padding-block: 70px; }
.wedding-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.wedding-intro h2 { font-size: clamp(38px,4vw,56px); line-height: 1.08; margin: 18px 0 24px; }
.wedding-intro .editorial-lead { font-size: 18px; color: var(--ink); max-width: 45ch; }
.wedding-intro-grid > div:last-child { align-self: end; }
.wedding-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; margin-top: 45px; }
.wedding-features article { border: 1px solid var(--line); border-radius: 22px; background: var(--off-white); padding: 30px; }
.wedding-features .icon { width: 34px; height: 34px; color: #6a5946; margin-bottom: 20px; }
.wedding-features h3 { font: 500 27px/1.15 var(--display); letter-spacing: -.025em; margin-bottom: 20px; }
.wedding-features p { margin-bottom: 0; }
.wedding-menu { background: var(--off-white); padding: 60px; border-radius: 28px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: center; }
.wedding-menu h2 { font-size: clamp(38px,3.8vw,54px); line-height: 1.08; margin: 18px 0 28px; }
.wedding-menu-photo { position: relative; }
.wedding-menu-photo img { width: 100%; height: 620px; object-fit: cover; border-radius: 180px 180px 24px 24px; }
.wedding-menu-photo > span { position: absolute; left: 20px; right: 20px; bottom: 22px; background: #171717e6; color: white; border-radius: 100px; padding: 14px; font-size: 12px; text-align: center; }
.drink-options { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 28px 0; list-style: none; }
.drink-options li { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--taupe); border-radius: 100px; padding: 8px 13px; font-size: 14px; }
.drink-options .icon { width: 16px; height: 16px; }
.event-occasions { padding-block: 80px; }
.occasion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.occasion-grid article { border: 1px solid var(--line); border-radius: 22px; padding: 32px; display: flex; gap: 24px; align-items: start; }
.occasion-grid article > .icon { width: 34px; height: 34px; flex-shrink: 0; color: #6a5946; }
.occasion-grid h3 { font: 500 28px/1.15 var(--display); letter-spacing: -.025em; margin-bottom: 16px; }
.occasion-grid p { margin: 0; max-width: 58ch; }
.occasion-grid .occasion-wedding { grid-column: 1/-1; background: var(--sand); border-color: var(--taupe); padding-block: 38px; }
.occasion-wedding h3 { font-size: 38px; }
.occasion-wedding p { color: #39332d; }
.wedding-planning { background: var(--off-white); border-radius: 28px; padding: 60px; }
.wedding-planning h2 { font-size: clamp(36px,3.8vw,54px); max-width: 26ch; line-height: 1.08; margin: 18px 0 40px; }
.wedding-planning .three-grid { gap: 40px; }
.wedding-planning .step-number { font: 400 32px/1 var(--display); color: #6a5946; border-color: var(--sand); }
.wedding-planning h3 { font: 500 26px/1.15 var(--display); letter-spacing: -.02em; }
.wedding-closing { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 24px; display: flex; gap: 30px; justify-content: space-between; align-items: center; }
.wedding-closing p { margin: 0; }
.wedding-closing .button { flex-shrink: 0; }
@media (max-width: 1100px) {
  .editorial-columns { gap: 40px; }
  .editorial-team, .wedding-menu, .wedding-planning { padding: 44px 40px; }
  .editorial-team, .barista-detail, .wedding-intro-grid, .wedding-menu { gap: 40px; }
  .barista-detail-photo img { height: 620px; }
  .wedding-features { gap: 18px; }
  .wedding-features article { padding: 25px; }
  .wedding-features h3 { font-size: 25px; }
  .wedding-menu-photo img { height: 680px; }
  .wedding-closing { align-items: start; flex-direction: column; }
  .wedding-planning .three-grid { gap: 25px; }
}
@media (max-width: 900px) {
  .editorial-team, .barista-detail, .barista-detail.image-right { grid-template-columns: 1fr; }
  .editorial-team h2 { max-width: 30ch; }
  .barista-detail.image-right .barista-detail-photo { order: 0; }
  .barista-detail-photo { width: min(460px,85%); margin-inline: auto; }
  .barista-detail-photo img { height: 480px; }
  .wedding-intro-grid, .wedding-menu { grid-template-columns: 1fr; gap: 30px; }
  .wedding-features { grid-template-columns: 1fr; }
  .wedding-features article { display: grid; grid-template-columns: 38px 1fr; gap: 0 20px; }
  .wedding-features h3, .wedding-features p { grid-column: 2; }
  .wedding-features > article > .icon { grid-row: 1/3; margin-bottom: 0; }
  .wedding-menu-photo { max-width: 450px; width: 85%; margin: 10px auto 0; }
  .wedding-menu-photo img { height: 500px; }
  .occasion-grid article { gap: 16px; padding: 26px; }
  .wedding-planning .three-grid { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 650px) {
  .contact-topbar-inner { min-height: 70px; padding-block: 6px; }
  .contact-topbar-inner > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
  .contact-topbar a, .contact-topbar .topbar-email { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; padding: 8px 4px; border-radius: 14px; min-height: 58px; width: 100%; font-size: 12px; line-height: 1.2; }
  .contact-topbar a:hover { background: #ffffff10; }
  .contact-topbar .topbar-value { display: none; }
  .contact-topbar .topbar-short-label { display: block; font-size: 12px; }
  .contact-topbar a .icon { width: 24px; height: 24px; }
  .topbar-email { grid-column: auto; grid-row: auto; justify-self: stretch; }
  .topbar-instagram { justify-self: stretch; }
  .footer-main .footer-actions { width: 100%; gap: 4px; }
  .footer-main .footer-actions .footer-contact-link { font-size: 24px; justify-content: space-between; padding-bottom: 16px; }
  .channel-email .channel-copy strong { overflow-wrap: normal; font-size: 14px; }
  .editorial-intro, .wedding-intro { padding-block: 45px; }
  .editorial-intro h2 { font-size: 36px; margin-bottom: 28px; }
  .editorial-columns { grid-template-columns: 1fr; gap: 0; }
  .editorial-team, .wedding-menu, .wedding-planning { padding: 35px 25px; border-radius: 22px; }
  .editorial-team { margin-bottom: 30px; gap: 12px; }
  .editorial-team h2 { font-size: 32px; margin-bottom: 15px; }
  .coffee-business-points { gap: 16px; }
  .barista-detail { gap: 30px; padding-block: 30px; }
  .barista-detail-photo { width: 92%; }
  .barista-detail-photo img { height: 420px; border-radius: 22px; }
  .barista-detail-copy h2 { font-size: 38px; margin-block: 16px 24px; }
  .barista-detail-copy .button { width: 100%; white-space: normal; justify-content: space-between; }
  .editorial-intro, .editorial-team, .barista-detail, .coffee-story,
  .wedding-intro, .wedding-menu, .event-occasions, .wedding-planning { scroll-margin-top: 100px; }
  .wedding-intro h2, .wedding-menu h2 { font-size: 38px; }
  .wedding-features { margin-top: 28px; }
  .wedding-features article { display: block; padding: 28px 24px; }
  .wedding-features .icon { margin-bottom: 20px; }
  .wedding-menu .button, .wedding-closing .button { width: 100%; white-space: normal; justify-content: space-between; }
  .drink-options { gap: 8px; }
  .drink-options li { padding: 8px 10px; }
  .wedding-menu-photo { width: 100%; }
  .wedding-menu-photo img { height: 440px; }
  .wedding-menu-photo > span { left: 12px; right: 12px; bottom: 18px; padding: 12px; }
  .event-occasions { padding-block: 55px; }
  .occasion-grid { grid-template-columns: 1fr; gap: 16px; }
  .occasion-grid .occasion-wedding { grid-column: auto; }
  .occasion-grid article { padding: 28px 24px; display: block; }
  .occasion-grid article > .icon { margin-bottom: 20px; }
  .occasion-grid h3 { font-size: 28px; }
  .occasion-wedding h3 { font-size: 34px; }
  .wedding-planning h2 { font-size: 36px; }
  .wedding-closing { gap: 24px; padding-top: 24px; }
}
