:root{--g:#2F5D3A;--gd:#244a2e;--b:#E8DCC4;--bl:#F5EEE0;--a:#A0522D;--t:#2B2B2B;--m:#5d584f;--serif:'Playfair Display',Georgia,serif;--sans:Lato,'Source Sans 3',system-ui,sans-serif;
--mosaic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cg fill='none' stroke='%23A0522D' stroke-opacity='.16'%3E%3Cpath d='M20 2 38 20 20 38 2 20z'/%3E%3Ccircle cx='20' cy='20' r='5'/%3E%3C/g%3E%3C/svg%3E")}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:400 1.075rem/1.75 var(--sans);color:var(--t);background:var(--bl)}
img{max-width:100%;height:auto;display:block}a{color:var(--a)}h1,h2,h3{font-family:var(--serif);color:var(--g);line-height:1.2;margin:0 0 .6em}
.wrap{max-width:1140px;margin:0 auto;padding:0 1.25rem}.narrow{max-width:780px}.center{text-align:center;justify-content:center}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
.hdr{position:sticky;top:0;z-index:50;background:rgba(245,238,224,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(47,93,58,.12)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--g);font:700 1.2rem var(--serif)}
.mono{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:var(--g);color:var(--b);font-size:.95rem;box-shadow:inset 0 0 0 2px var(--g),inset 0 0 0 3.5px var(--a)}
nav ul{list-style:none;display:flex;gap:.3rem;margin:0;padding:0}
nav a{display:block;padding:.45rem .8rem;border-radius:6px;text-decoration:none;color:var(--t);font-weight:700;font-size:.95rem}
nav a:hover{color:var(--g);background:rgba(47,93,58,.07)}nav a[aria-current]{color:var(--a);box-shadow:inset 0 -2px var(--a)}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}
.menu-btn span{display:block;height:2px;background:var(--g);margin:6px 0;transition:.25s}
@media(max-width:900px){.menu-btn{display:block}
 nav{position:fixed;inset:70px 0 auto 0;background:var(--bl);border-bottom:3px solid var(--a);box-shadow:0 12px 30px rgba(0,0,0,.08);transform:translateY(-8px);opacity:0;visibility:hidden;transition:.25s}
 nav ul{flex-direction:column;padding:.75rem 1.25rem 1.25rem}nav a{padding:.8rem .5rem;font-size:1.05rem;border-bottom:1px solid rgba(47,93,58,.1);border-radius:0}
 .nav-open nav{transform:none;opacity:1;visibility:visible}
 .nav-open .menu-btn span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-open .menu-btn span:nth-child(2){opacity:0}.nav-open .menu-btn span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}}
