/* Authoritative domain-card geometry: predictable at every browser zoom. */
#expertise{
  position:relative;
  background-color:#f2efe7;
  background-image:
    radial-gradient(circle at 13% 12%,rgba(182,145,85,.13),transparent 30%),
    radial-gradient(circle at 89% 78%,rgba(138,105,58,.10),transparent 32%),
    repeating-linear-gradient(135deg,rgba(123,100,66,.028) 0,rgba(123,100,66,.028) 1px,transparent 1px,transparent 9px),
    linear-gradient(115deg,#f7f5ef 0%,#ece8df 50%,#f5f2eb 100%);
}
#expertise::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);opacity:.55}
#expertise>*{position:relative;z-index:1}
.domain-grid{width:min(100%,1240px);margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.domain{width:100%;min-width:0;min-height:0;aspect-ratio:1/1;display:grid;grid-template-rows:66% 34%;padding:0;overflow:hidden;border:1px solid #aa8954;background:#f7f4ec;box-shadow:0 9px 23px rgba(82,62,32,.13),inset 0 0 0 1px rgba(255,240,205,.35);transition:transform .3s,box-shadow .35s,border-color .35s}
.domain::after{content:'';position:absolute;inset:-90% -65%;pointer-events:none;background:linear-gradient(115deg,transparent 44%,rgba(255,230,171,.68) 49%,rgba(255,250,231,.92) 50%,rgba(205,157,78,.48) 52%,transparent 57%);opacity:0;transform:translateX(-45%);z-index:4}
.domain:hover,.domain:focus-visible{border-color:#e2bf78;box-shadow:0 17px 34px rgba(75,53,23,.22),0 0 0 1px rgba(222,180,103,.72),0 0 22px rgba(218,186,131,.22)}
.domain:hover::after,.domain:focus-visible::after{opacity:.72;animation:card-gold-sheen 1.05s ease-out forwards}
@keyframes card-gold-sheen{from{transform:translateX(-45%)}to{transform:translateX(48%)}}
.domain-photo{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;display:block}
.domain-body{width:100%;height:100%;min-height:0;padding:14px 13px 12px;display:grid;grid-template-columns:32px minmax(0,1fr) 20px;grid-template-rows:auto 1fr;align-content:start;gap:7px}
.domain .num{font-size:19px;line-height:1.2;font-weight:800}
.domain h3{margin:0;max-width:none;font-size:clamp(17px,1.35vw,21px);line-height:1.16;font-weight:750}
.domain .arrow{position:static;grid-column:3;grid-row:1;align-self:start;font-size:21px;line-height:1.1}
.domain p{grid-column:2/4;margin:0;max-width:none;font-size:14px;line-height:1.35;color:#4d5254}
@media(max-width:900px){
  .domain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .domain h3{font-size:clamp(17px,2.25vw,21px)}
}
@media(max-width:560px){
  .domain-grid{gap:13px 10px}
  .domain{grid-template-rows:61% 39%}
  .domain-body{padding:9px 7px 8px;grid-template-columns:25px minmax(0,1fr);grid-template-rows:auto 1fr;gap:5px}
  .domain .num{font-size:16px}
  .domain h3{font-size:clamp(14px,4vw,17px);line-height:1.13}
  .domain .arrow{display:none}
  .domain p{grid-column:1/-1;font-size:12px;line-height:1.25}
}
@media(max-width:360px){
  .domain-grid{grid-template-columns:1fr;max-width:300px}
  .domain{grid-template-rows:64% 36%}
  .domain-body{grid-template-columns:28px minmax(0,1fr) 18px;padding:11px 9px}
  .domain .num{font-size:18px}
  .domain h3{font-size:18px}
  .domain .arrow{display:block;grid-column:3;grid-row:1}
  .domain p{grid-column:2/4;font-size:13px}
}
