/* Shared design tokens. Content lives directly in each HTML file. */
:root{--green:#173d32;--ivory:#f7f5ef;--ink:#243b32;--muted:#54675d;--line:#cbd1c7;--accent:#c7b68c;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font:17px/1.75 var(--sans)}a{color:inherit;text-underline-offset:.3em}a:hover{text-decoration:underline}a:focus-visible{outline:3px solid #927631;outline-offset:6px}main:focus{outline:none}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{text-decoration:none;display:flex;align-items:center;gap:18px}.brand-mark{font:32px var(--serif);letter-spacing:.15em}.brand-name{border-left:1px solid var(--line);padding-left:18px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{font-size:13px;text-decoration:none;padding:10px 0}nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:9px}.hero{background:var(--green);color:var(--ivory);padding:76px 0 68px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 26px;font-weight:600}.hero .eyebrow{color:#d6caa9}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.16;margin:0}h1{font-size:clamp(44px,6.7vw,88px);letter-spacing:-.045em;max-width:950px}.home-hero{padding-top:68px;padding-bottom:32px}.home-hero h1{font-size:clamp(58px,8.3vw,112px);line-height:1.05}.period{color:var(--accent)}.hero-bottom{margin-top:52px;border-top:1px solid #507164;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-bottom p{font:23px var(--serif);margin:0}.hero-bottom span{font-size:12px;letter-spacing:.06em}.hero-tagline{font:italic 23px var(--serif);margin:28px 0 0;color:#dfdfce}.section{padding-block:80px}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.025em}h2 em{font-weight:400}.prose p{margin:0 0 22px}.prose p:last-child{margin-bottom:0}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:14px;text-decoration:none;border-bottom:1px solid var(--muted);padding-bottom:6px;margin-top:8px}.text-link span{font-size:21px}.perspective{background:#e9ede4;border-block:1px solid var(--line)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.principles article{border-top:1px solid #8e9e8c;padding-top:27px}.principles h2{font-size:30px}.principles p{margin:20px 0 0;font-size:16px}.interest-row{padding:42px 0;border-top:1px solid var(--line)}.interest-rows{padding-bottom:60px}.contact-note{font-size:13px;color:var(--muted);margin-top:26px!important}footer{border-top:1px solid var(--line);padding:42px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:32px;padding-bottom:44px}.footer-brand{font:24px var(--serif);text-decoration:none}.footer-top p{font-size:13px;color:var(--muted);margin:0 0 8px}.footer-top a:not(.footer-brand){font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:12px}.footer-bottom small{font-size:12px}.skip-link{position:absolute;left:20px;top:-100px;padding:12px;background:var(--ivory);z-index:2}.skip-link:focus{top:12px}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.brand-name{display:none}.split{gap:40px}.principles{gap:24px}.principles h2{font-size:26px}.section{padding-block:60px}nav{gap:22px}}
@media(max-width:600px){body{font-size:16px;line-height:1.7}.wrap{width:calc(100% - 40px)}.site-header{padding-block:22px;min-height:0;display:block}.brand-mark{font-size:27px}.brand-name{display:block;font-size:10px}nav{gap:0;justify-content:space-between;margin-top:20px}nav a{font-size:12px;min-height:44px;padding-top:10px}.hero{padding-block:50px}.home-hero{padding-bottom:25px}.home-hero h1{font-size:clamp(50px,13vw,72px)}.hero-bottom{margin-top:36px;display:block}.hero-bottom p{font-size:21px;margin-bottom:14px}.hero-tagline{font-size:21px}.section{padding-block:48px}.split{grid-template-columns:1fr;gap:28px}.principles{grid-template-columns:1fr;gap:32px}.principles h2{font-size:29px}.principles p{margin-top:12px}.interest-row{padding-block:34px}.interest-rows{padding-bottom:34px}.footer-top,.footer-bottom{flex-direction:column}.footer-top{padding-bottom:28px}.footer-bottom{gap:10px}.eyebrow{margin-bottom:22px}}
@media(forced-colors:active){.hero,.perspective{border-block:1px solid CanvasText}a:focus-visible{outline-color:Highlight}}

/* Keep long page titles within narrow viewports. */
h1{overflow-wrap:anywhere}

@media(max-width:600px){body:has(.contact-note) h1{font-size:36px}}

/* Version 2: compact, shared hero proportions. */
.site-header{min-height:88px}
.hero,.home-hero{padding-block:32px}
.hero h1,.home-hero h1{font-size:46px;line-height:1.16;letter-spacing:-.035em}
.hero .eyebrow{margin-bottom:12px}
.hero-tagline{font-size:20px;margin-top:14px}
.hero-bottom{margin-top:20px;padding-top:14px}
.section{padding-block:44px}
@media(max-width:600px){
  .site-header{min-height:0;padding-block:18px}
  nav{margin-top:12px}
  .hero,.home-hero{padding-block:24px}
  .hero h1,.home-hero h1,body:has(.contact-note) .hero h1{font-size:clamp(30px,8.2vw,36px)}
  .hero-bottom{margin-top:16px;padding-top:12px}
  .hero-tagline{font-size:18px;margin-top:12px}
  .section{padding-block:32px}
}

/* Interests: independent full-width ivory and sage sections. */
.interest-rows{padding-bottom:0}
.interest-band{background:var(--ivory);color:var(--ink)}
.interest-band--sage{background:#e9ede4}
.interest-band .interest-row{border-top:0;padding-block:44px}
@media(max-width:600px){.interest-band .interest-row{padding-block:32px}}

/* Restrained corporate introduction and About heading hierarchy. */
.home-introduction .prose{max-width:720px;margin-inline:auto}
.holding-heading{font-size:clamp(26px,2.5vw,32px)}

/* Review v3: shared dark footer across all four pages. */
footer{background:var(--green);color:var(--ivory);border-top:0}
.footer-top p,.footer-bottom{color:#d2dfd5}
.footer-bottom{border-top-color:#557367}
footer a:focus-visible{outline-color:#e2c990}
/* Homepage: editorial introduction aligned with the About page. */
.home-introduction .split{align-items:start}
.home-introduction .prose{max-width:none;margin:0}
.home-introduction .intro-kicker{font:italic 24px var(--serif);margin:0 0 12px}
@media(max-width:600px){.home-introduction .intro-kicker{font-size:21px}}

/* Review v4: a welcoming editorial opening rather than a banner. */
.welcome{background:var(--ivory);border-top:1px solid #e8e7df}
.welcome-inner{padding-block:100px 110px;max-width:1120px}
.welcome-eyebrow{font-size:11px;letter-spacing:.2em;color:#567266;margin:0 0 26px}
.welcome h1{font-size:clamp(36px,4.5vw,62px);line-height:1.16;letter-spacing:-.025em;max-width:850px;color:var(--green)}
.welcome-lead{font:clamp(20px,2.15vw,28px)/1.5 var(--serif);max-width:760px;margin:27px 0 30px;color:#38564a}
.welcome-signoff{font:italic 20px var(--serif);color:#526f61;margin:0}
.welcome-about{padding-block:78px 86px;border-top:1px solid var(--line)}
.welcome-about .eyebrow{color:#557065;margin:0 0 22px}
.welcome-about .prose{max-width:580px}
.welcome-principles{padding-block:68px 80px}
.welcome-principles .eyebrow{margin-bottom:28px}
.welcome-closing{padding-block:64px 72px}
.welcome-closing .wrap{display:flex;justify-content:space-between;align-items:end;gap:28px}
.welcome-closing p{font:italic clamp(22px,2.4vw,31px)/1.45 var(--serif);margin:0;color:var(--green)}
/* A lighter, quieter footer on every page. */
footer{padding:24px 0 17px}
.footer-top{padding-bottom:20px;align-items:center}
.footer-brand{font-size:20px}
.footer-bottom{padding-top:12px}
@media(max-width:600px){.welcome-inner{padding-block:64px 72px}.welcome h1{font-size:38px}.welcome-lead{font-size:21px}.welcome-about{padding-block:50px}.welcome-principles{padding-block:48px}.welcome-closing{padding-block:46px}.welcome-closing .wrap{display:block}.welcome-closing .text-link{margin-top:22px}}

/* Review v5: two quiet panels, no duplicate principles or inline navigation. */
.v5-welcome{background:#e9ede4;border-top:1px solid var(--line)}
.v5-welcome-inner{padding-block:88px 94px}
.v5-welcome .eyebrow{color:#526c5e;margin-bottom:23px}
.v5-welcome h1{font-size:clamp(38px,4.2vw,58px);letter-spacing:-.025em;max-width:820px}
.v5-lead{font:clamp(21px,2.2vw,29px)/1.48 var(--serif);max-width:750px;margin:26px 0 24px}
.v5-signoff{font:italic 20px var(--serif);color:#526c5e;margin:0}
.v5-about{background:var(--ivory);padding-block:78px 86px}
.v5-about .eyebrow{color:#526c5e;margin-bottom:22px}
.v5-about .prose{max-width:550px}
.v5-principle{font:italic 22px/1.5 var(--serif);color:var(--green);padding-top:12px}
@media(max-width:600px){.v5-welcome-inner{padding-block:57px 65px}.v5-welcome h1{font-size:38px}.v5-lead{font-size:21px}.v5-about{padding-block:52px 58px}.v5-principle{font-size:20px}}

/* Review v6: one continuous, legible corporate masthead across all pages. */
.brand-full{font:400 clamp(22px,2.1vw,30px)/1.2 var(--serif);letter-spacing:-.015em;color:var(--green);white-space:nowrap}
@media(max-width:600px){.brand-full{font-size:25px;white-space:normal}}

/* Review v7: Interests-only typesetting. All other pages remain unchanged. */
.interests-page .hero h1{font-size:clamp(32px,3.2vw,39px);letter-spacing:-.025em;line-height:1.2}
.interests-page .interest-band h2{font-size:clamp(26px,2.35vw,32px);letter-spacing:-.02em;line-height:1.23}
.interests-page .interest-band .interest-row{padding-block:37px}
@media(max-width:600px){
 .interests-page .hero h1{font-size:clamp(29px,7.5vw,35px)}
 .interests-page .interest-band h2{font-size:28px}
 .interests-page .interest-band .interest-row{padding-block:31px}
}

/* Review v8: Contact-only presentation; approved pages unchanged. */
.contact-page .hero h1{font-size:clamp(32px,3.2vw,39px);letter-spacing:-.025em}
.contact-intro{background:#e9ede4;padding-block:66px 72px}
.contact-details{background:var(--ivory);padding-block:66px 78px}
.contact-intro .eyebrow,.contact-details .eyebrow{color:#526c5e;margin-bottom:18px}
.contact-intro h2,.contact-details h2{font-size:clamp(28px,2.6vw,35px)}
.contact-page .prose{max-width:510px}
.contact-page .prose p{margin-bottom:17px}
.contact-page .contact-note{font-size:12px;line-height:1.65;max-width:470px;margin-top:22px!important}
@media(max-width:600px){.contact-intro,.contact-details{padding-block:43px 48px}.contact-page .hero h1{font-size:clamp(29px,7.5vw,35px)}}

/* Review v9: Contact-only layout and non-submitting form design preview. */
.contact-page .contact-intro{padding-block:52px 56px}
.contact-page .contact-location{font-size:14px;color:var(--muted);margin:16px 0 0}
.contact-form-section{background:var(--ivory);padding-block:58px 72px}
.contact-form-section .eyebrow{color:#526c5e;margin-bottom:18px}
.contact-form-section h2{font-size:clamp(27px,2.6vw,34px);max-width:360px}
.contact-form-preview{display:flex;flex-direction:column;gap:8px;max-width:510px}
.contact-form-preview label{font-size:13px;font-weight:600;margin-top:10px}
.contact-form-preview input,.contact-form-preview textarea{font:16px/1.5 var(--sans);padding:13px 14px;border:1px solid #a9b7aa;border-radius:2px;background:#fffefa;color:var(--ink);width:100%;opacity:1}
.contact-form-preview input:disabled,.contact-form-preview textarea:disabled{opacity:1;-webkit-text-fill-color:var(--muted)}
.contact-form-preview button{align-self:flex-start;border:1px solid var(--green);background:var(--green);color:var(--ivory);font:14px var(--sans);padding:13px 22px;margin-top:16px;opacity:.72;cursor:not-allowed}
.contact-form-preview button span{margin-left:20px}
.contact-preview-note{font-size:12px;line-height:1.6;color:var(--muted);margin-top:18px;max-width:510px}
@media(max-width:600px){.contact-page .contact-intro{padding-block:42px}.contact-form-section{padding-block:44px 52px}}
