/* Approved navigation and services layout. */
.home .service-section { padding-block: 64px 80px; }
.home .service-section .service-grid { display: block; border-top: 1px solid #cbb79a; }
.home .service-section .service-card,
.home .service-section .service-card:nth-child(n+5) {
  display: grid;
  grid-template-columns: 42px minmax(0,1.15fr) minmax(180px,.8fr) 38px;
  grid-template-rows: auto;
  gap: 28px;
  align-items: center;
  padding: 30px 12px;
  border-bottom: 1px solid #cbb79a;
  transition: background .2s ease;
}
.home .service-section .service-symbol { grid-area: 1 / 1; width: 38px; height: 38px; }
.home .service-section .service-symbol img { width: 38px; height: 38px; }
.home .service-section .service-card h3 {
  grid-area: 1 / 2;
  font: 400 clamp(1.35rem,2.25vw,2rem)/1.35 Georgia,serif;
  letter-spacing: -.025em;
  hyphens: none;
  overflow-wrap: normal;
  margin: 0;
}
.home .service-section .service-card h3 wbr { display: none; }
.home .service-section .service-card p {
  grid-area: 1 / 3;
  font: 400 .9375rem/1.6 Manrope,sans-serif;
  margin: 0;
}
.home .service-section .card-link { grid-area: 1 / 4; justify-self: end; }
.home .service-section .card-link .link-arrow { width: 28px; height: 28px; transform: rotate(45deg); transition: transform .2s ease; }
.home .service-section .service-card:hover { background: #e7dbc9; }
.home .service-section .service-card:hover .link-arrow { transform: translateX(4px) rotate(45deg); }
.modern-drawer { display: none; }
@media(max-width:760px) {
  .home .service-section { padding-block: 38px 48px; }
  .home .service-section .service-card,
  .home .service-section .service-card:nth-child(n+5) {
    grid-template-columns: 29px minmax(0,1fr) 23px;
    grid-template-rows: auto auto;
    gap: 6px 13px;
    padding: 22px 0;
  }
  .home .service-section .service-symbol { grid-area: 1 / 1 / 3 / 2; width: 29px; height: 29px; }
  .home .service-section .service-symbol img { width: 29px; height: 29px; }
  .home .service-section .service-card h3 { grid-area: 1 / 2; font-size: clamp(1rem,4.7vw,1.375rem); line-height: 1.4; }
  .home .service-section .service-card p { grid-area: 2 / 2; font-size: .875rem; }
  .home .service-section .card-link { grid-area: 1 / 3 / 3 / 4; }
  .home .service-section .card-link .link-arrow { width: 22px; height: 22px; }
  header.modern-menu-ready > #main-navigation,
  header.modern-menu-ready > .booking { display: none !important; }
  header.modern-menu-ready .mobile-menu-toggle { border: 0; padding: 12px 0 12px 12px; border-radius: 0; }
  .modern-drawer[open] {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0 0 0 auto;
    width: min(440px,100%);
    height: 100dvh;
    max-width: 100%;
    max-height: none;
    margin: 0;
    padding: max(22px,env(safe-area-inset-top)) 26px max(26px,env(safe-area-inset-bottom));
    border: 0;
    background: #eee4d6;
    color: #352e28;
    overflow-y: auto;
    overscroll-behavior: contain;
    font-family: Manrope,sans-serif;
    animation: drawer-in .28s ease-out;
  }
  .modern-drawer::backdrop { background: #352e2880; }
  .modern-drawer-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding-bottom: 25px; border-bottom: 1px solid #cbb79a; }
  .modern-drawer-top p { margin: 0; font-size: .8125rem; letter-spacing: .15em; color: #805a29; }
  .modern-close { display: flex; align-items: center; gap: 8px; padding: 10px 0 10px 10px; min-height: 44px; border: 0; background: transparent; color: #493424; font: 500 .875rem Manrope,sans-serif; cursor: pointer; }
  .modern-close span { font-size: 28px; line-height: 1; font-weight: 400; }
  .modern-drawer nav { display: block; padding-top: 10px; }
  .modern-drawer nav > a,
  .modern-drawer nav > details > summary { display: flex; justify-content: space-between; align-items: center; min-height: 60px; padding: 14px 0; margin: 0; border: 0; border-bottom: 1px solid #cfbea5; color: #352e28; font: 600 1.0625rem/1.5 Manrope,sans-serif; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
  .modern-drawer nav > a[aria-current] { color: #805a29; }
  .modern-drawer details { border: 0; margin: 0; padding: 0; }
  .modern-drawer summary { list-style: none; }
  .modern-drawer summary::-webkit-details-marker { display: none; }
  .modern-drawer summary::after { content: '+'; font: 400 1.5rem Manrope,sans-serif; }
  .modern-drawer details[open] > summary::after { content: '−'; }
  .modern-submenu { display: grid; gap: 2px; padding: 10px 0 18px; }
  .modern-submenu a { display: flex; align-items: center; gap: 12px; padding: 12px 0; min-height: 48px; color: #514332; font-size: 1rem; font-weight: 500; letter-spacing: .01em; line-height: 1.5; }
  .modern-submenu img { width: 25px; height: 25px; flex-shrink: 0; }
  .modern-submenu .modern-all { color: #805a29; border-bottom: 1px solid #cbb79a; width: fit-content; padding-bottom: 6px; }
  .modern-drawer-actions { padding-top: 28px; margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .modern-drawer-actions a { text-align: center; padding: 13px 8px; border: 1px solid #927447; border-radius: 4px; font: 500 .9375rem/1.5 Manrope,sans-serif; color: #493424; }
  .modern-drawer-actions .modern-book { grid-column: 1/-1; color: #fff9f0; background: #493424; border-color: #493424; }
  .modern-drawer-address { margin: 20px 0 0; font-size: .8125rem; line-height: 1.7; color: #6a5a48; }
  .modern-drawer :focus-visible { outline: 2px solid #805a29; outline-offset: 4px; }
  body.modern-drawer-open { overflow: hidden; }
}
@keyframes drawer-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media(prefers-reduced-motion:reduce) {
  .modern-drawer[open] { animation: none; }
  .home .service-section .service-card,.home .service-section .card-link .link-arrow { transition: none; }
}

/* Updated portraits: consistent framing without changing the original photos. */
.person-photo > img.new-team-portrait { position:absolute; width:150%; max-width:none; height:150%; left:-25%; top:-30%; object-fit:cover; object-position:center; filter:none; }
.person-photo > img.new-sirin-portrait { width:215%; height:215%; left:-57.5%; top:-87%; }
.modern-drawer nav > a[aria-current] { font-weight:750; }
.modern-submenu a { min-width:0; }
.modern-submenu a span { overflow-wrap:anywhere; }
