
/* v7.6 Representation refinements */
.representation-banner .wrap{padding-block:56px 54px}
.representation-banner h1{font-size:clamp(2.2rem,4.6vw,3.8rem);margin-bottom:.22em}
.representation-banner p:not(.overline){max-width:58ch}
.representation-shell{padding-top:34px;padding-bottom:36px}
.representation-hero,.representation-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.representation-intro,.representation-card,.representation-details,.representation-side .side-panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(10,28,39,.05)}
.representation-intro,.representation-card,.representation-details,.representation-side .side-panel{padding:26px 28px}
.representation-intro h2{font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.06;margin:.2em 0 .38em;max-width:14ch}
.representation-intro p{max-width:56ch}
.representation-actions{margin-top:18px}
.representation-card .card-label{margin-bottom:8px}
.representation-email{font-size:clamp(1.6rem,2vw,2.15rem);line-height:1.1;margin-bottom:12px}
.representation-points{margin:16px 0 0;padding-left:22px}
.representation-points li{margin:8px 0}
.representation-content{margin-top:22px}
.representation-details h2{font-size:clamp(2rem,3.5vw,2.9rem);line-height:1.08;margin:0 0 22px}
.representation-details h3{font-size:clamp(1.5rem,2vw,1.9rem);margin:0 0 18px}
.representation-details p{margin:.8em 0}
.representation-details p strong{display:inline-block;min-width:82px}
.representation-affiliation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.representation-affiliation-text{margin:0;flex:1 1 auto}
.representation-osa-logo{width:84px;max-width:24vw;height:auto;display:block;flex:0 0 auto;border-radius:12px;box-shadow:0 4px 14px rgba(15,41,54,.08)}
.representation-side .side-panel{min-height:100%;display:flex;flex-direction:column}
.representation-side a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-weight:700}
.representation-side a:last-child{border-bottom:0}
@media(max-width:980px){.representation-hero,.representation-content{grid-template-columns:1fr}.representation-side .side-panel{min-height:auto}.representation-intro,.representation-card,.representation-details,.representation-side .side-panel{padding:24px}.representation-affiliation{align-items:flex-start}.representation-osa-logo{width:72px}}
@media(max-width:620px){.representation-banner .wrap{padding-block:42px 40px}.representation-shell{padding-top:24px}.representation-intro h2,.representation-details h2{font-size:clamp(1.8rem,10vw,2.35rem)}.representation-email{font-size:1.45rem}.representation-affiliation{flex-direction:column;align-items:flex-start}.representation-osa-logo{width:64px}}

/* v7.7 Wider contact column and more balanced typography */
.representation-hero,.representation-content{grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:22px}
.representation-intro h2{font-size:clamp(1.85rem,3vw,2.65rem);max-width:22ch}
.representation-card,.representation-details,.representation-intro{min-width:0}
.representation-card .representation-person{color:#172d37;font-weight:700;font-size:1.1rem;margin:5px 0}
.representation-card .representation-email{font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:700;overflow-wrap:anywhere;word-break:normal;line-height:1.35}
.representation-card .representation-email:hover{text-decoration:underline}
.representation-details h2{font-size:clamp(1.9rem,2.8vw,2.45rem)}
@media(max-width:980px){.representation-hero,.representation-content{grid-template-columns:1fr}}

/* v7.8 — dedicated compact representation page */
.representation-banner{padding:48px 0 45px}
.representation-banner .wrap{padding:0}
.representation-banner h1{font-size:clamp(2.7rem,5vw,4rem);margin:10px 0 0}
.representation-v78{padding:44px 0 72px}
.rep78-main{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(345px,.95fr);gap:0;border:1px solid #e9e0d5;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(15,35,42,.055)}
.rep78-intro,.rep78-contact{padding:48px clamp(28px,4vw,54px)}
.rep78-intro{background:#f8f6f1}
.rep78-intro h2{font-size:clamp(2rem,3.2vw,2.95rem);line-height:1.13;max-width:16ch;margin:12px 0 23px}
.rep78-intro>p:last-child{color:#596568;font-size:1.04rem;max-width:48ch;line-height:1.78;margin:0}
.rep78-contact h3{font-family:Georgia,serif;font-size:clamp(1.65rem,2.2vw,2.3rem);margin:12px 0 24px}
.rep78-contact-lines{display:grid;gap:19px}
.rep78-contact-lines a{display:flex;flex-direction:column;gap:3px;text-decoration:none;max-width:100%}
.rep78-contact-lines a span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#7c8588;font-weight:700}
.rep78-contact-lines a strong{font-size:clamp(.98rem,1.45vw,1.18rem);color:#26383e;font-weight:650;overflow-wrap:anywhere}
.rep78-contact-lines a:hover strong{text-decoration:underline}
.rep78-button{margin-top:27px;gap:26px}
.rep78-osa{margin-top:23px;display:flex;align-items:center;gap:17px;padding:17px 22px;background:#fff;border:1px solid #eee7dd;border-radius:12px;color:#667176;font-size:.92rem}
.rep78-osa img{width:48px;height:48px;object-fit:contain;flex:0 0 48px;border-radius:50%}
.rep78-osa p{margin:0;line-height:1.5}
@media(max-width:780px){.rep78-main{grid-template-columns:1fr}.rep78-intro,.rep78-contact{padding:30px}.rep78-contact{border-top:1px solid #e9e0d5}.representation-v78{padding:25px 0 50px}}

.rep78-contact-lines a strong{overflow-wrap:anywhere;word-break:normal}.rep78-contact-lines a{padding:2px 0}.rep78-contact h3{margin-bottom:22px}
