.kahve-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  min-height: 112px;
}
.kahve-service-area { font-size: 13px; line-height: 1.5; color: var(--muted); }
.kahve-wordmark { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--display); font-size: clamp(26px, 2.8vw, 39px); font-weight: 700; line-height: 1.05; text-decoration: none; letter-spacing: -.045em; }
.kahve-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 22px; }
.kahve-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; text-decoration: none; }
.kahve-nav a:hover { text-decoration: underline; }
.kahve-nav .kahve-nav-plan { padding: 10px 16px; border: 1px solid var(--accent); border-radius: 100px; }
.kahve-main .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.kahve-main .button { min-height: 48px; font-size: 14px; border-radius: 100px; padding-inline: 26px; }
.kahve-scene { position: relative; min-height: 700px; isolation: isolate; background: var(--accent); }
.kahve-landscape { position: absolute; inset: 0; margin: 0; z-index: -1; }
.kahve-photo { width: 100%; height: 100%; object-fit: cover; object-position: center 67%; }
.kahve-scene-inner { display: flex; align-items: center; min-height: inherit; }
.kahve-invitation { width: min(510px, 47%); margin-block: 44px; padding: 38px 42px 30px; background: var(--background); color: var(--ink); }
.kahve-invitation h1 { max-width: 12ch; font-family: var(--display); font-size: clamp(52px, 5.35vw, 80px); font-weight: 500; line-height: .99; letter-spacing: -.05em; text-wrap: balance; }
.kahve-invitation > p { margin-block: 24px; max-width: 43ch; color: var(--muted); font-size: 15px; line-height: 1.75; }
.kahve-scene-link { margin: 8px 0 0 18px; }
.kahve-setups { padding-block: 90px 72px; }
.kahve-section-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 45px; }
.kahve-section-top h2, .kahve-touches h2, .kahve-visit h2 { font-family: var(--display); font-size: clamp(38px, 4vw, 58px); font-weight: 500; line-height: 1.06; letter-spacing: -.04em; text-wrap: balance; }
.kahve-section-top > p { max-width: 33ch; color: var(--muted); font-size: 15px; line-height: 1.7; padding-bottom: 3px; }
.kahve-comparison-head, .kahve-setup-row { display: grid; grid-template-columns: 1fr 1.2fr 1.35fr; gap: 45px; }
.kahve-comparison-head { padding: 0 0 15px; border-bottom: 2px solid var(--accent); font-size: 13px; color: var(--muted); }
.kahve-comparison { margin: 0; }
.kahve-setup-row { align-items: start; padding-block: 29px; border-bottom: 1px solid color-mix(in srgb, var(--ink) 25%, transparent); }
.kahve-setup-row dt { font-family: var(--display); font-size: 30px; line-height: 1.15; font-weight: 500; letter-spacing: -.025em; }
.kahve-setup-row dd { margin: 0; font-size: 15px; line-height: 1.7; }
.kahve-setup-note { color: var(--muted); }
.kahve-comparison-action { text-align: right; padding-top: 17px; }
.kahve-touches { padding-block: 72px; background: var(--surface); }
.kahve-touches-inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 12%; }
.kahve-touches-copy h2 { max-width: 12ch; }
.kahve-touches-copy > p { max-width: 40ch; margin-top: 22px; font-size: 15px; line-height: 1.75; color: var(--muted); }
.kahve-disclosures { border-top: 1px solid color-mix(in srgb, var(--ink) 25%, transparent); }
.kahve-touch { border-bottom: 1px solid color-mix(in srgb, var(--ink) 25%, transparent); }
.kahve-touch summary { display: flex; align-items: center; justify-content: space-between; min-height: 78px; gap: 20px; cursor: pointer; list-style: none; font-family: var(--display); font-size: 27px; line-height: 1.2; letter-spacing: -.02em; padding-block: 20px; }
.kahve-touch summary::-webkit-details-marker { display: none; }
.kahve-disclosure-sign { position: relative; flex: 0 0 18px; width: 18px; height: 18px; }
.kahve-disclosure-sign::before, .kahve-disclosure-sign::after { position: absolute; content: ''; background: currentColor; width: 14px; height: 1px; top: 8px; left: 2px; }
.kahve-disclosure-sign::after { transform: rotate(90deg); }
.kahve-touch[open] .kahve-disclosure-sign::after { display: none; }
.kahve-touch > div { padding-bottom: 19px; }
.kahve-touch > div p { max-width: 44ch; font-size: 15px; line-height: 1.75; color: var(--muted); }
.kahve-touch .text-link { margin-top: 9px; }
.kahve-inquiry { padding-block: 78px 84px; background: var(--accent); color: var(--accent-text); }
.kahve-planner-intro { max-width: 720px; margin: 0 auto 35px; text-align: center; }
.kahve-planner-intro h2 { font-family: var(--display); font-weight: 500; font-size: clamp(42px, 5.2vw, 72px); line-height: 1.02; letter-spacing: -.04em; text-wrap: balance; color: var(--accent-text); }
.kahve-planner-intro p { max-width: 48ch; margin: 23px auto 0; font-size: 16px; line-height: 1.75; color: var(--accent-text); }
.kahve-planner { max-width: 720px; margin-inline: auto; padding: 32px 38px 20px; background: var(--background); color: var(--ink); border-radius: 4px; }
.kahve-planner .local-note { margin: 0 0 23px; max-width: 53ch; font-size: 13px; line-height: 1.7; color: var(--muted); }
.kahve-planner .inquiry-form { border: 0; background: transparent; padding: 0; color: var(--ink); }
.kahve-planner .field label, .kahve-planner .inquiry-result > label { font-size: 14px; }
.kahve-planner input, .kahve-planner select, .kahve-planner textarea { font-size: 16px; background: var(--surface); min-height: 48px; }
.kahve-planner .inquiry-official { margin-top: 15px; }
.kahve-planner .form-status { color: var(--ink); }
.kahve-visit { background: var(--surface); padding-block: 80px; }
.kahve-visit-inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 12%; align-items: start; }
.kahve-visit-copy p { margin-top: 24px; max-width: 39ch; font-size: 15px; line-height: 1.75; color: var(--muted); }
.kahve-visit-copy > .text-link { margin-top: 16px; }
.kahve-visit .location-book { border: 0; border-left: 2px solid var(--accent); border-radius: 0; padding: 3px 0 3px 38px; background: transparent; }
.kahve-visit .location-panel h3 { font-family: var(--display); font-size: 32px; font-weight: 500; letter-spacing: -.03em; }
.kahve-visit .location-control { max-width: 440px; }
.kahve-visit .location-control select { background: var(--background); font-size: 16px; }
.kahve-visit .opening-hours p, .kahve-visit .location-panel address { font-size: 15px; }
.kahve-inquiry :focus-visible { outline-color: var(--accent-text); }
.kahve-planner :focus-visible { outline-color: var(--ink); }
@media (min-width: 1600px) { .kahve-scene { min-height: 770px; } .kahve-invitation { width: 530px; } }
@media (max-width: 1100px) {
  .kahve-header { grid-template-columns: auto 1fr; }
  .kahve-service-area { display: none; }
  .kahve-scene { min-height: 640px; }
  .kahve-invitation { width: 46%; padding: 31px; }
  .kahve-invitation h1 { font-size: 58px; }
  .kahve-scene-link { margin-left: 0; }
  .kahve-comparison-head, .kahve-setup-row { gap: 28px; }
  .kahve-touches-inner, .kahve-visit-inner { gap: 7%; }
}
@media (max-width: 760px) {
  .kahve-header { display: flex; flex-wrap: wrap; justify-content: space-between; min-height: 0; padding-block: 20px 14px; gap: 8px 20px; }
  .kahve-wordmark { font-size: 31px; }
  .kahve-nav { justify-content: flex-start; gap: 20px; }
  .kahve-nav a { font-size: 13px; }
  .kahve-nav .kahve-nav-plan { padding-inline: 15px; }
  .kahve-scene { display: flex; flex-direction: column; min-height: 0; background: var(--background); }
  .kahve-landscape { position: static; order: 2; z-index: auto; height: 330px; width: 100%; }
  .kahve-photo { object-position: center 70%; }
  .kahve-scene-inner { order: 1; min-height: 0; }
  .kahve-invitation { width: 100%; margin: 0; padding: 21px 0 30px; }
  .kahve-invitation h1 { font-size: clamp(50px, 9.5vw, 68px); max-width: 14ch; }
  .kahve-invitation > p { max-width: 54ch; margin-block: 21px; }
  .kahve-scene-link { margin-left: 15px; }
  .kahve-setups { padding-block: 52px 42px; }
  .kahve-section-top { display: block; margin-bottom: 27px; }
  .kahve-section-top h2, .kahve-touches h2, .kahve-visit h2 { font-size: 42px; }
  .kahve-section-top > p { max-width: 46ch; margin-top: 20px; }
  .kahve-comparison-head { display: none; }
  .kahve-comparison { border-top: 2px solid var(--accent); }
  .kahve-setup-row { grid-template-columns: 1fr 1.2fr; gap: 12px 25px; padding-block: 24px; }
  .kahve-setup-row dt { grid-column: 1 / -1; font-size: 29px; }
  .kahve-setup-row dd { font-size: 15px; line-height: 1.65; }
  .kahve-comparison-action { text-align: left; }
  .kahve-touches, .kahve-visit { padding-block: 52px; }
  .kahve-touches-inner, .kahve-visit-inner { grid-template-columns: 1fr; gap: 31px; }
  .kahve-touches-copy h2 { max-width: 15ch; }
  .kahve-touches-copy > p { max-width: 48ch; }
  .kahve-touch summary { min-height: 74px; font-size: 26px; }
  .kahve-inquiry { padding-block: 54px; }
  .kahve-planner-intro { text-align: left; margin-bottom: 28px; }
  .kahve-planner-intro h2 { font-size: 48px; }
  .kahve-planner-intro p { margin-left: 0; max-width: 46ch; font-size: 15px; }
  .kahve-planner { padding: 25px 25px 15px; }
  .kahve-visit .location-book { padding: 25px 0 0; border-left: 0; border-top: 2px solid var(--accent); }
}
@media (max-width: 440px) {
  .kahve-header { display: block; }
  .kahve-wordmark { font-size: 30px; }
  .kahve-nav { margin-top: 10px; justify-content: space-between; }
  .kahve-nav a { font-size: 13px; }
  .kahve-invitation h1 { font-size: 51px; max-width: 12ch; }
  .kahve-invitation > p { font-size: 15px; }
  .kahve-invitation > .button { width: 100%; }
  .kahve-scene-link { margin: 5px 0 0; }
  .kahve-landscape { height: 245px; }
  .kahve-section-top h2, .kahve-touches h2, .kahve-visit h2 { font-size: 37px; }
  .kahve-setup-row { grid-template-columns: 1fr; gap: 8px; }
  .kahve-setup-row dt { margin-bottom: 4px; }
  .kahve-setup-note { max-width: 36ch; }
  .kahve-planner { padding: 23px 20px 14px; }
  .kahve-planner-intro h2 { font-size: 44px; }
  .kahve-planner .field-pair { grid-template-columns: 1fr; gap: 0; }
  .kahve-touch summary { font-size: 24px; }
  .kahve-visit .location-panel h3 { font-size: 29px; }
}
