
:root{
  --bg:#f6f7f4;--surface:#fff;--ink:#111;--muted:#6f746f;--line:#e5e8e4;
  --accent:#00B56B;--accent-soft:#e9f8f1;--accent-dark:#008c53;--sand:#f1eee7;
  --max:1240px;--radius:22px;--shadow:0 14px 40px rgba(14,22,18,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.page-shell{min-height:100vh}
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,247,244,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,232,228,.85)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:-.02em}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:"DM Serif Display",serif;font-size:21px}
.brand-copy small{display:block;color:var(--muted);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nav-links a{padding:10px 12px;border-radius:999px;color:#424642;font-size:14px;font-weight:500}
.nav-links a:hover,.nav-links a.active{background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.05);color:var(--ink)}
.nav-links .cta{background:var(--ink);color:#fff;padding-inline:16px}
.nav-links .cta:hover{background:var(--accent);color:#fff}
.menu-btn{display:none;border:0;background:#fff;border-radius:12px;padding:10px}
.hero{padding:72px 0 44px}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:stretch}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-dark)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--accent);border-radius:2px}
h1,h2,h3{line-height:1.06;margin:0}
h1{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(48px,7vw,94px);font-weight:400;letter-spacing:-.04em;margin-top:18px}
.hero .lead{max-width:760px;font-size:clamp(18px,2vw,23px);color:#4d524d;margin:24px 0 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:14px;transition:.2s ease;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.08)}
.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.primary:hover{background:var(--accent);border-color:var(--accent)}
.btn.ghost{background:transparent}
.hero-card{border-radius:30px;background:var(--ink);color:#fff;padding:26px;min-height:430px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero-card::before,.hero-card::after{content:"";position:absolute;border-radius:999px}
.hero-card::before{width:260px;height:260px;background:var(--accent);right:-90px;top:-80px;opacity:.9}
.hero-card::after{width:180px;height:180px;background:#fff;left:-70px;bottom:-70px;opacity:.08}
.hero-card .portrait{position:absolute;inset:18px 18px 110px 18px;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,0)),radial-gradient(circle at 70% 20%,rgba(0,181,107,.28),transparent 38%),linear-gradient(135deg,#2a2f2c,#101210);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:24px}
.hero-card .portrait.with-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,0) 65%)}
.hero-card .portrait-copy{position:relative;z-index:2}
.hero-card .portrait-copy strong{font-family:"DM Serif Display",serif;font-size:30px;font-weight:400}
.hero-card .portrait-copy span{display:block;color:#cdd1ce;font-size:13px;margin-top:6px}
.hero-card .meta{position:absolute;left:26px;right:26px;bottom:24px;display:flex;justify-content:space-between;gap:14px}
.hero-card .meta div{font-size:12px;color:#cbd0cc}.hero-card .meta b{display:block;color:#fff;font-size:15px;margin-top:3px}
.section{padding:54px 0}.section.alt{background:#fff}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.section-head h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(34px,4vw,58px);font-weight:400;letter-spacing:-.025em}
.section-head p{max-width:620px;margin:0;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.22s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-media{aspect-ratio:16/10;background:linear-gradient(145deg,rgba(0,181,107,.08),rgba(0,0,0,.03)),var(--sand);position:relative;overflow:hidden;background-size:cover;background-position:center}
.card-media .shape{position:absolute;border-radius:999px;background:var(--accent);opacity:.95}
.card-media .shape.one{width:150px;height:150px;right:-25px;top:-30px}.card-media .shape.two{width:80px;height:80px;left:28px;bottom:22px;background:#111}
.card-media .label{position:absolute;left:18px;top:18px;background:rgba(255,255,255,.9);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.card-body{padding:20px}.card-body h3{font-size:21px;letter-spacing:-.02em}.card-body p{color:var(--muted);font-size:14px;margin:10px 0 0}
.card-meta{display:flex;justify-content:space-between;gap:16px;margin-top:18px;color:#8a8f8a;font-size:12px}
.link-arrow{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-weight:700;font-size:13px}.link-arrow:hover{color:var(--accent-dark)}
.marquee{padding:20px 0;border-block:1px solid var(--line);overflow:hidden;background:#fff;white-space:nowrap;font-weight:600;color:#303430}.marquee span{display:inline-block;margin-right:38px}.marquee i{color:var(--accent);font-style:normal;margin-right:10px}
.featured{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.featured-main,.featured-side{border-radius:28px;overflow:hidden;position:relative;min-height:430px}
.featured-main{background:radial-gradient(circle at 75% 22%,rgba(0,181,107,.9),transparent 0 18%,transparent 19%),linear-gradient(130deg,#151817 0 55%,#262c28 55%);background-size:cover;background-position:center;color:#fff;padding:34px;display:flex;align-items:flex-end}
.featured-main::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08) 70%)}.featured-main .content{max-width:630px;position:relative;z-index:2}.featured-main h3{font-family:"DM Serif Display",serif;font-size:clamp(36px,4vw,56px);font-weight:400}.featured-main p{color:#d5d8d6;max-width:560px}
.featured-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}.mini-feature{background:#fff;border:1px solid var(--line);border-radius:28px;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.mini-feature.green{background:var(--accent);border-color:var(--accent);color:#fff}.mini-feature h3{font-family:"DM Serif Display",serif;font-size:30px;font-weight:400}.mini-feature p{color:inherit;opacity:.78;font-size:14px}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden;margin-top:28px}.stat{background:#fff;padding:24px}.stat b{display:block;font-size:30px;letter-spacing:-.03em}.stat span{color:var(--muted);font-size:12px}
.page-hero{padding:56px 0 22px}.page-hero h1{font-size:clamp(44px,6vw,76px)}.page-hero p{max-width:760px;color:var(--muted);font-size:18px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 28px}.filter-btn{border:1px solid var(--line);background:#fff;padding:9px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:12px}.filter-btn.active,.filter-btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.article-list{display:grid;gap:14px}.article-row{display:grid;grid-template-columns:180px 1fr auto;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}
.article-thumb{aspect-ratio:4/3;border-radius:14px;background:linear-gradient(135deg,#e7f7ef,#fff 55%,#e8e6df);position:relative;overflow:hidden;background-size:cover;background-position:center}
.article-thumb.no-image::after{content:"";position:absolute;width:85px;height:85px;border-radius:50%;background:var(--accent);right:-20px;top:-12px}
.article-copy .kicker{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-dark)}.article-copy h3{margin-top:4px;font-size:23px}.article-copy p{margin:7px 0 0;color:var(--muted);font-size:14px}.article-date{color:#8d928d;font-size:12px;padding-right:10px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;align-items:start}.article-content{background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(24px,4vw,48px)}.article-content .deck{font-size:21px;color:#4e534f}.article-content p{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.85;color:#2c302d}.article-content h2{font-family:"DM Serif Display",serif;font-size:34px;font-weight:400;margin:34px 0 12px}.article-sidebar{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}.article-sidebar small{color:var(--muted)}
.audio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.audio-card{background:#111;color:#fff;border-radius:24px;padding:24px;position:relative;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;background-size:cover;background-position:center}.audio-card::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.2))}.audio-card:nth-child(even){background-color:var(--accent)}.audio-card>*{position:relative;z-index:2}.audio-top{display:flex;justify-content:space-between;gap:20px}.audio-number{font-family:"DM Serif Display",serif;font-size:74px;line-height:.9;opacity:.18}.audio-card h3{font-size:26px;max-width:480px}.audio-card p{color:rgba(255,255,255,.72);font-size:14px;max-width:520px}.player{margin-top:18px;display:flex;align-items:center;gap:12px}.play{width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#111;display:grid;place-items:center;cursor:pointer}.track{height:4px;background:rgba(255,255,255,.28);border-radius:999px;flex:1;overflow:hidden}.track span{display:block;height:100%;width:34%;background:#fff;border-radius:inherit}
.digital-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.post-card{aspect-ratio:1/1;border-radius:22px;background:#fff;border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;background-size:cover;background-position:center}.post-card.with-image::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.08))}.post-card.with-image>*{position:relative;z-index:2;color:#fff}.post-card .tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark)}.post-card h3{font-family:"DM Serif Display",serif;font-size:30px;font-weight:400;max-width:85%}.post-card .post-shape{position:absolute;width:180px;height:180px;border-radius:50%;background:var(--accent-soft);right:-70px;bottom:-70px}.post-card.dark{background:#111;color:#fff}.post-card.dark .tag{color:#74e5b6}.post-card.green{background:var(--accent);color:#fff;border-color:var(--accent)}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:14px}.gallery .tile{border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(135deg,#171a18,#3f4943);background-size:cover;background-position:center}.gallery .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,0) 70%)}.gallery .wide{grid-column:span 2}.gallery .tall{grid-row:span 2}.tile-copy{position:absolute;left:18px;bottom:18px;color:#fff;z-index:2}.tile-copy small{opacity:.7}.tile-copy h3{margin-top:4px}
.project-card{display:grid;grid-template-columns:.75fr 1.25fr;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;margin-bottom:18px}.project-visual{min-height:320px;background:radial-gradient(circle at 30% 30%,var(--accent) 0 18%,transparent 19%),linear-gradient(135deg,#171a18,#454f49);background-size:cover;background-position:center}.project-copy{padding:32px}.project-copy h3{font-family:"DM Serif Display",serif;font-size:42px;font-weight:400}.project-copy p{color:var(--muted)}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pill{font-size:11px;font-weight:700;padding:7px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start}.about-photo{border-radius:28px;background:linear-gradient(145deg,#161817,#444c47);min-height:560px;position:relative;overflow:hidden;background-size:cover;background-position:center}.about-photo.no-photo::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--accent);right:-80px;top:-60px}.about-copy{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px}.about-copy h2{font-family:"DM Serif Display",serif;font-size:45px;font-weight:400}.about-copy p{color:#4d524d}.skills{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.skill{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px;font-size:13px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.contact-card,.contact-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px}.contact-card h2,.contact-form h2{font-family:"DM Serif Display",serif;font-size:42px;font-weight:400}.contact-links{display:grid;gap:10px;margin-top:20px}.contact-link{padding:14px;border:1px solid var(--line);border-radius:14px}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:12px;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fafbf9;border-radius:14px;padding:13px 14px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(0,181,107,.10)}.field textarea{min-height:145px;resize:vertical}
.empty-state{border:1px dashed #ccd1cc;border-radius:20px;padding:40px;text-align:center;background:#fff;color:var(--muted)}
footer{padding:32px 0 44px;color:var(--muted);font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:24px}.admin-link{font-weight:700;color:#565b56}.admin-link:hover{color:var(--accent-dark)}
.reveal{opacity:0;transform:translateY(14px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.nav-links{display:none;position:absolute;top:74px;left:20px;right:20px;background:#fff;padding:14px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.nav-links.open{display:grid}.nav-links a{display:block}.menu-btn{display:block}.hero-grid,.featured,.about-grid,.contact-grid,.project-card,.article-layout{grid-template-columns:1fr}.hero-card{min-height:380px}.grid-3{grid-template-columns:repeat(2,1fr)}.stat-strip{grid-template-columns:repeat(2,1fr)}.article-sidebar{position:static}.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.container{width:min(100% - 24px,var(--max))}.hero{padding-top:42px}h1{font-size:52px}.grid-3,.grid-2,.audio-grid,.digital-grid{grid-template-columns:1fr}.article-row{grid-template-columns:110px 1fr}.article-date{grid-column:2}.stat-strip{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:210px}.gallery .wide,.gallery .tall{grid-column:auto;grid-row:auto}.section-head{align-items:start;flex-direction:column}.footer-inner{flex-direction:column;align-items:flex-start}}
