:root{
  --ink:#111;
  --soft:#555;
  --line:#e4e2de;
  --paper:#fff;
  --serif:'Libre Caslon Text','Times New Roman',serif;
  --sans:'Montserrat','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
ul{list-style:none}

.wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.portrait{position:sticky;top:0;height:100vh;overflow:hidden;background:#e9e8e4}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}

.col{padding:clamp(48px,7vh,88px) clamp(28px,5vw,80px) 56px;text-align:center;display:flex;flex-direction:column;align-items:center}
.col>*{width:100%;max-width:520px}
.col>section,.col>footer{padding:44px 0;border-top:1px solid var(--line)}

h1{font-weight:700;text-transform:uppercase;line-height:1}
h1 .nm{display:block;font-size:clamp(40px,4.6vw,64px);letter-spacing:.04em}
h1 .role{display:block;margin-top:14px;font-size:clamp(17px,1.6vw,21px);letter-spacing:.32em;padding-left:.32em}
.kind{margin-top:40px;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.34em;padding-left:.34em}
.motto{margin-top:18px;font-size:16px;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.24em}
.marks{display:flex;justify-content:center;align-items:center;gap:44px;margin-top:40px}
.marks img{height:auto}
.marks .sr{width:148px}
.broker{margin-top:14px;font-family:var(--sans);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.24em;color:var(--soft);padding-bottom:44px}

.facts p,.creds p{font-size:14px;text-transform:uppercase;letter-spacing:.26em;padding-left:.26em;line-height:2.2}

h2{font-size:clamp(26px,2.6vw,34px);font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.03em;line-height:1.08}
.lic .area{margin-top:16px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.26em;padding-left:.26em;line-height:2}

.contact .tel{display:block;font-size:clamp(28px,3vw,36px);font-weight:700;letter-spacing:.1em;text-decoration:none}
.contact .mail{display:block;margin-top:12px;font-size:clamp(15px,1.4vw,18px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;overflow-wrap:anywhere}
.btns{display:flex;justify-content:center;gap:10px;margin-top:28px}
.btns a{font-family:var(--sans);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;text-decoration:none;padding:13px 22px 12px;border:1.5px solid var(--ink);min-width:92px;transition:background .15s,color .15s}
.btns a:hover,.btns a:focus-visible{background:var(--ink);color:var(--paper)}
a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.tel:hover,.mail:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

.svc h2{margin-bottom:22px}
.svc li{font-size:18px;letter-spacing:.08em;line-height:2}

.marks.small{margin-top:0;gap:40px}
.marks.small img:first-child{width:128px}
.marks.small img:last-child{width:62px}
.trec{margin-top:34px;display:grid;gap:12px}
.trec a{font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.45;text-underline-offset:3px}
.fine{margin-top:28px;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}

@media (max-width:900px){
  .wrap{grid-template-columns:1fr}
  .portrait{position:relative;height:auto;aspect-ratio:4/4.3}
  .portrait img{object-position:50% 35%}
  .col{padding:44px 22px 48px}
  .col>section,.col>footer{padding:36px 0}
  .kind{margin-top:30px;font-size:14px;letter-spacing:.28em;padding-left:.28em}
  .motto{font-size:15px;letter-spacing:.2em}
  .marks{gap:32px;margin-top:30px}
  .broker{padding-bottom:36px}
  .facts p,.creds p,.lic .area{font-size:13px;letter-spacing:.2em;padding-left:.2em}
  .contact .mail{font-size:15px;letter-spacing:.08em}
  .svc li{font-size:17px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
