/* Use the same content edges for the hero and every section beneath it. */
@media(min-width:761px){
 .home .service-section .service-card h3 { font-weight:450;letter-spacing:-.015em;line-height:1.45; }
}
.home .modern-hero {
 width:88%;max-width:1280px;margin-inline:auto;padding:36px 0 55px;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center;
}
.home .hero-text { min-width:0;padding-block:24px; }
.home .hero-text h1 { font-size:clamp(2.25rem,4.5vw,4.6rem);line-height:1.12;letter-spacing:-.055em; }
.home .hero-title-line { white-space:nowrap; }
.home .hero-frame { width:100%;max-width:540px;justify-self:end; }
.home .hero-frame figcaption { align-items:baseline;flex-wrap:wrap;gap:8px 16px; }
.home .hero-frame figcaption>a { margin-left:auto; }
.home .hero-booking-actions { flex-direction:row;gap:12px;align-items:stretch; }
.home .hero-booking-actions .button { padding:14px 18px;font-size:.9375rem; }
.home .hero-address { margin-top:34px; }

/* One SVG child, no hidden text row or inline baseline inside the circle. */
.home .service-section .card-link {
 display:flex;align-items:center;justify-content:center;gap:0;
 padding:0;margin:0;width:36px;height:36px;line-height:0;font-size:0;
 flex-shrink:0;align-self:center;justify-self:end;
}
.home .service-section .card-link .link-arrow,
.home .service-section .service-card:hover .card-link .link-arrow {
 display:block;width:18px;height:18px;min-width:0;margin:0;padding:0;
 transform:none;vertical-align:initial;
}
.home .service-section .service-card:hover .card-link { background:rgba(255,255,255,.45);border-color:#a7834a; }
@media(max-width:760px) {
 .home .modern-hero { width:90%;grid-template-columns:minmax(0,1fr);padding:25px 0 38px;gap:26px; }
 .home .hero-text { padding:8px 0 0; }
 .home .hero-text h1 { font-size:clamp(2rem,9.4vw,3.4rem);line-height:1.13; }
 .home .hero-frame { max-width:440px;justify-self:center; }
 .home .hero-booking-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
 .home .hero-booking-actions .button { padding:13px 10px;min-height:48px;font-size:.875rem; }
 .home .hero-booking-actions .button:last-child { grid-column:1/-1; }
 .home .hero-address { margin-top:26px; }
 .home .service-section .card-link { width:29px;height:29px; }
 .home .service-section .card-link .link-arrow,
 .home .service-section .service-card:hover .card-link .link-arrow { width:16px;height:16px;min-width:0; }
 .home .service-section .service-card h3 { overflow-wrap:break-word; }
}

/* Four balanced contact/profile actions with a clear Instagram invitation. */
.home .hero-booking-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.home .hero-booking-actions .button:last-child { grid-column:auto; }
.home .hero-instagram-note { margin:13px 0 0;font-size:.8125rem;line-height:1.6;color:#79664e;max-width:42ch; }
@media(max-width:760px){
 .home .hero-booking-actions { gap:10px; }
 .home .hero-instagram-note { font-size:.75rem;margin-top:12px; }
}

/* The same three profiles are visible on desktop, tablet and mobile. */
.home .home-people-responsive { display:block;padding-block:0 65px; }
.home .home-people-responsive .people-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:28px; }
.home .home-people-responsive .person-photo { max-width:340px;margin-inline:auto; }
.home .home-people-responsive .person-copy { text-align:center; }
.home .home-people-responsive .person-role { min-height:0;margin-bottom:0;line-height:1.6; }
.home .home-people-responsive .team-more { display:table;margin:30px auto 0; }
@media(max-width:650px) {
 .home .home-people-responsive { padding-bottom:40px; }
 .home .home-people-responsive>h2 { font-size:clamp(1.9rem,7vw,2.3rem);margin-bottom:28px; }
 .home .home-people-responsive .people-grid { grid-template-columns:minmax(0,1fr);gap:26px; }
 .home .home-people-responsive .person { display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:22px;align-items:center; }
 .home .home-people-responsive .person-photo { width:100%;max-width:160px; }
 .home .home-people-responsive .person-copy { padding:0;text-align:left; }
 .home .home-people-responsive .person-copy h3 { font-size:1.75rem;margin-bottom:8px; }
 .home .home-people-responsive .person-role { font-size:.875rem;overflow-wrap:break-word; }
 .home .home-people-responsive .team-more { width:auto;max-width:100%;font-size:.875rem; }
}

/* Blend only the logo paper, never the footer-colored wrapper itself. */
@media(min-width:761px) {
 .home footer .logo-image {
  background:var(--footer-surface);mix-blend-mode:normal;isolation:isolate;
 }
 .home footer .logo-image img {
  mix-blend-mode:darken;filter:brightness(1.08);
 }
}
