/* Compact square service cards; without JS the descriptions stay visible. */
html[data-theme] .offerings-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));max-width:1040px;gap:16px}
.service-flip{min-width:0;perspective:1000px}.service-turn{height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.service-face{background:#090909;border:1px solid #4a4130;padding:22px;color:#f7f6f2}
.service-front{display:none}.service-back h3{font-size:17px;line-height:1.3;margin:0 0 12px;letter-spacing:-.3px}.service-back p{color:#bbb8b0;font-size:13px;line-height:1.6;margin:0 0 16px}
.service-back a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#e2d1a9;border-top:1px solid #423b2c;padding-top:12px}.service-close{display:none}
.flip-ready .service-flip{aspect-ratio:1}.flip-ready .service-turn{position:relative}.flip-ready .service-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:auto;scrollbar-width:thin;scrollbar-color:#736343 #090909}
.flip-ready .service-front{display:block;padding:0}.flip-ready .service-back{transform:rotateY(180deg)}.flip-ready .service-flip.is-flipped .service-turn{transform:rotateY(180deg)}
.service-open{width:100%;height:100%;border:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:flex-start;text-align:left;justify-content:center;gap:20px;padding:24px;cursor:pointer}
.service-open:hover{background:#15130e}.service-open .offering-icon{width:28px;height:28px;background:transparent;border:0;color:#c6ae77}.service-open .offering-icon svg{width:22px;height:22px}.service-title{font-size:20px;line-height:1.2;font-weight:400;letter-spacing:-.5px}.service-hint{font-size:10px;color:#b9a36b;border-bottom:1px solid #6a5a38;padding-bottom:5px}
.flip-ready .service-close{display:block;margin-top:15px;padding:7px 0;border:0;background:transparent;color:#b8b6b0;text-decoration:underline;font-size:11px;cursor:pointer}
.service-open:focus-visible{outline:2px solid #e2d1a9;outline-offset:-4px}.service-face:focus-within{border-color:#c6ae77}
.team-portrait{display:block;width:min(100%,280px);height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;margin:0 0 24px;border:1px solid #50452f}
html[data-theme] .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){html[data-theme] .offerings-grid{grid-template-columns:1fr;max-width:270px;margin-inline:auto;gap:14px}.service-open{padding:24px;gap:18px}.service-title{font-size:20px}.service-face{padding:20px}.flip-ready .service-front{padding:0}.team-portrait{width:min(100%,260px)}html[data-theme] .partner-grid{grid-template-columns:1fr}}
@media(max-width:380px){html[data-theme] .offerings-grid{grid-template-columns:1fr;max-width:270px;margin-inline:auto}.service-open{padding:24px;gap:20px}.service-title{font-size:20px}.service-face{padding:20px}.service-front{padding:0}.service-back p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.service-turn{transition:none}}
/* Expanded backs grow with their explanations, including translated text. */
html[data-theme] .offerings-grid{align-items:start}
.flip-ready .service-flip.is-flipped{aspect-ratio:auto;min-height:270px}
.flip-ready .service-flip.is-flipped .service-back{position:relative;overflow:visible;min-height:270px}
.service-explanation h4{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--gold);font-weight:600;margin:20px 0 7px}
.service-explanation p{font-size:14px;line-height:1.65;margin:0 0 16px}
.service-back:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
