:root {
  --bg:#efeeee;
  --ink:#2a2a2a;
  --muted:#6b6b6b;
  --accent:#7a1f52;
  --accent2:#6e9cbe;
  --max:1200px;
  --navH:92px;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  font-family:ui-serif,Georgia,"Times New Roman",serif;
  background:var(--bg);
  color:var(--ink);
}

/* ================= NAV ================= */

header.nav {
  position:fixed;
  inset:0 auto auto 0;
  width:100%;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:22px 48px;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:transparent;
}

header.nav nav {
  display:flex;
  gap:45px;
  font-size:14px;
  letter-spacing:.20em;
  text-transform:uppercase;
  margin-left:56px;
}

header.nav nav a {
  position:relative;
  padding:6px 14px;
  border-radius:999px;
  background:rgba(244,242,239,0.35);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:var(--accent);
  text-decoration:none;
  opacity:0.9;
  transition:box-shadow 0.25s ease,transform 0.2s ease,opacity 0.2s ease;
}

header.nav a:hover {
  opacity:1;
}

.logo {
  height:70px;
  width:auto;
  display:block;
}

.menu-btn {
  display:none;
  flex-direction:column;
  gap:6px;
  width:44px;
  height:44px;
  background:transparent;
  border:none;
  box-shadow:none;
  margin-left:auto;
  border-radius:12px;
  cursor:pointer;
}

.menu-btn span {
  height:2px;
  width:100%;
  background:rgba(122,31,82,0.9);
  border-radius:999px;
}

@media (max-width:900px) {
  #mainNav {
    display:none;
    position:absolute;
    top:100%;
    right:48px;
    flex-direction:column;
    background:rgba(244,242,239,0.95);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(0,0,0,0.08);
    border-radius:16px;
    padding:12px;
    gap:10px;
    min-width:200px;
    box-shadow:0 20px 50px rgba(0,0,0,0.15);
    z-index:1000;
  }

  .menu-btn {
    display:flex;
  }

  #mainNav.open {
    display:flex;
  }
}

/* ================= GLOBAL SECTIONS ================= */

section {
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:100 24px;
}

.container {
  max-width:var(--max);
  margin:0 auto;
  width:100%;
}

.inner {
  max-width:1200px;
  width:100%;
  margin:0 auto;
}

.section-title {
  font-family:ui-serif,Georgia,serif;
  font-weight:500;
  color:#226691;
  text-transform:uppercase;
  letter-spacing:clamp(.18em,2vw,.35em);
  font-size:clamp(35px,4vw,42px);
  margin-bottom: 50px;
}

/* ================= HERO ================= */

.hero {
  width:100%;
  background-image:url("../imgs/leaf.png");
  background-size:cover;
  background-position:right 43%;
  background-repeat:no-repeat;
  position:relative;
  padding-top:var(--navH);
}

.hero-content {
  max-width:720px;
  padding-left:80px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:18px;
}

.hero-content h1 {
  border-radius:15px;
  display:block;
  text-align:center;
  font-size:clamp(42px,3vw,64px);
  font-weight:500;
  color:var(--accent);
  margin:0;
  line-height:1.05;
  background:rgba(244,242,239,.30);
  backdrop-filter:blur(10px);
  padding:2px;
}

/* Typed effect */

.typed-wrap {
  display:inline-flex;
  align-items:baseline;
  white-space:nowrap;
  min-width:7ch;
}

.typed-text {
  display:inline;
  white-space:nowrap;
}

.caret {
  display:inline-block;
  border-left:2px solid rgba(122,31,82,0.75);
  height:1em;
  margin-left:2px;
  transform:translateY(0.08em);
  animation:caretBlink 1s steps(1) infinite;
}

@keyframes caretBlink {
  50% { opacity:0; }
}

/* ================= SOCIAL ================= */

.social {
  display:flex;
  gap:50px;
  margin-top:8.5px;
  align-self:center;
}

.social a {
  width:35px;
  height:35px;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  text-decoration:none;
  transition:transform .25s ease,box-shadow .25s ease;
}

.social a:hover {
  transform:translateY(-5px);
  box-shadow:0 8px 18px rgba(0,0,0,0.15);
}

.social img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ================= ABOUT ================= */

.about-me {
  background:#ffffff;
}

.about-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:75px;
  max-width:800px;
  margin:0 auto;
  justify-content:center;
}

.about-col h3 {
  font-family:ui-serif,Georgia,serif;
  font-size:19px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a1f52;
  margin:0 0 18px;
}

