:root{
  --bg:#FDF8F0;
  --ink:#201A2B;
  --ink-soft:#5A5266;
  --coral:#FF5A5F;
  --turquoise:#12B8A8;
  --gold:#FFC145;
  --violet:#7B4DFF;
  --line: rgba(32,26,43,0.12);
  --card: #FFFFFF;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Manrope', sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0 0 .5em 0;
}
.mono{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.page-content{padding:64px 0 100px;}
.page-content p{color:var(--ink-soft);line-height:1.75;font-size:1.02rem;margin:0 0 20px;}
.page-content h3{margin-top:36px;font-size:1.3rem;}
.page-content ul{color:var(--ink-soft);line-height:1.8;padding-left:22px;margin-bottom:20px;}
.page-content li{margin-bottom:6px;}
.page-content a{color:var(--violet);text-decoration:underline;}

/* Nav */
header{position:sticky;top:0;z-index:50;background:rgba(253,248,240,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto;flex-wrap:wrap;gap:14px;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces', serif;font-weight:600;font-size:1.15rem;text-decoration:none;}
.brand-mark{height:42px;width:auto;display:block;}
.footer-logo{height:44px;width:auto;display:block;}
.brand svg{width:28px;height:28px;}
.navlinks{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:0.9rem;font-weight:600;flex-wrap:wrap;}
.navlinks a{text-decoration:none;color:var(--ink-soft);}
.navlinks a:hover, .navlinks a.active{color:var(--coral);}
.navcta{background:var(--ink);color:var(--bg);padding:9px 18px;border-radius:100px;font-weight:700;font-size:0.85rem;text-decoration:none;white-space:nowrap;}
.menu-btn{display:none;background:none;border:1.5px solid var(--line);border-radius:10px;width:42px;height:42px;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--ink);}
.mobile-menu{display:none;flex-direction:column;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 32px 18px;}
.mobile-menu a{padding:14px 4px;text-decoration:none;color:var(--ink);font-weight:600;font-size:1rem;border-bottom:1px solid var(--line);}
.mobile-menu a:last-child{border-bottom:none;}

/* Page header banner */
.pagehead{padding:64px 0 20px;}
.pagehead .eyebrow{display:flex;align-items:center;gap:8px;color:var(--violet);margin-bottom:14px;}
.pagehead .dot{width:7px;height:7px;border-radius:50%;background:var(--coral);}
.pagehead h1{font-size:clamp(2rem,4vw,2.9rem);max-width:760px;}
.breadcrumb{font-size:.82rem;color:var(--ink-soft);margin-bottom:18px;}
.breadcrumb a{text-decoration:none;}
.breadcrumb a:hover{color:var(--coral);}

/* Cards grid (projects/news list) */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;}
.card{background:var(--card);border-radius:18px;overflow:hidden;border:1px solid var(--line);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .2s, box-shadow .2s;}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(32,26,43,.10);}
.card .thumb{height:160px;background-size:cover;background-position:center;background-color:#eee;}
.card .body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column;}
.card .date{color:var(--turquoise);margin-bottom:8px;}
.card h3{font-size:1.02rem;line-height:1.4;font-weight:600;margin-bottom:10px;}
.card p{color:var(--ink-soft);font-size:.88rem;line-height:1.55;margin:0;flex:1;}
.card .more{margin-top:14px;font-size:.82rem;font-weight:700;}

/* Article detail */
.article-hero-img{width:100%;border-radius:20px;margin:24px 0 8px;max-height:460px;object-fit:cover;}
.article-body{max-width:760px;}
.article-meta{display:flex;gap:16px;align-items:center;margin-bottom:8px;color:var(--ink-soft);font-size:.9rem;}

/* Album */
.album-block{margin-bottom:70px;}
.album-block h2{font-size:1.6rem;margin-bottom:10px;}
.album-block .caption{color:var(--ink-soft);font-size:.92rem;max-width:720px;margin-bottom:24px;line-height:1.6;}
.album-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.album-photos img{border-radius:14px;aspect-ratio:1/1;object-fit:cover;width:100%;}

/* Footer */
footer{padding:80px 0 40px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--line);}
.footer-grid h4{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:18px;color:var(--ink-soft);}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid li{margin-bottom:10px;font-size:0.92rem;}
.footer-grid a{text-decoration:none;}
.footer-grid a:hover{color:var(--coral);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;font-size:0.82rem;color:var(--ink-soft);flex-wrap:wrap;gap:10px;}
.ring-bullet{width:16px;height:16px;flex-shrink:0;}

@media(max-width:920px){
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .album-photos{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .navlinks{display:none;}
  .navcta{display:none;}
  .menu-btn{display:block;}
}
@media(max-width:600px){
  .card-grid{grid-template-columns:1fr;}
}
