/* The Mediterranean Practice: brand layer (loaded last) */

/* Logo: traced mark + wordmark */
.tmp-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); line-height: 1; }
.tmp-mark { flex: none; display: block; color: var(--brand); }
.tmp-word { display: flex; flex-direction: column; gap: 2px; text-transform: uppercase; }
.tmp-word b { font-size: 15px; font-weight: 700; letter-spacing: .14em; }
.tmp-word small { font-size: 9.5px; font-weight: 600; letter-spacing: .32em; color: var(--muted); }
.tmp-logo.on-dark { color: #fff; }
.tmp-logo.on-dark .tmp-word small { color: rgba(255,255,255,.62); }
.brand-logo.tmp-logo { height: auto; }
.brand-logo .tmp-mark { height: 40px; width: auto; transition: height .3s ease; }
.site-header.scrolled .brand-logo .tmp-mark { height: 34px; }
.foot-logo.tmp-logo { height: auto; margin-bottom: 8px; }
.foot-logo .tmp-mark { height: 50px; width: auto; }
.foot-logo .tmp-word b { font-size: 17px; }
.drawer-logo.tmp-logo { height: auto; }
.drawer-logo .tmp-mark { height: 36px; width: auto; }

/* Practice bento: half-width cards */
.bx.w6 { grid-column: span 6; }
.bx.w4 { grid-column: span 4; }
@media (max-width: 1100px) { .bx.w6, .bx.w4 { grid-column: span 6; } }
@media (max-width: 700px) { .bx.w6, .bx.w4 { grid-column: span 12; } }

/* Cool palette for the old mauve tint */
.t-mauve { background: linear-gradient(180deg, #F2FAFB 0%, #CDEBEE 100%); }

/* Insight carousel: topic covers in place of portraits */
.sv-cover, .th-cover { width: 100%; height: 100%; position: relative; overflow: hidden; color: var(--ink); }
.sv-cover { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; padding: clamp(24px, 3vw, 40px); border-radius: 20px; min-height: 300px; }
.sv-cover .bi { position: absolute; top: clamp(24px, 3vw, 36px); left: clamp(24px, 3vw, 36px); }
.sv-cover::after { content: ""; position: absolute; right: -60px; top: -60px; width: 240px; height: 280px; background: currentColor; opacity: .07; clip-path: polygon(50% 0, 100% 52%, 50% 100%, 0 52%); }
.th-cover { display: grid; place-items: center; }
.cv-k { font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--burgundy); }
.cv-c { font-family: var(--serif); font-size: clamp(22px, 2.4vw, 34px); line-height: 1.2; max-width: 22ch; }
.cv-dispute { background: linear-gradient(160deg, #EAF6FC 0%, #BFE4F5 100%); }
.cv-employment { background: linear-gradient(160deg, #FBF7F1 0%, #EEDCC6 100%); }
.cv-corporate { background: linear-gradient(160deg, #F1F5F8 0%, #D2DEE7 100%); }
.cv-ip { background: linear-gradient(160deg, #F0FAFA 0%, #C6E9EA 100%); }
.cv-advisory { background: linear-gradient(160deg, #F6F8FA 0%, #DCE5EC 100%); }
.cv-immigration { background: linear-gradient(160deg, #EDF5FB 0%, #C9DDF0 100%); }
.cv-property { background: linear-gradient(160deg, #F7F5F0 0%, #E5DCCB 100%); }
.cv-family { background: linear-gradient(160deg, #FCF6F2 0%, #F0DCCF 100%); }
.st-th > span:has(.th-cover) { background: none; }

/* Consultation demo avatar */
.cal-av { width: 42px; height: 42px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--burgundy); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; }

/* Portrait placeholder until headshots arrive */
.pol-ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(170deg, #E9F5FB 0%, #C4E3F2 100%); color: var(--burgundy); }
.pol-ph span { font-family: var(--serif); font-size: clamp(44px, 5vw, 64px); line-height: 1; }
.pol-ph small { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }

/* Real testimonials */
.tm-grid.tm-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tm.tm-real { border-style: solid; border-color: var(--line); }
.tm.tm-real blockquote { color: var(--ink); }
.tm .tm-av { font-size: 14px; }
@media (max-width: 900px) { .tm-grid.tm-2 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  .tm { padding: 20px; gap: 14px; }
  .tm blockquote { font-size: 16.5px; }
  .pg section:has(> .tm-grid) { display: block; }
}

/* Contact hours line */
.ct-h { font-size: 13px; color: var(--muted); margin-top: 6px; }

/* Flow art: keep the sea palette */
.fl:nth-child(3) { --t1: #BFE3EA; --t2: #E8F5F7; }

/* About: values and credentials */
.values { margin-top: clamp(24px, 3vw, 40px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.value { padding: 24px; border-radius: var(--r-card, 20px); background: var(--paper, #fff); border: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.value b { font-size: 18px; }
.hist .value p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--muted); }
.memb { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .values { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .value { padding: 18px; } .memb { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .sv-cover { min-height: 0; padding: 20px; gap: 6px; } .sv-cover .bi { top: 20px; left: 20px; } .cv-c { font-size: 20px; } .sv-cover::after { width: 160px; height: 190px; } }
@media (max-width: 700px) { .leader .pol { max-width: 150px; } .leader-cred { display: none; } .values { gap: 8px; } .ab-intro .ab-l p + p { display: none; } }

/* About: featured partner card (replaces stats) */
.ab-me { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: clamp(20px, 2.4vw, 32px); align-items: center; padding: clamp(20px, 2.4vw, 30px); border: 1px solid var(--line); border-radius: var(--r-card, 20px); background: var(--paper, #fff); }
.ab-me .pol { width: 100%; }
.ab-me-c { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ab-me-c .cx-eyebrow { margin: 0; }
.ab-me-c h2 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.15; margin: 0; }
.ab-me-c .leader-r, .ab-me-c .leader-cred { margin: 0; }
.ab-me-c > p:not(.cx-eyebrow):not(.leader-r):not(.leader-cred) { margin: 4px 0 0; font-size: 15.5px; line-height: 1.6; color: var(--muted); }
.ab-me-c .leader-a { margin-top: 8px; }
@media (max-width: 1100px) and (min-width: 901px) { .ab-me { grid-template-columns: minmax(0, 1fr); } .ab-me .pol { max-width: 240px; } }
@media (max-width: 700px) { .ab-me { grid-template-columns: minmax(0, 1fr); padding: 18px; } .ab-me .pol { max-width: 200px; margin: 0 auto 6px; } }

/* Outlined brand lockup (sharp at every size) */
.tmp-lockup { display: block; height: 100%; width: auto; color: #262D38; }
.tmp-logo.on-dark .tmp-lockup { color: #fff; }
.brand-logo.tmp-logo { height: 42px; }
.site-header.scrolled .brand-logo.tmp-logo { height: 36px; }
.drawer-logo.tmp-logo { height: 38px; }
.foot-logo.tmp-logo { height: 124px; margin-bottom: 18px; }
.brand-logo.tmp-logo, .site-header.scrolled .brand-logo.tmp-logo { transition: height .3s ease; }
@media (max-width: 700px) { .brand-logo.tmp-logo { height: 36px; } .site-header.scrolled .brand-logo.tmp-logo { height: 32px; } .foot-logo.tmp-logo { height: 84px; } }
