@import url('/fonts/local.css');
:root{--ink:#2d2d2d;--paper:#e2e0d7;--rule:rgba(45,45,45,.24)}
@font-face{font-family:SpeziaSerif;src:url('/fonts/serif-400.ttf')}@font-face{font-family:Spezia;src:url('/fonts/sans-400.ttf')}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink)}a{color:inherit}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid #725a3d;outline-offset:7px}
.navbar-logo img{display:none}.navbar-logo a:after{content:'Ajay Kolli';font:32px/1 'Source Serif 4',Georgia,serif;white-space:nowrap}.menu-open .navbar-logo a:after{color:#f0ebe0}.landing-page-section .title{max-width:960px;margin-inline:auto}.personal-page{margin:0;background:radial-gradient(ellipse at 20% 0%,#ece9e0,transparent 60%),var(--paper);font:16px/1.65 Inter,Arial,sans-serif}.personal-header{height:110px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between}.wordmark{font:32px/1 'Source Serif 4',Georgia,serif;text-decoration:none}.menu-toggle{background:none;border:0;width:32px;padding:6px;cursor:pointer}.menu-toggle span{display:block;height:1px;background:currentColor;margin:5px 0}.personal-menu{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;margin:0;background:#2d2d2d;color:#efebe1;padding:0}.personal-menu::backdrop{background:#2d2d2d}.personal-menu nav{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100%;gap:20px}.personal-menu nav a{font:clamp(40px,6vw,80px)/1.2 'Source Serif 4',Georgia,serif;text-decoration:none}.personal-menu nav a:hover{opacity:.6}.menu-close{position:absolute;right:36px;top:28px;color:inherit;background:none;border:0;font:40px/1 Inter;cursor:pointer}.page-intro{text-align:center;padding:100px 24px 95px}.eyebrow{display:block;font:11px/1.5 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.page-intro h1{font:400 clamp(42px,5.8vw,82px)/1.08 'Source Serif 4',Georgia,serif;letter-spacing:-.035em;margin:32px 0}.intro-copy{max-width:760px;margin:35px auto 0;font-size:17px;line-height:1.8}.story-grid{max-width:1120px;margin:0 auto 100px;padding:50px 30px 0;display:grid;grid-template-columns:1fr 2fr;gap:70px;border-top:1px solid var(--rule)}h2{font:400 35px/1.2 'Source Serif 4',Georgia,serif;letter-spacing:-.02em}.story-grid h2{margin:0}.story-grid p{font-size:18px;line-height:1.85;margin:0 0 28px}.text-link{display:inline-flex;gap:50px;align-items:center;margin-top:24px;padding:17px 0;text-decoration:none;border-block:1px solid var(--rule);font-size:13px}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.personal-footer{display:flex;justify-content:space-between;gap:20px;padding:35px 40px;font:11px Inter,Arial,sans-serif}.experience-list{max-width:1240px;padding:0 40px;margin:auto}.experience-list article{display:grid;grid-template-columns:60px 1fr 1fr;gap:30px;border-top:1px solid var(--rule);padding:42px 0}.experience-list h2{margin:15px 0 0}.experience-list p{margin:0;max-width:440px;font-size:16px}.item-number{font:13px Inter;opacity:.6}.page-next{display:flex;width:max-content;margin:60px auto 100px}.interest-grid{max-width:1300px;padding:0 40px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.interest-grid h2{margin:16px 0}.interest-grid p{font-size:15px}.interest-art{height:300px;position:relative;overflow:hidden;margin-bottom:28px;background:#cbc9c0}.interest-art span{position:absolute;display:block}.cinema{background:#797977}.cinema span:nth-child(1){inset:35px 22px;background:#ded6bc;box-shadow:0 0 90px #eadfb4}.cinema span:nth-child(2){width:70%;height:140%;background:linear-gradient(90deg,#7c746722,transparent);transform:rotate(-30deg);left:35%;top:-10%}.cinema span:nth-child(3){height:20px;width:100%;bottom:0;background:#44413d}.orbits{background:#b9c0c3}.orbits span{border:1px solid #f2eadbb0;border-radius:50%;width:80%;height:80%;left:10%;top:10%;transform:rotate(-30deg) scaleX(.5)}.orbits span:nth-child(2){transform:rotate(30deg) scaleX(.5)}.orbits span:nth-child(3){transform:rotate(90deg) scaleX(.5)}.motion{background:#c6b8a4}.motion span{border:1px solid #eae4d8;border-radius:50%;width:260px;height:260px;top:40px;left:25px}.motion span:nth-child(2){left:80px;top:80px}.motion span:nth-child(3){left:-30px;top:0}.interest-art{transition:filter .3s}.interest-grid article:hover .interest-art{filter:brightness(1.06)}
@media(max-width:650px){.navbar-logo a:after,.wordmark{font-size:27px}.personal-header{height:85px;padding:26px 23px}.page-intro{padding:65px 24px 60px}.page-intro h1{font-size:43px}.intro-copy{font-size:15px;text-align:left}.story-grid{display:block;padding:30px 24px 0;margin-bottom:50px}.story-grid h2{margin:0 0 30px}.story-grid p{font-size:16px}.experience-list{padding:0 24px}.experience-list article{grid-template-columns:28px 1fr;gap:15px;padding:30px 0}.experience-list article p{grid-column:2;font-size:15px}.experience-list h2{font-size:29px}.interest-grid{grid-template-columns:1fr;padding:0 24px;gap:45px}.interest-art{height:300px}.personal-footer{padding:25px 24px;font-size:10px}.page-next{margin:50px auto 65px}.menu-close{right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.thesis-link{opacity:1!important}}
.landing-page-section .title{font-weight:400!important}.navbar-logo a:after{font-weight:400}
@media(min-width:900px){.landing-page-section .title{max-width:1120px;padding:0 2%;font-size:64px}}
@media(max-width:650px){.page-intro h1{font-size:38px}.landing-page-section .title{font-size:38px;padding:0 12px}}
@media(prefers-reduced-motion:reduce){.landing-page-section .up-next{opacity:1!important;transform:none!important}}
/* Villa Garden Fresco: cream fields, umber structure, olive foliage, quiet gold details. */
:root{--paper:#f4efdf;--ink:#493327;--umber:#493327;--olive:#46513b;--gold:#a1874e;--rule:#a1874e66}
body,.personal-page{background:var(--paper);color:var(--ink)}::selection{background:#a1874e55}.personal-page{background:radial-gradient(ellipse at 15% 0%,#faf6ec,transparent 70%),var(--paper)}
.personal-menu,.personal-menu::backdrop{background:var(--olive);color:var(--paper)}.personal-header,.navbar-logo a:after,.landing-page-section .title,.landing-page-section .up-next h3{color:var(--ink)!important}.personal-footer{background:var(--umber);color:var(--paper);min-height:105px;align-items:center;margin-top:60px}.personal-footer a{text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}.eyebrow{color:var(--olive)}.photo-heading .eyebrow{color:#c7bd91}.text-link{color:var(--olive)}a:focus-visible,button:focus-visible{outline-color:var(--gold)}
body.front-end{background:var(--paper)!important}.GLBackdrop{opacity:1;filter:sepia(.65) saturate(1.5);mix-blend-mode:multiply;pointer-events:none}.landing-page-section .radial-background{background:radial-gradient(ellipse at 50% 100%,#a1874e33,transparent 75%)!important;opacity:.45!important}.landing-page-section .title{font-size:clamp(30px,3.1vw,46px)!important;line-height:1.25!important;max-width:1160px!important;padding:0 40px!important;letter-spacing:-.02em}.quote-attribution{font:11px/1.6 Inter,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;text-align:center;color:var(--olive);margin:28px 0 0}.landing-page-section .thesis-link{transform:none!important;margin-top:40px}.landing-page-section .up-next .inner{border-color:var(--gold)!important}.landing-page-section .up-next .inner:before,.landing-page-section .up-next .inner:after{background:var(--gold)!important}#site-footer{background:var(--umber)!important;color:var(--paper)!important;min-height:76px;display:flex;align-items:center;border-top:1px solid var(--gold)}#site-footer>div{width:100%}#site-footer a{color:#e4d3a5!important}#site-header .navbar-item{color:var(--ink)}.ReactModal__Overlay{background:var(--olive)!important}.menu-open .navbar-logo a:after,.menu-open .navbar-item{color:var(--paper)!important}.photo-home-link{display:block;text-align:center;color:var(--olive);font:12px/1.5 Inter,Arial,sans-serif;letter-spacing:.03em;margin:22px auto 0;text-decoration:none}.photo-home-link:hover{text-decoration:underline}
.photo-section{background:var(--olive);color:var(--paper);padding:80px 6vw 100px;scroll-margin-top:24px;margin-bottom:90px}.photo-heading{max-width:1200px;margin:0 auto 55px;display:grid;grid-template-columns:1fr auto;align-items:end}.photo-heading .eyebrow{grid-column:1/-1}.photo-heading h1{font-size:clamp(34px,4vw,58px);margin:20px 0 0}.photo-heading p{font-size:12px;letter-spacing:.06em;color:#ddd3b7}.photo-gallery{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(12,1fr);gap:60px 45px;align-items:center}.photo-gallery figure{margin:0;grid-column:span 6}.photo-gallery .photo-water{grid-column:2/span 4}.photo-gallery .photo-hike{grid-column:7/span 5}.photo-gallery .photo-wide{grid-column:1/-1}.photo-gallery .photo-tall{grid-column:span 6}.photo-open{display:block;position:relative;border:1px solid #bca56b88;padding:10px;color:var(--paper)}.photo-frame{display:block;position:relative;overflow:hidden}.photo-frame img{display:block;width:100%;height:auto;transition:transform .6s}.photo-open:hover .photo-frame img{transform:scale(1.025)}.photo-hike .photo-frame{aspect-ratio:602/803}.photo-hike .photo-frame img{position:absolute;top:-31.26%;height:162.64%;width:100%;object-fit:fill}.photo-wide .photo-frame{aspect-ratio:4/3}.photo-zoom{position:absolute;right:20px;bottom:20px;background:var(--paper);color:var(--umber);width:32px;height:32px;display:grid;place-items:center}.photo-gallery figcaption{display:flex;justify-content:space-between;margin-top:13px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e5dcc4}.photo-lightbox{border:1px solid var(--gold);padding:24px;background:var(--umber);color:var(--paper);max-width:min(1100px,94vw);max-height:94dvh;overflow:auto}.photo-lightbox::backdrop{background:#241a13e8}.photo-close{position:sticky;top:0;display:block;margin:0 0 12px auto;border:0;background:var(--paper);color:var(--umber);font:30px/1 Inter;width:40px;height:40px;cursor:pointer}.lightbox-frame{max-width:100%;margin:auto}.lightbox-frame img{display:block;max-width:100%;max-height:72dvh;width:auto;height:auto;margin:auto}.photo-lightbox p{margin:16px 0 0;font-size:12px}.lightbox-frame.photo-hike{width:min(602px,65dvh);aspect-ratio:602/803;position:relative;overflow:hidden}.lightbox-frame.photo-hike img{position:absolute;top:-31.26%;width:100%;height:162.64%;max-height:none;object-fit:fill}.photo-lightbox[open]{animation:photo-enter .2s ease-out}@keyframes photo-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.landing-page-section .title{font-size:27px!important;line-height:1.25!important;padding:0 22px!important}.landing-page-section .header-container{margin-top:0!important}.quote-attribution{font-size:9px;margin-top:22px}.landing-page-section .thesis-link{margin-top:25px}.photo-home-link{font-size:11px;margin-top:14px}#site-footer{min-height:65px}.photo-section{padding:55px 22px 65px;margin-bottom:60px}.photo-heading{display:block;margin-bottom:32px}.photo-heading h1{font-size:37px}.photo-gallery{display:block}.photo-gallery figure{margin-bottom:36px}.photo-gallery figure:last-child{margin-bottom:0}.photo-gallery .photo-water{max-width:300px;margin-inline:auto}.photo-gallery .photo-hike{max-width:370px;margin-inline:auto}.photo-open{padding:7px}.photo-gallery figcaption{font-size:10px}.personal-footer{flex-wrap:wrap;gap:18px;min-height:100px}.personal-footer a{order:3;width:100%;max-width:max-content}.photo-lightbox{padding:14px}.interest-grid{gap:28px}.interest-grid article{border-top:1px solid var(--rule);padding-top:25px}}
@media(prefers-reduced-motion:reduce){.photo-frame img,.photo-lightbox[open]{animation:none;transition:none}}
.family-photo{margin:32px 0 0}.family-photo img{display:block;width:100%;height:auto;border:1px solid var(--gold);padding:7px;background:var(--paper)}.family-photo figcaption{font:11px/1.6 Inter,Arial,sans-serif;color:var(--olive);margin-top:12px;letter-spacing:.05em}.story-grid{grid-template-columns:minmax(300px,1fr) minmax(0,1.65fr);gap:60px}.story-aside{min-width:0}@media(max-width:800px){.story-grid{display:block}.story-aside{margin-bottom:38px}.family-photo{max-width:600px;margin:28px auto 0}}@media(min-width:801px){.story-aside{position:sticky;top:35px;align-self:start}}
/* Personal reading shelf: supplied titles and notes, with no invented reviews. */
.outside-jumps{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}.books-section{max-width:1240px;margin:0 auto 110px;padding:65px 40px 0;scroll-margin-top:25px;border-top:1px solid var(--rule)}.books-heading{margin-bottom:65px}.books-heading h2{font-size:clamp(38px,4.5vw,62px);margin:22px 0}.books-heading>p{font-size:15px;color:var(--olive)}.book-group{display:grid;grid-template-columns:240px minmax(0,1fr);gap:65px;padding:35px 0 45px;border-top:1px solid var(--rule)}.book-group-heading h3{font:400 27px/1.2 'Source Serif 4',Georgia,serif;margin:16px 0;color:var(--olive)}.book-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 45px}.book-list li{padding-left:18px;border-left:2px solid var(--gold)}.book-list h4{font:400 23px/1.25 'Source Serif 4',Georgia,serif;margin:0 0 9px}.book-author{font-size:12px;line-height:1.7;margin:0;color:var(--olive)}.book-list blockquote{font-size:13px;line-height:1.7;margin:15px 0 0;font-style:italic;max-width:330px}@media(max-width:800px){.book-group{grid-template-columns:1fr;gap:25px}.books-section{padding-inline:24px;margin-bottom:65px}.books-heading{margin-bottom:40px}}@media(max-width:500px){.book-list{grid-template-columns:1fr;gap:28px}.book-list h4{font-size:24px}.outside-jumps{display:block}.outside-jumps .text-link{display:flex;justify-content:space-between;max-width:320px;margin-inline:auto}.book-group{padding-bottom:35px}.books-section{padding-top:45px}}

.books-heading{margin-bottom:35px}.books-heading h2{font-size:clamp(30px,3vw,42px)}.books-section>.book-list{border-top:1px solid var(--rule);padding-top:30px;gap:24px 40px}.book-list h4{font-size:18px;line-height:1.35;margin-bottom:5px}.book-author{font-size:11px}.book-list blockquote{font-size:12px;margin-top:10px}.books-heading>p{font-size:13px}@media(max-width:500px){.book-list h4{font-size:18px}.books-section>.book-list{gap:22px}}

/* Independent columns avoid empty row space beside a book with a note. */
.books-section>.book-list{display:block;columns:2;column-gap:40px}.books-section>.book-list li{break-inside:avoid;margin-bottom:24px}.books-section>.book-list li:last-child{margin-bottom:0}@media(max-width:500px){.books-section>.book-list{columns:1}.books-section>.book-list li{margin-bottom:22px}}

.films-section .book-list h3{font:400 18px/1.35 'Source Serif 4',Georgia,serif;margin:0}.films-section>.book-list li{padding-block:3px;margin-bottom:20px}

.films-section .book-list h3{margin-bottom:5px}

.photo-heading h1{font-family:"Source Serif 4",Georgia,serif;font-weight:400;line-height:1.2;letter-spacing:-.02em}

.photo-gallery .photo-small{grid-column:span 6;width:100%;max-width:380px;justify-self:center}@media(max-width:650px){.photo-gallery .photo-small{margin-inline:auto;max-width:360px}}

.hello-title .hello-i{display:inline-block;transform:rotate(180deg);transform-origin:center;letter-spacing:0;margin-left:.015em}

.landing-page-section .title,.quote-attribution{display:none!important}
.sculpture-particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.sculpture-ready .GLBackdrop{visibility:hidden}.sculpture-ready .landing-page-section .header-container{position:relative;z-index:2;transform:none!important;padding-top:64vh!important;margin-top:0!important}.sculpture-ready #site-header{z-index:10}.sculpture-ready .landing-page-section .thesis-link{margin-top:0!important}.menu-open .sculpture-particles{visibility:hidden}
.sculpture-ready .landing-page-section .header-container{position:absolute!important;inset:auto 0 8vh!important;padding:0!important;width:100%;margin:0!important}.sculpture-ready .landing-page-section{min-height:100vh}
.sculpture-ready .landing-page-section .thesis-link{position:fixed!important;top:auto!important;bottom:11vh!important;left:50%!important;transform:translateX(-50%)!important;margin:0!important}.sculpture-ready .photo-home-link{position:fixed;top:auto;bottom:5.5vh;left:0;width:100%;margin:0}
/* Keep the animated homepage within a single viewport. */
html:has(body.front-end:not(.personal-page)){height:100%;overflow:hidden}
body.front-end:not(.personal-page){height:100dvh;overflow:hidden}
body.front-end:not(.personal-page) #site-footer{display:none!important}
body.front-end:not(.personal-page) .landing-page-section{height:100dvh!important;min-height:0!important;overflow:hidden}
/* The homepage header uses the menu for navigation. */
#site-header a.navbar-item.is-tab[href="/outside-work/"]{display:none!important}

.contact-page{min-height:calc(100dvh - 110px);display:flex;align-items:center;justify-content:center;padding:24px 24px 110px}.contact-page a{font:400 clamp(22px,4vw,48px)/1.3 'Source Serif 4',Georgia,serif;text-decoration:none;border-bottom:1px solid var(--gold);overflow-wrap:anywhere}body:has(.contact-page) .personal-footer{display:none}@media(max-width:650px){.contact-page{min-height:calc(100dvh - 85px);padding-bottom:85px}}

.contact-animation{position:fixed;inset:0;width:100%;height:100%;border:0;pointer-events:none;z-index:0}body:has(.contact-page) .personal-header{position:relative;z-index:2}.contact-page{position:relative;z-index:1}.contact-page a{position:relative;color:var(--ink)}.circle-preview #site-header,.circle-preview .header-container,.circle-preview .photo-home-link{display:none!important}body:has(.contact-page){overflow:hidden}
.contact-page a{font:400 clamp(17px,2vw,22px)/1.5 Inter,Arial,sans-serif;letter-spacing:.06em;border:0;text-decoration:none;padding:14px 20px;transition:color .2s ease,opacity .2s ease}.contact-page a:hover{color:var(--olive);opacity:.7}.contact-page a:focus-visible{outline:1px solid var(--gold);outline-offset:6px}

/* Reference homepage CTA: separated edges that close together on hover. */
.contact-page{position:fixed;inset:0;min-height:0;padding:0;display:block;pointer-events:none}.contact-page .contact-hof-button{position:absolute;top:66%;left:50%;transform:translate(-50%,-50%);pointer-events:auto;display:block;padding:15px 30px;border-left:1px solid #493327;border-right:1px solid #493327;border-bottom:0;border-top:0;font:500 18px/1.3 Inter,Arial,sans-serif;letter-spacing:0;text-decoration:none;white-space:nowrap;transition:padding .2s,color .2s,border-color .2s;opacity:1}.contact-hof-button:before,.contact-hof-button:after{content:'';position:absolute;left:15px;right:15px;height:1px;background:#493327;transition:all .2s}.contact-hof-button:before{top:-15px}.contact-hof-button:after{bottom:-15px}.contact-page .contact-hof-button:hover{padding:30px;color:var(--olive);border-color:var(--olive);opacity:1}.contact-hof-button:hover:before{top:0;left:0;right:0;background:var(--olive)}.contact-hof-button:hover:after{bottom:0;left:0;right:0;background:var(--olive)}@media(max-width:650px){.contact-page .contact-hof-button{font-size:16px;padding:10px 20px}.contact-hof-button:before{top:-10px;left:10px;right:10px}.contact-hof-button:after{bottom:-10px;left:10px;right:10px}.contact-page .contact-hof-button:hover{padding:20px}}

/* Reveal both homepage invitations together, with no opening pause. */
body.front-end:not(.contact-reference) .landing-page-section .up-next,.photo-home-link{opacity:0;animation:fade-in-up .25s ease-out forwards}
body.front-end:not(.contact-reference) .page-wrapper,body.front-end:not(.contact-reference) .page-wrapper-inner{opacity:1!important}
@media(prefers-reduced-motion:reduce){body:not(.contact-reference) .landing-page-section .up-next,.photo-home-link{animation:none!important;opacity:1;transform:none}}