.about-col p {
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  font-size:16px;
  line-height:1.7;
  color:#3a7091;
  margin:0 0 18px;
  max-width:60ch;
}

@media (max-width:900px) {
  .about-columns {
    grid-template-columns:1fr;
    gap:32px;
  }

}

/* ================= WORK ================= */

#work {
  background:#efeeee;
  padding:120px 24px;
  display:block;
  min-height:auto;
}

.work-inner {
  max-width:1200px;
  margin:0 auto;
}

.work-section h2 {
  font-family:ui-serif,Georgia,serif;
  font-size:42px;
  font-weight:500;
  color:#6e9cbe;
  margin:0 0 32px;
}

.work-wrap {
  margin-top:32px;
  position:relative;
  overflow:visible;
}

.work-grid {
  display:flex;
  gap:20px;
  overflow-x:auto;
  overflow-y:visible;
  padding:14px 6px 26px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}

.work-grid::-webkit-scrollbar {
  height:6px;
}

.work-grid::-webkit-scrollbar-thumb {
  background:rgba(0,0,0,0.15);
  border-radius:999px;
}

.work-card {
  flex:0 0 340px;
  scroll-snap-align:start;
  text-decoration:none;
  color:inherit;
  border-radius:22px;
  overflow:hidden;
  background:#efeeee;
  border:1px solid rgba(110,156,190,0.35);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  box-shadow:0 14px 36px rgba(0,0,0,0.08);
  position:relative;
}

.work-card::before {
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:22px;
  pointer-events:none;
  opacity:0;
  transition:opacity .18s ease;
  background:radial-gradient(600px circle at var(--mx,50%) var(--my,35%),transparent 65%);
}

.work-card:hover {
  transform:translateY(-6px);
  box-shadow:0 22px 70px rgba(114,109,109,0.18),0 18px 46px rgba(0,0,0,0.10);
}

.work-card:hover::before {
  opacity:1;
}

.work-thumb {
  aspect-ratio:4 / 3;
  width:100%;
  background:rgba(239,238,238,.7);
  display:grid;
  place-items:center;
}

.work-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.work-meta {
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.work-title {
  font-family:ui-serif,Georgia,serif;
  font-size:17px;
  font-weight:500;
  color:#3a7091;
  place-items: center;
  margin:0;
}

.work-subtitle {
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#8a9ba8;
  margin:0;
}

@media (max-width:1100px) {
  .work-card { flex-basis:320px; }
}

@media (max-width:700px) {
  .work-card { flex-basis:280px; }
}



/* ================= PUBLICATIONS ================= */

#credential {
  background:#ffffff;
}

#credential .about-text {
  margin-bottom:48px;
}

#credential .about-text h2 {
  margin-bottom:28px;
}

#credential h3 {
  font-family:ui-serif,Georgia,serif;
  font-size:19px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a1f52;
  margin:40px 0 12px;
}

.credential-columns {
  max-width:800px;
  margin:0 auto;
}

.credential-columns p {
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  font-size:16px;
  line-height:2.4;
  color:#3a7091;
  margin:0;
}

.credential-sub {
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:#8a9ba8;
  font-size:13px;
  margin:0;
}

#credential a,
.text-link {
  color:#6e9cbe;
  text-decoration:none;
}

#credential a:hover,
.text-link:hover {
  color:#7a1f52;
}


/* ================= NOW ================= */

#now {
  background:#efeeee;
}


.now-section h3 {
  font-family:ui-serif,Georgia,serif;
  font-size:42px;
  font-weight:500;
  color:#6e9cbe;
  margin:0 0 32px;
}

.now-wrap {
  margin-top:32px;
  position:relative;
  overflow:visible;
}

.now-grid {
  display:flex;
  gap:20px;
  overflow-x:auto;
  overflow-y:visible;
  padding:14px 6px 26px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}

.now-card {
  flex:0 0 340px;
  scroll-snap-align:start;
  text-decoration:none;
  color:inherit;
  border-radius:22px;
  overflow:hidden;
  background:#efeeee;
  border:1px solid rgba(110,156,190,0.35);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  box-shadow:0 14px 36px rgba(0,0,0,0.08);
  position:relative;
}

.now-card::before {
  position:absolute;
  inset:-1px;
  border-radius:22px;
  pointer-events:none;
  opacity:0;
  transition:opacity .18s ease;
  background:radial-gradient(600px circle at var(--mx,50%) var(--my,35%),transparent 65%);
}

.now-thumb {
  aspect-ratio:4 / 3;
  width:100%;
  background:rgba(239,238,238,.7);
  display:grid;
  place-items:center;
}

