:root{--color-background:#FAF9F6;--color-background-alt:#F2F5F7;--color-surface:#FFFFFF;--color-heading:#18324A;--color-text:#24313A;--color-text-muted:#66747D;--color-primary:#356A8A;--color-primary-hover:#274F69;--color-primary-light:#E8F0F5;--color-border:#D9E0E4;--color-border-dark:#BAC5CB;--color-dark:#18324A;--color-dark-text:#FFFFFF;--color-dark-muted:#D8E2E8;--font-heading:"Merriweather",Georgia,"Times New Roman",serif;--font-body:"Inter",Arial,Helvetica,sans-serif;--font-size-body:18px;--font-size-small:15px;--font-size-h1:clamp(2.6rem,5vw,4rem);--font-size-h2:clamp(2rem,3.5vw,2.8rem);--font-size-h3:1.4rem;--line-height-body:1.7;--line-height-heading:1.15;--content-width:1180px;--text-width:760px;--section-space:68px;--section-space-mobile:48px;--page-padding:28px;--border-radius:10px;--button-radius:6px;--shadow-card:0 4px 18px rgba(24,50,74,.08);--transition:180ms ease}
*{box-sizing:border-box}html{font-size:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--font-size-body);font-weight:400;line-height:var(--line-height-body);color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin-top:0;font-family:var(--font-heading);color:var(--color-heading);line-height:var(--line-height-heading);font-weight:700}h1{font-size:var(--font-size-h1);letter-spacing:-.025em;margin-bottom:22px}h2{font-size:var(--font-size-h2);letter-spacing:-.015em;margin-bottom:16px}h3{font-size:var(--font-size-h3)}p{margin-top:0;margin-bottom:1.15rem}a{color:var(--color-primary);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--color-primary-hover)}.container{width:min(calc(100% - (var(--page-padding)*2)),var(--content-width));margin:0 auto}.narrow{max-width:780px;text-align:center}.section{padding:var(--section-space) 0}.section-alt{background:var(--color-background-alt)}.eyebrow{margin-bottom:14px;color:var(--color-primary);font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.skip-link{position:absolute;left:20px;top:-100px;z-index:2000;padding:10px 16px;color:#fff;background:var(--color-heading);border-radius:4px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:1000;width:100%;background:rgba(250,249,246,.97);border-bottom:1px solid var(--color-border);backdrop-filter:blur(10px)}.header-container{width:min(calc(100% - (var(--page-padding)*2)),var(--content-width));min-height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px}.site-brand{display:flex;flex-direction:column;color:var(--color-heading);text-decoration:none;line-height:1.15}.site-brand:hover{color:var(--color-heading)}.brand-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;letter-spacing:-.015em}.brand-tagline{margin-top:5px;font-size:.72rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.035em}.primary-navigation{display:flex;align-items:center;gap:30px}.primary-navigation>a{position:relative;padding:8px 0;font-size:.95rem;font-weight:600;color:var(--color-text);text-decoration:none;transition:color var(--transition)}.primary-navigation>a:not(.nav-button):hover,.primary-navigation>a.active{color:var(--color-primary)}.primary-navigation>a.active:not(.nav-button)::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--color-primary)}.primary-navigation .nav-button{padding:10px 18px;color:#fff;background:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--button-radius);font-size:.9rem}.primary-navigation .nav-button:hover{color:#fff;background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.menu-toggle{display:none;width:44px;height:44px;padding:9px;background:transparent;border:1px solid var(--color-border);border-radius:6px;cursor:pointer}.menu-toggle span{display:block;width:100%;height:2px;margin:5px 0;background:var(--color-heading);transition:var(--transition)}
.hero{padding-top:76px;padding-bottom:76px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:60px;align-items:center}.hero-lead{max-width:760px;font-size:1.16rem}.hero-note{max-width:700px;margin-top:18px;color:var(--color-text-muted);font-size:.94rem}.button-row{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--button-radius);font-size:1rem;font-weight:600;text-decoration:none;transition:var(--transition)}.button-primary{color:#fff;background:var(--color-primary);border:2px solid var(--color-primary)}.button-primary:hover{color:#fff;background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button-secondary{color:var(--color-primary);background:transparent;border:2px solid var(--color-primary)}.button-secondary:hover{color:#fff;background:var(--color-primary)}.hero-panel{padding:28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-card)}.hero-panel>div:not(.hero-mark){padding:11px 0;border-bottom:1px solid var(--color-border)}.hero-panel>div:last-child{border-bottom:0}.hero-panel strong,.hero-panel span{display:block}.hero-panel span{font-size:.88rem;color:var(--color-text-muted)}.hero-mark{width:64px;height:64px;margin-bottom:16px;display:grid;place-items:center;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);font-family:var(--font-heading);font-weight:700}.section-heading{text-align:center;max-width:700px;margin:0 auto 32px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-card);padding:0 26px 26px}.card-top{height:145px;margin:0 -26px 22px;display:grid;place-items:center;background:var(--color-primary-light)}.card-top span{font-family:var(--font-heading);font-size:2.2rem;color:var(--color-heading);opacity:.78}.card-top.grace{background:#f4f1e8}.card-top.countryside{background:#edf1ee}.project-category{margin-bottom:8px;color:var(--color-primary);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-card h3{margin-bottom:12px}.project-card p:not(.project-category){font-size:.96rem}.text-link{font-weight:700;text-decoration:none}.status{display:inline-block;margin-top:6px;padding:7px 10px;border-radius:5px;background:var(--color-primary-light);color:var(--color-primary);font-size:.72rem;font-weight:700;letter-spacing:.08em}.split-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:68px;align-items:start}.split-section h2{font-size:clamp(2.5rem,5vw,4.2rem)}.prose{max-width:720px}.emphasis{font-weight:700;color:var(--color-heading)}.statement-band{padding:42px 0;text-align:center;background:var(--color-dark);color:var(--color-dark-text)}.statement-band p{margin-bottom:7px;font-size:1.05rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.statement-band p span{color:#9cb8c9;padding:0 7px}.statement-band strong{font-family:var(--font-heading);font-size:1.28rem}.coming blockquote{margin:20px 0 24px;font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.1rem);font-style:italic;color:var(--color-heading)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center}.portrait-placeholder{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--color-border-dark);border-radius:var(--border-radius);background:var(--color-surface);color:var(--color-text-muted)}.portrait-placeholder span{font-family:var(--font-heading);font-size:2rem;color:var(--color-heading)}.portrait-placeholder small{max-width:240px;margin-top:10px}.contact p{font-size:1.05rem}.contact-note{margin-top:14px!important;font-size:.78rem!important;color:var(--color-text-muted)}.site-footer{padding-top:50px;background:var(--color-dark);color:var(--color-dark-muted)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;padding-bottom:36px}.footer-brand{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:#fff}.site-footer h3{font-family:var(--font-body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}.site-footer a{display:block;margin:7px 0;color:var(--color-dark-muted);text-decoration:none}.site-footer a:hover{color:#fff}.footer-bottom{padding:18px 0;border-top:1px solid rgba(255,255,255,.15);font-size:.82rem}
@media(max-width:900px){.hero-grid,.about-grid{grid-template-columns:1fr;gap:45px}.project-grid{grid-template-columns:1fr}.project-card{max-width:700px;width:100%;margin:0 auto}.split-section{grid-template-columns:1fr;gap:20px}.split-section h2 br{display:none}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.hero-panel{max-width:620px}}
@media(max-width:850px){:root{--font-size-body:17px;--page-padding:20px}.section{padding-top:var(--section-space-mobile);padding-bottom:var(--section-space-mobile)}.hero{padding-top:54px;padding-bottom:54px}.header-container{min-height:70px}.brand-name{font-size:1.15rem}.brand-tagline{display:none}.menu-toggle{display:block}.primary-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:18px var(--page-padding) 26px;background:var(--color-background);border-bottom:1px solid var(--color-border);box-shadow:0 10px 24px rgba(24,50,74,.08)}.primary-navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.primary-navigation>a{display:block;width:100%;padding:14px 4px;font-size:1.05rem;border-bottom:1px solid var(--color-border)}.primary-navigation>a.active::after{display:none}.primary-navigation .nav-button{width:auto;margin-top:20px;padding:13px 20px;text-align:center;border-bottom:2px solid var(--color-primary)}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}
@media(max-width:600px){.button-row{flex-direction:column}.button-row .button{width:100%}.hero-grid{gap:32px}.hero-panel{padding:25px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.statement-band p span{padding:0 3px}.statement-band p{font-size:.85rem}.project-card{padding-left:24px;padding-right:24px}.card-top{margin-left:-24px;margin-right:-24px}}

.card-top img{width:100%;height:100%;object-fit:cover;display:block}.card-top.countryside{display:block;background:#edf1ee}
