.author {
  position:relative;
  overflow:hidden;
  padding:94px 0 100px;
  background:
    radial-gradient(circle at 96% 13%,rgba(204,244,238,.75) 0 150px,transparent 151px),
    linear-gradient(135deg,#f5fcfb 0%,#fffaf5 52%,#fffdf9 100%);
}

.author::before {
  position:absolute;
  top:72px;
  left:-30px;
  width:138px;
  height:138px;
  border:24px solid rgba(255,199,148,.22);
  border-radius:50%;
  content:"";
}

.author__inner {
  display:grid;
  grid-template-columns:minmax(380px,.84fr) minmax(0,1.16fr);
  align-items:center;
  gap:76px;
}

.author__visual {
  position:relative;
  display:grid;
  min-height:590px;
  place-items:end center;
  isolation:isolate;
}

.author__visual::before {
  position:absolute;
  z-index:-2;
  bottom:21px;
  width:min(100%,470px);
  aspect-ratio:1;
  border-radius:50% 50% 42% 42%;
  background:linear-gradient(145deg,#bcece6,#e9f8f4);
  content:"";
}

.author__image {
  position:relative;
  z-index:0;
  display:block;
  width:min(100%,355px);
  height:540px;
  margin-bottom:21px;
  border:7px solid rgba(209,244,239,.96);
  border-radius:180px 180px 28px 28px;
  object-fit:cover;
  object-position:center top;
  box-shadow:
    0 0 0 4px rgba(8,158,152,.12),
    0 22px 30px rgba(8,81,77,.18);
}

.author__visual-dots {
  position:absolute;
  top:35px;
  left:7px;
  width:103px;
  height:78px;
  opacity:.85;
  background:radial-gradient(circle,#92dcd3 3px,transparent 4px) 0 0 / 24px 24px;
}

.author__visual-orbit {
  position:absolute;
  z-index:-1;
  border:2px solid rgba(255,120,61,.38);
  border-radius:50%;
}

.author__visual-orbit--one { top:83px; right:0; width:94px; height:94px; }
.author__visual-orbit--two { right:20px; bottom:61px; width:58px; height:58px; border-color:rgba(8,158,152,.34); }

.author__photo-label,
.author__experience {
  position:absolute;
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 12px 27px rgba(43,66,64,.1);
}

.author__photo-label {
  bottom:0;
  left:0;
  padding:13px 18px;
  border-radius:13px;
  background:#fff;
  color:#52647b;
  font-size:13px;
  font-weight:700;
}

.author__photo-label span { color:#ff642f; font-size:20px; vertical-align:-2px; }

.author__experience {
  top:155px;
  right:-6px;
  padding:15px 18px;
  border-radius:16px;
  background:#087f7b;
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.28;
}

.author__experience strong { font-size:31px; line-height:1; }

.author__content { max-width:710px; }
.author__eyebrow { margin:0 0 12px; color:#079e98; font-size:14px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; }

.author h2 {
  margin:0;
  color:var(--ink);
  font-size:52px;
  font-weight:800;
  line-height:1.06;
  letter-spacing:-2.8px;
}

.author h2 em { color:#ff6035; font-style:normal; }

.author__lead {
  max-width:630px;
  margin:18px 0 25px;
  color:#53647b;
  font-size:20px;
  font-weight:600;
  line-height:1.42;
  letter-spacing:-.65px;
}

.author__points { display:grid; gap:12px; margin:0; padding:0; list-style:none; }

.author__points li {
  position:relative;
  padding:13px 17px 13px 51px;
  border:1px solid rgba(9,38,61,.06);
  border-radius:12px;
  background:rgba(255,255,255,.7);
  color:#53647b;
  font-size:14px;
  line-height:1.44;
}

.author__points li::before {
  position:absolute;
  top:15px;
  left:15px;
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:50%;
  background:#d9f6f2;
  color:#079e98;
  content:"✓";
  font-size:15px;
  font-weight:800;
}

.author__points strong { color:var(--ink); font-weight:800; }

.author__quote {
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:19px;
  padding:16px 20px;
  border-radius:14px;
  background:linear-gradient(90deg,#e5f8f5,#f2faf8);
}

.author__quote > span { color:#ff6734; font-size:45px; font-weight:800; line-height:.65; }
.author__quote p { margin:0; color:#17445d; font-size:15px; font-weight:800; line-height:1.42; }

@media (max-width:1100px) {
  .author__inner { grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr); gap:42px; }
  .author__visual { min-height:530px; }
  .author h2 { font-size:45px; }
  .author__lead { font-size:18px; }
  .author__points { gap:9px; }
  .author__points li { padding:11px 13px 11px 45px; font-size:13px; }
  .author__points li::before { top:12px; left:12px; }
}

@media (max-width:900px) {
  .author { padding:71px 0 76px; }
  .author__inner { grid-template-columns:1fr; gap:31px; max-width:670px; }
  .author__visual { order:2; min-height:485px; max-width:480px; margin:auto; }
  .author__content { max-width:none; }
  .author h2 { font-size:44px; }
}

@media (max-width:600px) {
  .author { padding:52px 0 56px; }
  .author::before { top:15px; left:-50px; width:105px; height:105px; border-width:18px; }
  .author__inner { gap:26px; }
  .author__eyebrow { margin-bottom:9px; font-size:11px; }
  .author h2 { font-size:36px; letter-spacing:-1.8px; }
  .author__lead { margin:13px 0 18px; font-size:16px; }
  .author__points { gap:8px; }
  .author__points li { padding:10px 11px 10px 40px; border-radius:10px; font-size:12px; line-height:1.42; }
  .author__points li::before { top:11px; left:10px; width:21px; height:21px; font-size:13px; }
  .author__quote { gap:9px; margin-top:14px; padding:13px; border-radius:11px; }
  .author__quote > span { font-size:35px; }
  .author__quote p { font-size:13px; }
  .author__visual { min-height:382px; width:100%; }
  .author__visual::before { bottom:16px; width:315px; }
  .author__image { width:265px; height:358px; margin-bottom:16px; border-width:5px; border-radius:135px 135px 22px 22px; }
  .author__visual-dots { top:21px; left:10px; transform:scale(.72); transform-origin:top left; }
  .author__experience { top:76px; right:4px; padding:11px 13px; border-radius:12px; font-size:11px; }
  .author__experience strong { font-size:24px; }
  .author__photo-label { bottom:0; left:0; padding:10px 12px; border-radius:10px; font-size:11px; }
  .author__photo-label span { font-size:16px; }
  .author__visual-orbit--one { top:38px; right:4px; width:61px; height:61px; }
  .author__visual-orbit--two { right:9px; bottom:46px; width:42px; height:42px; }
}