.hero{background:var(--mosaic),linear-gradient(160deg,var(--b),var(--bl));overflow:hidden;border-bottom:6px solid var(--g)}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end;min-height:calc(100vh - 70px);max-height:820px;padding-top:3rem}
.hero-txt{align-self:center;padding-bottom:3rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;font-weight:700;color:var(--a);margin:0 0 .6rem}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:.2em}.sub{font:600 clamp(1.15rem,2.2vw,1.5rem) var(--serif);color:var(--a);margin:0 0 1.2rem}
.slogan{font-size:1.2rem;font-style:italic;color:var(--m);max-width:30ch;border-left:3px solid var(--a);padding-left:1rem}
.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:999px;background:var(--a);color:#fff;text-decoration:none;font-weight:700;border:2px solid var(--a);cursor:pointer;font:700 1rem var(--sans);transition:.2s}
.btn:hover{background:#8a4526;border-color:#8a4526;transform:translateY(-1px)}.btn-o{background:transparent;color:var(--g);border-color:var(--g)}.btn-o:hover{background:var(--g);color:#fff;border-color:var(--g)}
.btn-l{background:var(--b);color:var(--g);border-color:var(--b)}.btn-ol{background:transparent;color:var(--b);border-color:var(--b)}.btn-ol:hover{background:var(--b);color:var(--g)}.full{width:100%;text-align:center}
.hero-img{position:relative;display:flex;justify-content:center;align-self:end}
.arch{position:absolute;bottom:0;width:78%;height:82%;border-radius:999px 999px 0 0;background:var(--g);box-shadow:0 0 0 10px var(--b),0 0 0 12px var(--a)}
.portrait{position:relative}.hero .portrait img{max-height:640px;width:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.18))}
.sec{padding:clamp(3rem,7vw,5.5rem) 0}.sec.alt{background:var(--b);background-image:var(--mosaic)}
h2.orn{font-size:clamp(1.7rem,3vw,2.3rem)}h2.orn:after{content:"";display:block;width:64px;height:10px;margin-top:.5rem;background:linear-gradient(90deg,var(--a) 0 22px,transparent 22px 28px,var(--g) 28px 46px,transparent 46px 52px,var(--a) 52px)}
h2.orn.center:after{margin-inline:auto}.more{font-weight:700;text-decoration:none}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.cards.four{grid-template-columns:repeat(4,1fr);margin-top:2rem}
.card{background:#fffaf1;border-radius:14px;padding:1.8rem;text-decoration:none;color:var(--t);border-top:4px solid var(--g);box-shadow:0 6px 22px rgba(47,93,58,.08);transition:.2s}
a.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(47,93,58,.15);border-top-color:var(--a)}
.card h3{font-size:1.25rem}.card p{margin:0;color:var(--m)}.ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--b);color:var(--a);font:700 1.1rem var(--serif);margin-bottom:1rem}
.phead{background:var(--g);color:var(--b);padding:clamp(2.5rem,6vw,4.5rem) 0;position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cg fill='none' stroke='%23E8DCC4' stroke-opacity='.09'%3E%3Cpath d='M20 2 38 20 20 38 2 20z'/%3E%3Ccircle cx='20' cy='20' r='5'/%3E%3C/g%3E%3C/svg%3E")}
.phead:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--a)}
.phead h1{color:#fff;font-size:clamp(2.1rem,5vw,3.4rem);margin:0}.lead{margin:.5rem 0 0;font-size:1.15rem;max-width:60ch;opacity:.92}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}
.about-img{position:sticky;top:100px;background:var(--b);background-image:var(--mosaic);border-radius:200px 200px 16px 16px;padding:2rem 1rem 0;border:3px solid var(--g);overflow:hidden}
blockquote{margin:2rem 0;padding:1.4rem 1.6rem;background:var(--b);border-left:5px solid var(--a);font:italic 600 1.35rem/1.5 var(--serif);color:var(--g);border-radius:0 12px 12px 0}
.big{font-size:1.2rem}.cta{background:var(--g);color:var(--b)}.cta h2{color:#fff}
.cv{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem}.tl{list-style:none;margin:0 0 3rem;padding:0 0 0 1.6rem;border-left:2px solid rgba(47,93,58,.25)}
.tl li{position:relative;padding:0 0 1.8rem}.tl li:before{content:"";position:absolute;left:calc(-1.6rem - 8px);top:.45rem;width:12px;height:12px;background:var(--a);transform:rotate(45deg);box-shadow:0 0 0 4px var(--bl)}
.tl-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;align-items:baseline}.tl h3{font-size:1.25rem;margin:0}
.date{font-size:.85rem;font-weight:700;color:var(--a);background:rgba(160,82,45,.1);padding:.15rem .7rem;border-radius:999px}
.org{margin:.1rem 0 .3rem;font-weight:700;color:var(--m)}.tl p{margin:.2rem 0}
.box{background:#fffaf1;border-radius:14px;padding:1.5rem;margin-bottom:1.25rem;border-top:4px solid var(--g);box-shadow:0 6px 22px rgba(47,93,58,.07)}.box h2{font-size:1.3rem}
.tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.tags li{background:var(--b);color:var(--g);font-weight:700;font-size:.9rem;padding:.3rem .8rem;border-radius:999px}
.plain{list-style:none;margin:0;padding:0}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:start}.clist{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.clist a{display:flex;gap:1rem;align-items:center;padding:1.2rem 1.4rem;background:#fffaf1;border-radius:14px;text-decoration:none;color:var(--t);box-shadow:0 6px 22px rgba(47,93,58,.08);transition:.2s;word-break:break-all}
.clist a:hover{transform:translateX(4px)}.clist strong{display:block;color:var(--g);font-family:var(--serif)}
.ci{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--g)}.ci svg{width:22px;fill:var(--b)}
.form{background:#fffaf1;padding:2rem;border-radius:16px;border-top:5px solid var(--a);box-shadow:0 6px 22px rgba(47,93,58,.08)}
.form label{display:block;font-weight:700;margin-bottom:1rem;color:var(--g)}.form input,.form textarea{display:block;width:100%;margin-top:.3rem;padding:.75rem .9rem;border:1.5px solid #cfc3a9;border-radius:8px;font:1rem var(--sans);background:#fff}
.form input:focus,.form textarea:focus{outline:2px solid var(--g);border-color:var(--g)}.note{font-size:.85rem;color:var(--m);margin:.8rem 0 0}
.ftr{background:var(--gd);color:var(--b)}.mosaic-band{height:12px;background:repeating-linear-gradient(90deg,var(--a) 0 12px,var(--b) 12px 16px,var(--g) 16px 28px,var(--b) 28px 32px)}
.ftr-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.6rem;padding-bottom:1.6rem}.ftr p{margin:0;font-size:.95rem}
.soc{display:flex;gap:.6rem}.soc a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(232,220,196,.12);transition:.2s}.soc a:hover{background:var(--a)}.soc svg{width:19px;fill:var(--b)}
@media(max-width:900px){.hero-in{grid-template-columns:1fr;min-height:0;max-height:none;text-align:center;padding-top:2.5rem}.hero-txt{padding-bottom:0}.slogan{margin-inline:auto;border:0;padding:0}.btns{justify-content:center}
 .hero .portrait img{max-height:420px}.cards,.cards.four{grid-template-columns:1fr 1fr}.about,.cv,.contact{grid-template-columns:1fr}.about-img{position:static;max-width:340px;margin:0 auto}}
@media(max-width:600px){.cards,.cards.four{grid-template-columns:1fr}.brand span:last-child{font-size:1.05rem}.ftr-in{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.about-txt ul,.narrow ul,.card ul{padding-left:1.2rem}.card h2{font-size:1.5rem}
.emb{display:block;width:44px;height:44px;flex:none;border-radius:50%;box-shadow:0 3px 10px rgba(31,66,40,.28)}.emb svg{width:100%;height:100%;display:block}
@media(max-width:600px){.emb{width:38px;height:38px}}
.stats{list-style:none;padding:0;margin:2.5rem 0 .5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stats li{background:var(--g);color:var(--b);border-radius:14px;padding:1.2rem;text-align:center;border-bottom:4px solid var(--a)}.stats strong{display:block;font:700 1.6rem var(--serif);color:#fff}.stats span{font-size:.85rem;opacity:.85}
.note.center{text-align:center;color:var(--m);font-size:.85rem;margin-bottom:2rem}.tcards .card ul{margin:.6rem 0 0;font-size:.95rem}.tcards .card li{margin:.35rem 0}.tmeta{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--a)!important;margin:0!important}.press{margin-top:2rem}
@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}}
.reports{margin-top:3rem}.reports .card .btns{margin-top:1rem}
.reports .card{display:flex;flex-direction:column}.reports .card .btns{margin-top:auto;padding-top:1rem}
