/*!
 * Ravi Agarwal theme stylesheet — design 2 ("Afterimage"): a clean,
 * contemporary gallery presentation with a cinematic hero. Self-hosted
 * fonts, no external requests, mobile-first breakpoints layered on top
 * of the same desktop-first rules the approved mockup used (kept as-is
 * so the visual result matches exactly what was signed off).
 */

/* ---------- Self-hosted fonts (no Google Fonts request) ---------- */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/manrope-400.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/manrope-500.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/manrope-600.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/manrope-700.woff2') format('woff2')}
@font-face{font-family:'Libre Caslon Display';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/libre-caslon-display-400.woff2') format('woff2')}

/* ---------- Reset ---------- */
:root{font-family:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
ul,ol{margin:0;padding:0;list-style:none}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:4px}
::selection{background:#c9d3ce;color:#111}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{background:#1c2830;color:#fff;padding:10px 18px;position:fixed;top:-100px;left:10px;z-index:10000;transition:top .2s}
.skip-link:focus{top:10px;width:auto;height:auto;clip:auto;overflow:visible}

/* ---------- Shared gallery system ---------- */
.site{--bg:#f7f8f8;--fg:#1c2830;--sub:#68747b;--line:#d7dddf;--accent:#365f75;--image-bg:#e5ebec;background:var(--bg);color:var(--fg);font-family:Manrope,Arial,sans-serif}
.progress-line{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);z-index:1000;transform:scaleX(0);transform-origin:left}
.site-head{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.scrolled .site-head{box-shadow:0 8px 20px rgba(10,20,20,.035)}
.head-inner{min-height:85px;padding:0 4vw;display:flex;align-items:center;gap:30px;justify-content:space-between;transition:min-height .3s}
.scrolled .head-inner{min-height:65px}
.wordmark{order:2;font:700 24px Manrope,sans-serif;letter-spacing:-.055em;white-space:nowrap;line-height:1}
.wordmark img{max-height:44px;width:auto}
.site-head #site-navigation{order:1;margin:0;flex:1}
.main-nav{display:flex;gap:17px;align-items:center}
.nav-group{position:relative}
.nav-group summary{list-style:none;cursor:pointer;font-size:13px;white-space:nowrap;padding:24px 0}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary span{color:var(--sub);font-size:12px;margin-left:5px}
.nav-group[open] summary,.nav-group summary:hover{color:var(--accent)}
.nav-top-link{font-size:13px;padding:24px 0;display:inline-block}
.nav-top-link:hover{color:var(--accent)}
.nav-drop{position:absolute;top:100%;left:-19px;min-width:185px;display:flex;flex-direction:column;gap:0;background:var(--bg);border:1px solid var(--line);padding:11px 18px;box-shadow:0 14px 25px rgba(10,20,20,.065)}
.nav-drop a{font-size:13px;padding:10px 0;white-space:nowrap}
.nav-drop a:hover,.nav-drop a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.header-contact{order:3;flex:1;text-align:right;font-size:13px;white-space:nowrap;margin:0}
.header-contact:hover{text-decoration:underline;text-underline-offset:4px}
.mobile-menu{display:none}
.site main{min-height:70vh}
.site-footer{border-top:1px solid var(--line);padding:32px 4vw 45px;display:flex;justify-content:space-between;gap:24px;color:var(--sub);font-size:13px;flex-wrap:wrap}
.site-footer a{text-decoration:underline;text-underline-offset:4px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.underline-link{display:inline-flex;gap:34px;border-bottom:1px solid currentColor;padding:11px 0;font-size:13px;margin-top:20px}
.underline-link:hover{gap:46px}

/* ---------- Homepage hero ---------- */
.home-hero{position:relative;display:block;height:min(82vh,920px);min-height:670px;overflow:hidden}
.home-title{position:absolute;left:0;bottom:40px;color:#fff;padding:50px 4vw;z-index:1}
.home-title .eyebrow,.home-title>p{color:#fff}
.home-title h1{font:600 clamp(78px,10vw,165px)/.98 Manrope,sans-serif;letter-spacing:-.07em;margin:23px 0}
.home-title>p{font-size:18px;line-height:1.55;max-width:750px}
.hero-media{position:absolute;inset:0;height:100%;margin:0;overflow:hidden;background:var(--image-bg)}
.hero-img-wrap{height:100%;overflow:hidden}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;transform:scale(1.09);filter:brightness(.7);will-change:transform}
.hero-media figcaption{position:absolute;bottom:20px;right:26px;background:rgba(255,255,255,.94);padding:8px 10px;font-size:11px;color:#1c2830}
.scroll-cue{position:absolute;right:4vw;bottom:26px;z-index:2;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.scroll-cue span{margin-left:12px}

/* ---------- Homepage lead + quote ---------- */
.small-rule{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:15px;font-size:12px}
.small-rule a:hover{text-decoration:underline}
.home-lead{margin:0 4vw;padding-top:125px}
.lead-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:55px 0 110px;align-items:center}
.lead-layout h2{font:500 clamp(49px,5.3vw,90px)/1.04 Manrope,sans-serif;letter-spacing:-.045em;margin:20px 0}
.lead-layout p{color:var(--sub);font-size:17px;line-height:1.6;max-width:470px}
.lead-image{position:relative;display:block;overflow:hidden}
.lead-image img{width:100%;height:550px;object-fit:cover;transition:transform .7s}
.lead-image:hover img{transform:scale(1.04)}
.lead-image span{position:absolute;bottom:0;right:0;background:var(--bg);padding:17px 22px;font-size:12px}
.home-quote{margin:0 4vw;margin-top:140px;padding:65px 0 120px;border-top:1px solid var(--line);display:grid;grid-template-columns:18% 1fr}
.home-quote>span{font-size:12px}
.home-quote blockquote{font:500 clamp(35px,4vw,63px)/1.14 Manrope,sans-serif;letter-spacing:-.045em;margin:0;max-width:1000px}
.home-quote .underline-link{grid-column:2;justify-self:start;margin-top:28px}

/* ---------- Homepage category sections ---------- */
.home-category-section{margin:0 0 20px}
.home-category-section .section-page{padding-top:26px}

/* ---------- Section / archive pages ---------- */
.section-page{padding:0 4vw}
.page-heading{padding:65px 0 75px}
.heading-index{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--sub)}
.heading-index a{text-decoration:underline;text-underline-offset:3px}
.breadcrumbs span[aria-hidden]{margin:0 6px}
.page-heading h1{font:600 clamp(75px,10vw,165px)/1 Manrope,sans-serif;letter-spacing:-.075em;margin:52px 0 20px}
.page-heading>p{max-width:690px;font-size:19px;line-height:1.55;color:var(--sub)}
.archive-toolbar{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:16px 0 26px;font-size:12px}
.archive-toolbar b{margin-left:8px;color:var(--accent);font-weight:500}
.archive-toolbar a:hover{text-decoration:underline}

/* ---------- Card grid ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:75px 22px}
.card-grid .art-card:nth-child(5n+2){padding-top:100px}
.card-grid .art-card:nth-child(5n+3){padding-top:40px}
.art-card{min-width:0}
.card-image{display:block;overflow:hidden;background:var(--image-bg);position:relative}
.card-image img{width:100%;height:380px;object-fit:cover;transition:transform .7s}
.card-image:hover img{transform:scale(1.035)}
.card-image-placeholder{display:block;width:100%;height:380px;background:linear-gradient(135deg,var(--image-bg),var(--line))}
.image-arrow{position:absolute;right:0;bottom:0;background:var(--bg);width:50px;height:50px;display:grid;place-items:center;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.card-image:hover .image-arrow{opacity:1;transform:none}
.card-copy{padding:16px 0}
.card-meta{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sub)}
.art-card h3{font:600 clamp(27px,2.5vw,39px)/1.13 Manrope,sans-serif;letter-spacing:-.045em;margin:12px 0 10px}
.art-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.art-card p{font-size:15px;line-height:1.55;color:var(--sub);max-width:500px;margin:0}
.card-more{display:inline-block;font-size:11px;border-bottom:1px solid;margin-top:17px;padding-bottom:4px}

/* ---------- Endnote / continue exploring ---------- */
.endnote{display:grid;grid-template-columns:25% 1fr;gap:30px;margin:80px 0;padding-top:22px;border-top:1px solid var(--line);font-size:12px}
.endnote>div{display:flex;flex-wrap:wrap;gap:18px 30px}
.endnote a:hover{text-decoration:underline}

/* ---------- Single post ---------- */
.single-featured-image{margin:0 -4vw 55px;background:var(--image-bg)}
.single-featured-image img{width:100%;max-height:640px;object-fit:cover}
.entry-content{max-width:760px;font-size:18px;line-height:1.7;color:var(--fg)}
.entry-content p{margin:0 0 1.4em}
.entry-content h2{font:600 clamp(28px,3vw,42px)/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:1.6em 0 .6em}
.entry-content h3{font:600 26px/1.25 Manrope,sans-serif;margin:1.5em 0 .5em}
.entry-content img{margin:1.6em 0}
.entry-content a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.entry-content blockquote{border-left:2px solid var(--accent);margin:1.8em 0;padding-left:1.2em;color:var(--sub);font-style:italic}
.entry-tags{margin:40px 0;font-size:13px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.entry-tags a{text-decoration:underline;text-underline-offset:3px}
.page-links{margin:30px 0;font-size:13px}
.page-links a{text-decoration:underline;margin-left:8px}

/* ---------- Divi Builder pages: no theme chrome, full width ---------- */
.divi-page{max-width:none}
.divi-page .entry-content{max-width:none}

/* ---------- Pagination ---------- */
.pagination{margin:60px 0;border-top:1px solid var(--line);padding-top:24px}
.pagination div{display:flex;gap:14px;flex-wrap:wrap;font-size:13px}
.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--line)}
.pagination .current{border-color:var(--accent);color:var(--accent)}
.pagination a:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- Search form ---------- */
.search-form{display:flex;gap:10px;margin:30px 0;max-width:480px}
.search-field{flex:1;padding:14px 16px;border:1px solid var(--line);background:var(--bg);font:inherit;font-size:15px;color:var(--fg)}
.search-submit{border:1px solid var(--fg);background:transparent;padding:14px 20px;font-size:13px;cursor:pointer;transition:background .2s,color .2s}
.search-submit:hover{background:var(--fg);color:var(--bg)}

/* ---------- Comments ---------- */
.comments-area{padding-top:0;padding-bottom:80px;max-width:760px}
.comments-title{font:600 28px Manrope,sans-serif;margin-bottom:20px}
.comment-list .comment{border-top:1px solid var(--line);padding:24px 0}
.comment-list .comment-body p{margin:.6em 0 0}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);background:var(--bg);font:inherit;margin-bottom:14px;color:var(--fg)}
.comment-form-cookies-consent{display:flex;gap:8px;align-items:center;font-size:13px}
#submit{border:1px solid var(--fg);background:transparent;padding:14px 22px;font-size:13px;cursor:pointer}
#submit:hover{background:var(--fg);color:var(--bg)}

/* ---------- Reveal-on-scroll ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1);transition-delay:var(--delay,0ms)}
.reveal.visible{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
	.main-nav{gap:9px}
	.wordmark{font-size:19px}
	.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.card-grid .art-card:nth-child(n){padding-top:0}
}

@media(max-width:760px){
	.head-inner{padding:0 20px;min-height:72px}
	.scrolled .head-inner{min-height:62px}
	.wordmark{order:0;font-size:20px;letter-spacing:-.03em}
	.mobile-menu{display:block;order:3;border:0;background:none;color:inherit;font-size:13px;cursor:pointer}
	.mobile-menu span{font-size:20px;vertical-align:middle;margin-left:5px}
	.site-head #site-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);margin:0;padding:20px;max-height:75vh;overflow:auto;box-shadow:0 15px 25px rgba(0,0,0,.06)}
	.site-head #site-navigation.is-open{display:block}
	.main-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
	.nav-group summary{padding:8px 0;font-size:14px}
	.nav-top-link{padding:8px 0}
	.nav-drop{position:static;box-shadow:none;border:0;padding:2px 0 12px;min-width:0;background:transparent}
	.nav-drop a{white-space:normal;padding:7px 0;font-size:13px}
	.header-contact{display:none}
	.site-footer{padding:26px 20px;display:block}
	.site-footer span{display:block;margin-bottom:8px}
	.home-hero{height:650px;min-height:0}
	.home-title{padding:45px 20px;bottom:20px}
	.home-title h1{font-size:clamp(65px,13vw,100px)}
	.home-title>p{font-size:16px}
	.scroll-cue{display:none}
	.home-lead,.home-quote{margin:0 20px}
	.home-lead{padding-top:65px}
	.lead-layout{grid-template-columns:1fr;gap:26px;padding:35px 0 75px}
	.lead-layout h2{font-size:57px}
	.lead-image img{height:400px}
	.home-quote{margin-top:80px;padding:40px 0 80px;display:block}
	.home-quote blockquote{font-size:39px;margin-top:22px}
	.home-quote .underline-link{grid-column:1}
	.page-heading{padding:35px 0 50px}
	.page-heading h1{font-size:clamp(65px,14vw,104px);margin:42px 0 20px;overflow-wrap:anywhere}
	.page-heading>p{font-size:17px}
	.section-page{padding:0 20px}
	.archive-toolbar{font-size:11px}
	.card-grid{display:grid;grid-template-columns:1fr;gap:45px}
	.card-image img,.card-image-placeholder{height:320px}
	.art-card h3{font-size:32px}
	.endnote{margin:65px 0;display:block}
	.endnote>div{margin-top:22px}
	.single-featured-image{margin:0 -20px 35px}
}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}
	.reveal{opacity:1;transform:none}
	.hero-img-wrap img{transform:none!important}
}

/* ---------- Print ---------- */
@media print{
	.site-head,.progress-line,.mobile-menu,.scroll-cue,.pagination{display:none}
}
