/* About Vivek — a personal introduction with deliberately modest titles. */
.about-vivek{--av-gold:#c8b4ff;--av-pearl:#f4eef8;position:relative;background:#10071c;color:var(--av-pearl);padding:105px var(--gutter,5.6vw);scroll-margin-top:0;isolation:isolate}
.about-vivek:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 11% 35%,#49265833,transparent 58%);pointer-events:none}
.av-inner{max-width:1200px;margin:0 auto}
.av-eyebrow{font-size:.67rem;line-height:1.7;letter-spacing:.11em;text-transform:uppercase;color:var(--av-gold);margin:0 0 38px}
.av-layout{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.2fr);gap:clamp(45px,7vw,105px);align-items:start}
.av-portrait{margin:0;max-width:420px;position:relative}
.av-photo-frame{position:relative;aspect-ratio:4/5;background:#291537;overflow:hidden;border:1px solid #c8b4ff30}
.av-photo-frame:after{content:"";position:absolute;inset:12px;border:1px solid #c8b4ff33;pointer-events:none}
.av-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.av-portrait figcaption{display:flex;flex-direction:column;gap:7px;padding-top:21px;font-size:.76rem;line-height:1.65;color:#bcaecb}
.av-portrait figcaption strong{font-size:1rem;letter-spacing:.025em;font-weight:600;color:var(--av-pearl)}
.av-portrait figcaption .av-location{padding-top:7px;color:#93839f;font-size:.68rem}
.av-story{padding-top:3px;max-width:620px}
.about-vivek .av-story h2{font-size:clamp(25px,2.3vw,30px);line-height:1.3;font-weight:500;letter-spacing:-.025em;margin:0 0 24px}
.av-story>p{font-size:.94rem;line-height:1.85;color:#c6b8d3;margin:0 0 20px;max-width:58ch}
.av-story>p.av-opening{color:#e2d8ea}
.av-story blockquote{margin:28px 0;padding:3px 0 3px 20px;border-left:1px solid var(--av-gold);font-size:clamp(18px,1.7vw,23px);line-height:1.5;font-weight:400;letter-spacing:-.015em;color:var(--av-gold)}
.av-details{margin:31px 0 0;padding:19px 0;border-top:1px solid #c8b4ff2b;border-bottom:1px solid #c8b4ff2b;display:grid;gap:12px}
.av-details>div{display:grid;grid-template-columns:125px 1fr;gap:20px;font-size:.75rem;line-height:1.6}
.av-details dt{color:var(--av-gold);font-weight:500}.av-details dd{margin:0;color:#aa9ab9}
.av-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:27px}
.av-email{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:11px 0;border-bottom:1px solid #c8b4ff88;font-size:.82rem;color:var(--av-gold);min-height:44px}
.av-email>span{font-size:19px;transition:transform .25s ease}.av-email:hover>span{transform:translate(2px,-2px)}
.av-intro{display:inline-flex;align-items:center;gap:10px;padding:11px 0;min-height:44px;font:inherit;font-size:.7rem;line-height:1.6;color:#b2a2c2;text-align:left;cursor:pointer;border:0;background:transparent}
.av-intro>span{font-size:18px;color:var(--av-gold)}.av-intro:hover{color:var(--av-pearl)}
.av-email:focus-visible,.av-intro:focus-visible{outline:2px solid var(--av-gold);outline-offset:5px}
html[lang="ta"] .av-eyebrow{letter-spacing:0;text-transform:none;font-size:.7rem}
html[lang="ta"] .about-vivek .av-story h2{font-size:clamp(23px,2vw,28px);line-height:1.65;letter-spacing:0}
html[lang="ta"] .av-story>p{font-size:.87rem;line-height:2.05}
html[lang="ta"] .av-story blockquote{font-size:clamp(17px,1.55vw,21px);line-height:1.8;letter-spacing:0}
html[lang="ta"] .av-portrait figcaption{font-size:.68rem;line-height:1.9}
html[lang="ta"] .av-details>div{font-size:.68rem;grid-template-columns:115px 1fr}
html[lang="ta"] .av-actions{gap:18px}
html[lang="ta"] .av-email{font-size:.72rem;gap:23px}
html[lang="ta"] .av-intro{font-size:.63rem;max-width:240px}
@media(max-width:900px){.about-vivek{padding-top:80px;padding-bottom:80px}.av-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:35px}.av-story>p{font-size:.89rem}.av-details>div{grid-template-columns:105px 1fr;gap:15px}.av-actions{gap:17px}html[lang="ta"] .av-layout{grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr)}html[lang="ta"] .av-story>p{font-size:.8rem}html[lang="ta"] .av-details>div{grid-template-columns:1fr;gap:3px}}
@media(max-width:700px){.about-vivek{padding-top:65px;padding-bottom:65px}.av-eyebrow{margin-bottom:28px}.av-layout{grid-template-columns:1fr;gap:36px}.av-portrait{width:min(100%,400px);margin:0;max-width:100%}.av-photo-frame:after{inset:10px}.av-portrait figcaption{padding-top:17px}.av-story{max-width:none;padding-top:0}.about-vivek .av-story h2{font-size:22px;line-height:1.4;margin-bottom:21px}.av-story>p{font-size:.92rem;line-height:1.85}.av-story blockquote{font-size:20px;margin:25px 0;padding-left:17px}.av-details>div{grid-template-columns:115px 1fr}.av-actions{gap:20px}html[lang="ta"] .av-layout{grid-template-columns:1fr}html[lang="ta"] .about-vivek .av-story h2{font-size:22px;line-height:1.7}html[lang="ta"] .av-story>p{font-size:.85rem}html[lang="ta"] .av-details>div{grid-template-columns:105px 1fr;gap:15px}}
@media(max-width:380px){.av-eyebrow{font-size:.6rem}.av-story blockquote{font-size:18px}.av-details>div{font-size:.7rem;grid-template-columns:100px 1fr}.av-actions{align-items:flex-start;flex-direction:column;gap:8px}html[lang="ta"] .av-details>div{grid-template-columns:1fr;gap:3px}}
@media(prefers-reduced-motion:reduce){.av-email>span{transition:none}}
.motion-paused .av-email>span{transition:none}

/* The photograph remains a still portrait; motion belongs to its frame. */
.av-motion-ready .av-portrait{isolation:isolate}
.av-motion-ready .av-portrait:before{content:"";position:absolute;inset:7% -8% 20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 27% 30%,#c8b4ff36,transparent 62%),radial-gradient(ellipse at 78% 74%,#9652c75c,transparent 65%);filter:blur(24px);opacity:.32;animation:av-halo-breathe 8s ease-in-out infinite;animation-play-state:paused}
.av-motion-ready .av-photo-frame{transform:perspective(950px) rotateX(var(--av-tilt-x,0deg)) rotateY(var(--av-tilt-y,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1);transform-origin:50% 50%;backface-visibility:hidden}
.av-motion-ready .av-photo-frame:before{content:"";position:absolute;inset:-35% auto -35% -75%;width:48%;z-index:2;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,231,181,.05) 25%,rgba(255,236,197,.18) 50%,rgba(255,231,181,.05) 75%,transparent);opacity:0;transform:translateX(-60%) rotate(-18deg);animation:av-light-sweep 11s ease-in-out infinite;animation-play-state:paused}
.av-motion-ready .av-photo-frame:after{z-index:3}
.av-can-move .av-portrait-live:before,.av-can-move .av-portrait-live .av-photo-frame:before{animation-play-state:running}
.av-can-move .av-portrait.av-entrance-play{animation:av-portrait-enter .95s cubic-bezier(.22,1,.36,1) both}
.av-can-move .av-story.av-entrance-play{animation:av-story-enter .85s .13s cubic-bezier(.22,1,.36,1) both}
.av-can-move .av-portrait.av-tilting .av-photo-frame{transition-duration:.13s;will-change:transform}
@keyframes av-portrait-enter{from{opacity:.15;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes av-story-enter{from{opacity:.2;transform:translate3d(0,16px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes av-halo-breathe{0%,100%{opacity:.26;transform:scale(.985)}50%{opacity:.43;transform:scale(1.035)}}
@keyframes av-light-sweep{0%,8%{opacity:0;transform:translateX(-60%) rotate(-18deg)}14%{opacity:.8}29%{opacity:.5;transform:translateX(430%) rotate(-18deg)}34%,100%{opacity:0;transform:translateX(430%) rotate(-18deg)}}
.av-motion-ready:not(.av-can-move) .av-portrait:before,.av-motion-ready:not(.av-can-move) .av-photo-frame:before,
.intro-active .av-motion-ready .av-portrait:before,.intro-active .av-motion-ready .av-photo-frame:before,
.page-hidden .av-motion-ready .av-portrait:before,.page-hidden .av-motion-ready .av-photo-frame:before{animation-play-state:paused!important}
.motion-paused .av-motion-ready .av-photo-frame{transform:none;transition:none}
.motion-paused .av-motion-ready .av-portrait,.motion-paused .av-motion-ready .av-story{opacity:1;transform:none;animation:none}
.motion-paused .av-motion-ready .av-photo-frame:before{opacity:0;animation:none}
.motion-paused .av-motion-ready .av-portrait:before{animation:none;opacity:.26;transform:none}
@media(prefers-reduced-motion:reduce){
  .av-motion-ready .av-portrait,.av-motion-ready .av-story{animation:none!important;opacity:1!important;transform:none!important}
  .av-motion-ready .av-photo-frame{transform:none!important;transition:none!important}
  .av-motion-ready .av-photo-frame:before{animation:none!important;opacity:0!important}
  .av-motion-ready .av-portrait:before{animation:none!important;opacity:.26;transform:none!important}
}
