:root{--color-bg:#fff;--color-surface:#f8f7f4;--color-text:#3a3a3a;--color-text-muted:#6b6b6b;--color-heading:#1a3c2a;--color-primary:#c49a2c;--color-secondary:#2d5a3f;--color-dark:#35684a;--color-white:#fff;--font-heading:'Playfair Display',Georgia,serif;--font-body:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--space-xs:8px;--space-sm:16px;--space-md:32px;--space-lg:64px;--space-xl:96px;--max-width:1080px;--radius:4px;} *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;} html{-webkit-text-size-adjust:100%;text-size-adjust:100%;} img,iframe{max-width:100%;height:auto;display:block;} a img{border:none;} ul,ol{padding-left:1.5em;} body{font-family:var(--font-body);font-size:18px;line-height:1.7;color:var(--color-text);background:var(--color-bg);} h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-heading);font-weight:400;line-height:1.25;} h1{font-size:2.5rem;margin-bottom:0.5em;} h2{font-size:1.75rem;margin-bottom:0.5em;} h3{font-size:1.25rem;margin-bottom:0.4em;font-weight:600;} h4{font-size:1.1rem;margin-bottom:0.3em;font-weight:600;} h5{font-size:1rem;margin-bottom:0.3em;font-weight:600;} h6{font-size:0.875rem;margin-bottom:0.3em;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;} p{margin-bottom:1em;} p:last-child{margin-bottom:0;} strong{font-weight:600;} hr{border:none;border-top:1px solid var(--color-primary);opacity:0.25;margin:var(--space-lg) 0;} a{color:var(--color-primary);text-decoration:none;transition:color 0.2s;} a:hover{color:var(--color-secondary);text-decoration:underline;} .wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-sm);position:relative;} .grid{display:grid;gap:var(--space-md);} .grid.half{grid-template-columns:repeat(2,1fr);} .grid.third{grid-template-columns:repeat(3,1fr);} .center{text-align:center;} .bg-dark{background-color:var(--color-dark);color:var(--color-white);} .bg-dark h2,.bg-dark h3,.bg-dark p{color:var(--color-white);} .bg-light{background-color:var(--color-surface);} .mid{align-items:center;} .established{font-family:var(--font-body);font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--color-primary);font-weight:600;margin-bottom:var(--space-xs);} .nolist{list-style:none;padding-left:0;} .btn{display:inline-block;font-family:var(--font-body);font-size:0.85rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;background:var(--color-primary);color:var(--color-white);padding:12px 36px;border-radius:var(--radius);transition:background 0.2s;text-decoration:none;} .btn:hover{background:var(--color-secondary);color:var(--color-white);text-decoration:none;} header{font-size:16px;border-bottom:1px solid rgba(0,0,0,0.06);position:relative;z-index:50;} header .wrap{padding:20px var(--space-sm);} header .grid{display:grid;grid-template-columns:200px 1fr;align-items:center;} header .grid>div:last-of-type{text-align:right;} nav ul{list-style:none;padding:0;} nav li{display:inline-block;margin-left:24px;} nav a{font-family:var(--font-body);font-weight:600;font-size:1rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text);text-decoration:none;} nav a:hover{color:var(--color-primary);text-decoration:none;} .hero{width:100%;height:280px;background-image:url(/images/city-background.jpg);background-size:cover;background-repeat:no-repeat;background-position:center;position:relative;display:flex;align-items:center;overflow:hidden;} .hero::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(53,104,74,0.35);z-index:1;} .hero>.wrap{position:relative;z-index:2;text-align:center;width:100%;} .hero h1{color:var(--color-white);text-shadow:0 2px 8px rgba(0,0,0,0.3);margin-bottom:0;font-weight:600;} .hero p{color:var(--color-white);text-shadow:0 1px 4px rgba(0,0,0,0.2);font-size:1.1rem;} .hero .established{color:rgba(255,255,255,0.85);} .hero .btn{margin-top:var(--space-sm);} .row1 .wrap,.row2 .wrap,.row3 .wrap,.row4 .wrap{padding:var(--space-lg) var(--space-sm);} .row1 .grid{grid-template-columns:2fr 1fr;align-items:center;} .row2{text-align:center;} .row2 h2,.row2 p{text-align:center;} .row3 h2,.row3>.wrap>p{text-align:center;} .labels{display:flex;justify-content:center;align-items:center;gap:var(--space-md);flex-wrap:wrap;padding:var(--space-md) 0;} .labels img{max-height:180px;width:auto;border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,0.1);} .timeline{position:relative;padding:var(--space-md) 0;} .timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(196,154,44,0.85),rgba(196,154,44,0.18));} .timeline-item{position:relative;padding:var(--space-sm) 0;display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;opacity:0;transform:translateY(30px);transition:opacity 0.6s ease,transform 0.6s ease;} .timeline-item.visible{opacity:1;transform:translateY(0);} .timeline-item::before{content:"";position:absolute;left:50%;top:calc(var(--space-sm) + 14.5px);width:19px;height:19px;border-radius:50%;background:var(--color-primary);border:3px solid var(--color-bg);box-shadow:0 0 0 1.5px rgba(196,154,44,0.5);transform:translateX(-50%);z-index:2;} .timeline-content p{text-wrap:pretty;} .timeline-content{position:relative;background:var(--color-white);border:1px solid rgba(26,60,42,0.10);border-radius:var(--radius);padding:18px 22px;box-shadow:0 2px 14px rgba(26,60,42,0.07);} .timeline-content::after{content:"";position:absolute;top:24px;width:27px;height:1px;background:rgba(196,154,44,0.55);} .timeline-item:nth-child(odd) .timeline-content{grid-column:1;grid-row:1;text-align:right;border-right:3px solid var(--color-primary);} .timeline-item:nth-child(odd) .timeline-content::after{right:-27px;} .timeline-item:nth-child(even) .timeline-content{grid-column:2;grid-row:1;border-left:3px solid var(--color-primary);} .timeline-item:nth-child(even) .timeline-content::after{left:-27px;} .timeline-year{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--color-primary);letter-spacing:0.02em;margin-bottom:7px;} .timeline-content p{margin:0;color:var(--color-text-muted);} .bio-header{display:grid;grid-template-columns:260px 1fr;gap:var(--space-md);align-items:start;padding:var(--space-sm) 0 var(--space-lg);} .bio-header img{width:100%;border-radius:var(--radius);box-shadow:0 4px 20px rgba(0,0,0,0.08);} .bio-header h2{margin-bottom:4px;} .bio-header .title{font-family:var(--font-body);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-primary);margin-bottom:var(--space-sm);font-weight:600;} .contact .grid{padding:var(--space-md) 0;} .contact .grid>div{padding:var(--space-md);border-radius:var(--radius);display:grid;place-items:center;} .contact h3{text-align:center;margin-bottom:var(--space-sm);} .contact ul{list-style:none;padding:0;} .contact li{margin:6px 0;} .contact a{color:var(--color-text);} .contact a:hover{color:var(--color-primary);text-decoration:none;} form{margin:var(--space-md) 0;} form .grid{gap:0 var(--space-xs);} form input[type=text],form input[type=email],form input[type=tel],form textarea{font-family:var(--font-body);font-size:16px;width:100%;padding:0 14px;margin-bottom:12px;border:1px solid rgba(0,0,0,0.12);border-radius:var(--radius);background:var(--color-white);color:var(--color-text);outline:none;transition:border-color 0.2s;} form input[type=text],form input[type=email],form input[type=tel]{height:48px;} form textarea{height:140px;padding:14px;} form input:focus,form textarea:focus{border-color:var(--color-primary);} form input[type=submit]{font-family:var(--font-body);font-size:0.85rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;min-width:200px;padding:12px 36px;background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius);cursor:pointer;transition:background 0.2s;} form input[type=submit]:hover{background:var(--color-secondary);} ::placeholder{color:var(--color-text-muted);} .cta{background-image:url(/images/city-background.jpg);background-size:cover;background-repeat:no-repeat;background-position:center;position:relative;text-align:center;} .cta::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(53,104,74,0.88);} .cta .wrap{padding:var(--space-lg) var(--space-sm);position:relative;z-index:1;} .cta h2,.cta p{color:var(--color-white);text-align:center;} .cta p{max-width:600px;margin:0 auto var(--space-sm);} .cta form{margin-top:var(--space-md);} footer .subfoot{background:var(--color-dark);} footer .subfoot .wrap{padding:var(--space-sm);} footer .subfoot,footer .subfoot p,footer .subfoot a{color:rgba(255,255,255,0.6);font-size:14px;} footer .subfoot .grid{display:grid;grid-template-columns:1fr auto;align-items:center;} footer .subfoot .grid>div:last-of-type{text-align:right;} footer .subfoot .grid>div:last-of-type img{display:inline-block;} footer .foot-about{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-md);padding:var(--space-lg) 0 var(--space-md);} footer .foot-about img{margin-bottom:var(--space-sm);} footer .foot-about h4{color:var(--color-white);font-family:var(--font-body);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:var(--space-xs);} footer .foot-about li{margin:4px 0;} footer .foot-about a:hover{color:var(--color-primary);text-decoration:none;} footer .foot-about .established{color:var(--color-primary);margin-top:var(--space-sm);margin-bottom:0;} footer .legal{border-top:1px solid rgba(255,255,255,0.12);padding-top:var(--space-sm);} main{padding:var(--space-lg) var(--space-sm);} main ul,main ol{margin-bottom:1em;} main li{margin:6px 0;} .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;} .nav-toggle span{display:block;width:24px;height:2px;background:var(--color-text);margin:5px 0;transition:transform 0.3s,opacity 0.3s;} @media (max-width:768px){body{font-size:16px;} h1{font-size:1.75rem;} h2{font-size:1.4rem;} h3{font-size:1.1rem;} .wrap{padding:0 var(--space-sm);} header .grid{display:flex;justify-content:space-between;align-items:center;} header .grid>div:first-child img{width:160px;} .nav-toggle{display:block;} nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border-top:1px solid rgba(0,0,0,0.06);box-shadow:0 4px 12px rgba(0,0,0,0.08);z-index:100;padding:var(--space-sm) 0;} nav.open{display:block;} nav ul{display:flex;flex-direction:column;align-items:center;} nav li{display:block;margin:0;} nav a{display:block;padding:12px 24px;font-size:1rem;} .hero{height:200px;} .hero h1{font-size:1.5rem;padding:0 var(--space-sm);} .hero p{font-size:0.95rem;padding:0 var(--space-sm);} .grid.half,.grid.third{grid-template-columns:1fr;} .row1 .grid{grid-template-columns:1fr;gap:var(--space-sm);} .row1 .wrap,.row2 .wrap,.row3 .wrap,.row4 .wrap{padding:var(--space-md) var(--space-sm);} .row4 .grid.half img{max-width:200px;margin:0 auto;} .labels{gap:var(--space-sm);} .labels img{max-height:100px;} .timeline::before{left:10px;} .timeline-item{grid-template-columns:1fr;gap:0;padding-left:36px;} .timeline-item::before{left:10px;top:calc(var(--space-sm) + 25px);} .timeline-item:nth-child(odd) .timeline-content,.timeline-item:nth-child(even) .timeline-content{grid-column:1;grid-row:auto;text-align:left;padding:16px 18px;border-left:3px solid var(--color-primary);border-right:1px solid rgba(26,60,42,0.10);} .timeline-content::after{display:none;} .timeline-year{font-size:1.1rem;} .bio-header{grid-template-columns:1fr;text-align:center;} .bio-header img{max-width:200px;margin:0 auto;} .bio-header .title{text-align:center;} .bio-header h2{text-align:center;} .contact .grid>div{padding:var(--space-sm);} form .grid.half{grid-template-columns:1fr;} form input[type=submit]{width:100%;min-width:unset;} .cta .wrap{padding:var(--space-md) var(--space-sm);} footer .subfoot .grid{grid-template-columns:1fr;text-align:center;gap:var(--space-xs);} footer .subfoot .grid>div:last-of-type{text-align:center;} footer .foot-about{grid-template-columns:1fr;gap:var(--space-md);padding:var(--space-md) 0;text-align:center;} footer .foot-about img{margin:0 auto var(--space-sm);} main{padding:var(--space-md) var(--space-sm);} .btn{padding:14px 32px;font-size:0.9rem;}} .tbd{color:var(--color-text-muted);font-style:italic;} 