/*
Theme Name: Invitation Portfolio
Theme URI: https://example.com/
Author: Custom
Description: Editorial image-first invitation portfolio.
Version: 3.0
Requires at least: 6.0
License: GPL-2.0-or-later
Text Domain: invitation-portfolio
*/
:root{
  --ink:#24201d;
  --muted:#776f68;
  --paper:#f8f5f0;
  --line:#e5ded6;
  --accent:#8a6a4a;
  --white:#fff;
  --max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(248,245,240,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,222,214,.8)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-title{font-family:Georgia,serif;font-size:25px;letter-spacing:.04em}
.site-nav{display:flex;gap:28px;align-items:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.site-nav a:hover{color:var(--accent)}
.menu-toggle{display:none;background:none;border:0;font-size:24px}
.hero{padding:74px 0 58px;text-align:center}
.hero-kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,6vw,78px);line-height:1.03;margin:0 auto 22px;max-width:900px}
.hero p{max-width:650px;margin:0 auto;color:var(--muted);font-size:16px}
.hero-actions{margin-top:30px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.button{display:inline-block;padding:12px 22px;border:1px solid var(--ink);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.button:hover{background:var(--ink);color:#fff}
.button.filled{background:var(--ink);color:#fff}
.section{padding:35px 0 85px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.section-heading h2{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:0}
.section-heading p{margin:0;color:var(--muted);font-size:13px}
.filters{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:28px}
.filters a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.filters a.active,.filters a:hover{color:var(--ink)}
.portfolio-grid{columns:3 280px;column-gap:18px}
.card{break-inside:avoid;margin:0 0 18px;position:relative;overflow:hidden;background:#eee}
.card img{width:100%;transition:transform .5s ease}
.card:hover img{transform:scale(1.025)}
.card-caption{padding:12px 2px 8px;background:var(--paper)}
.card-title{font-family:Georgia,serif;font-size:17px}
.card-category{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.featured{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;background:#eee}
.featured-media{min-height:560px;background:#ddd}
.featured-media img{width:100%;height:100%;object-fit:cover}
.featured-copy{padding:clamp(30px,6vw,80px);display:flex;flex-direction:column;justify-content:center;background:#f0eae2}
.featured-copy .eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.featured-copy h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.05;margin:14px 0}
.featured-copy p{color:var(--muted);max-width:480px}
.cta{padding:80px 30px;text-align:center;background:#eee6dc;margin-top:30px}
.cta h2{font-family:Georgia,serif;font-weight:400;font-size:42px;margin:0 0 12px}
.cta p{color:var(--muted);margin:0 auto 25px;max-width:600px}
.site-footer{border-top:1px solid var(--line);padding:48px 0 30px;margin-top:20px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-title{font-family:Georgia,serif;font-size:24px}
.footer-grid p,.footer-grid a{font-size:13px;color:var(--muted)}
.footer-grid a:hover{color:var(--ink)}
.copyright{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:11px;color:var(--muted)}
.single-wrap{padding:60px 0 90px}
.single-image{max-height:80vh;width:auto;margin:auto}
.single-title{text-align:center;font-family:Georgia,serif;font-size:38px;font-weight:400;margin:25px 0 5px}
.single-meta{text-align:center;color:var(--muted);font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.single-content{max-width:720px;margin:25px auto;color:var(--muted);text-align:center}
.lightbox{position:fixed;inset:0;background:rgba(20,17,14,.94);display:none;align-items:center;justify-content:center;padding:30px;z-index:100}
.lightbox.open{display:flex}
.lightbox img{max-height:92vh;max-width:92vw;width:auto}
.lightbox-close{position:absolute;top:18px;right:25px;color:#fff;font-size:35px;background:none;border:0;cursor:pointer}
.empty{text-align:center;padding:80px 20px;color:var(--muted)}
@media(max-width:760px){
  .container{width:min(calc(100% - 30px),var(--max))}
  .header-inner{min-height:66px}
  .site-nav{display:none}
  .menu-toggle{display:block}
  .site-nav.open{display:flex;position:absolute;left:0;right:0;top:66px;background:var(--paper);padding:20px 15px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}
  .hero{padding:52px 0 38px}
  .hero h1{font-size:46px}
  .featured{display:block}
  .featured-media{min-height:420px}
  .footer-grid{grid-template-columns:1fr}
  .cta h2{font-size:34px}
}