.now-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.now-meta {
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.now-subtitle {
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#8a9ba8; 
  margin:0;
}

@media (max-width:1100px) {
  .now-card { flex-basis:320px; }
}

@media (max-width:700px) {
  .now-card { flex-basis:280px; }
}


#now h3 {
  font-family:ui-serif,Georgia,serif;
  font-size:19px;
  font-weight:500;
  letter-spacing:.08em;
  color:#7a1f52;
  margin:40px 0 12px;
}

#now p,
#now ul {
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  font-size:16px;
  line-height:1.7;
  color:#3a7091;
}

#now ul {
  margin:0 0 28px 1.2em;
}

#now .image {
  display:flex;
  justify-content:center;
  margin:40px 0;
}

#now .image img {
  width:380px;
  max-width:100%;
  height:auto;
  display:block;
}

#now .now-date {
  color:#8a9ba8;
  font-style:italic;
  font-size: 13px;
  margin-bottom:8px;
}

#now .now-description {
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  font-size:16px;
  line-height:1.7;
  color:#3a7091;
  margin-bottom:32px;
}

/* ================= FOOTER ================= */

.site-footer {
  padding:28px 24px;
  text-align:center;
  background:transparent;
  opacity:1 !important;
  transform:none !important;
}

.site-footer .footer-inner {
  max-width:var(--max);
  margin:0 auto;
}

.site-footer p {
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a1f52;
}

/* ================= PAGE TRANSITIONS ================= */

body {
  opacity:0;
  transition:opacity 0.35s ease;
}

body.page-loaded {
  opacity:1;
}

body.page-exit {
  opacity:0;
}

.reveal {
  opacity:0;
  transform:translateY(14px);
  transition:opacity 520ms ease,transform 520ms ease;
  will-change:opacity,transform;
}

.reveal.is-visible {
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion:reduce) {
  .reveal {
    transition:none;
    transform:none;
    opacity:1;
  }
}

/* ================= MOBILE ================= */

@media (max-width:600px) {
  header.nav { padding:14px 16px; }
  .logo { height:56px; }
  #mainNav { right:16px; }
  .hero { background-position:right 45%; }
  .hero-content { padding-left:0; max-width:100%; }
  .hero-content h1 { padding:10px 12px; }
  .typed-wrap { white-space:normal; }
  .social { align-self:center; justify-content:center; width:100%; }
  .social a { width:34px; height:34px; }
  .about-me,
  .work-section,
  #publications { padding:84px 18px; }
  .work-card { flex-basis:260px; }
  .publication-columns p { line-height:1.9; }
}

@media (max-width:900px) {
  :root { --navH:78px; }
  header.nav { padding:18px 24px; }
  header.nav nav { gap:22px; margin-left:22px; }
  .hero-content { padding-left:24px; }
}

/* ===== Mobile hero centering fix ===== */
.hero .container {
  display: flex;
  justify-content: flex-start;
}

@media (max-width: 900px) {
  .hero .container {
    justify-content: center;
  }

  .hero-content {
    width: min(100%, 680px);
    padding-left: 0;
    margin-inline: auto;
    align-items: center;
    text-align: center;
  }

  .hero-content h1 {
    width: min(100%, calc(100vw - 32px));
    margin-inline: auto;
    padding: 12px 16px;
  }

  .typed-wrap {
    display: inline;
    white-space: normal;
  }

  .typed-text {
    white-space: normal;
  }

  .social {
    width: 100%;
    justify-content: center;
    margin-inline: auto;
  }
}

  .hero-content {
    width: 100%;
    max-width: 560px;
    padding-inline: 20px;
    gap: 14px;
  }

  .hero-content h1 {
    width: min(100%, 540px);
    max-width: calc(100vw - 40px);
    font-size: clamp(28px, 8.5vw, 44px);
    line-height: 1.12;
    padding: 12px 16px;
  }

/* ===== overriding ===== */
.about-me,
#work,
#credential,
#now {
  display: block;
  min-height: auto;
  padding: 100px 24px;
}

section {
  padding: 0 24px;
}

.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* 1. Modern Solid Line */
.divider-solid {
  border: none;
  border-top: 1.5px solid #D3D3D3;
  margin: 20px 0;
}

/* Website social icon and larger photography preview */
.social svg {
  width:100%;
  height:100%;
  display:block;
  color:var(--accent);
}

#now .image img.amader-kobita-image {
  width:640px;
  max-width:100%;
  height:auto;
}

@media (max-width:600px) {
  .social { gap:clamp(16px, 6vw, 32px); }
}
