:root{
  --paper-0:#FFFFFF;
  --paper-50:#FAFAF9;
  --paper-100:#F3F1EE;
  --line-200:#E4E1DC;
  --ink-400:#A8A49E;
  --ink-500:#6E6B65;
  --ink-700:#3A3A3A;
  --ink-900:#1A1A18;
  --night-950:#0C0C0B;
  --night-900:#1A1918;
  --night-800:#262422;
  --bone-700:#4E4C48;
  --bone-500:#7A776F;
  --bone-300:#C0BDB7;
  --bone-100:#E8E5E0;
  --brass-500:#9A8861;
  --brass-print:#8B7530;
  --gold-400:#C9A84C; 
}
:root,[data-theme="light"]{
  --bg:var(--paper-50);
  --sidebar-bg:var(--paper-50);
  --text:var(--ink-900);
  --text-secondary:var(--ink-700);
  --muted:var(--ink-500);
  --faint:var(--ink-400);
  --accent:var(--brass-500);
  --divider:var(--line-200);
  --input-bg:var(--paper-0);
  --input-border:var(--line-200);
  --band-bg:var(--paper-100);
  --surface-page:var(--bg);
  --surface-sidebar:var(--sidebar-bg);
  --surface-input:var(--input-bg);
  --surface-band:var(--band-bg);
  --text-heading:var(--text);
  --text-body:var(--text-secondary);
  --text-caption:var(--muted);
  --text-placeholder:var(--faint);
  --text-label:var(--accent);
  --text-link-active:var(--accent);
  --border-hairline:var(--divider);
  --border-focus:var(--accent);
}
[data-theme="dark"]{
  --bg:var(--night-950);
  --sidebar-bg:var(--night-950);
  --text:var(--bone-100);
  --text-secondary:var(--bone-300);
  --muted:var(--bone-500);
  --faint:var(--bone-700);
  --accent:var(--brass-500);
  --divider:#2B2824;
  --input-bg:var(--night-900);
  --input-border:#2B2824;
  --band-bg:#141412;
}
:root{
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'Inter','Helvetica Neue',sans-serif;
  --font-serif-display:var(--font-display);
  --font-sans:var(--font-body);
  --fw-light:300; 
  --fw-regular:400; 
  --fw-medium:500; 
  --fw-semibold:600; 
  --fs-body:15px; 
  --fs-hero:clamp(1.65rem,2.2vw,2.1rem); 
  --fs-hero-sub:.88rem; 
  --fs-logo:1.15rem; 
  --fs-logo-mobile:1rem; 
  --fs-mobile-nav:1.3rem; 
  --fs-content:.95rem; 
  --fs-name:.92rem; 
  --fs-name-list:.9rem; 
  --fs-desc:.84rem; 
  --fs-desc-sm:.75rem; 
  --fs-input:.84rem; 
  --fs-button:.78rem; 
  --fs-nav:.72rem; 
  --fs-footer:.68rem; 
  --fs-label:.65rem; 
  --lh-body:1.7; 
  --lh-content:1.8; 
  --lh-hero:1.4; 
  --lh-sub:1.5; 
  --lh-list:1.55; 
  --lh-tight:1.45; 
  --lh-logo:1.3; 
  --ls-label:.16em; 
  --ls-button:0; 
  --ls-nav:0; 
  --ls-footer:.04em; 
  --measure-hero:42ch; 
  --measure-sub:none; 
  --measure-content:600px; 
  --type-hero:var(--fw-regular) var(--fs-hero)/var(--lh-hero) var(--font-display); 
  --type-body:var(--fw-regular) var(--fs-content)/var(--lh-content) var(--font-body); 
  --type-label:var(--fw-medium) var(--fs-label)/1 var(--font-body); 
}
:root{
  --layout-max:1000px;
  --sidebar-w:190px;
  --sidebar-pad-y:2.5rem;
  --sidebar-pad-x:1.75rem;
  --sidebar-nav-top:1rem;
  --main-max:780px;
  --main-pad:1.5rem 3rem 1.5rem 2.25rem;
  --main-pad-mobile:1rem 1.5rem;
  --label-col:140px;
  --row-gap:2.5rem;
  --row-pad-y:2rem;
  --row-pad-y-mobile:1.75rem;
  --focus-col:160px;
  --focus-gap:1.5rem;
  --focus-pad-y:.65rem;
  --principles-gap:.85rem 2rem;
  --form-max:440px;
  --form-gap:.65rem;
  --input-pad:.55rem .75rem;
  --space-1:.15rem;
  --space-2:.4rem;
  --space-3:.65rem;
  --space-4:.85rem;
  --space-5:1.35rem;
  --space-6:1.75rem;
  --space-7:2.5rem;
  --space-8:3.5rem;
  --radius-none:0;
  --radius-input:4px;
  --border-width:1px; 
  --breakpoint-mobile:860px; 
}
:root{
  --dur-hover:.2s; 
  --dur-theme:.3s; 
  --dur-reveal:.5s; 
  --ease-standard:ease; 
  --ease-indicator:cubic-bezier(.4,0,.2,1); 
  --blur-bar:12px; 
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);transition:background var(--dur-theme),color var(--dur-theme)}
a{color:var(--text);text-decoration:none;transition:color var(--dur-hover)}
a:hover{color:var(--accent)}
::selection{background:var(--accent);color:var(--bg)}
.bg-wordmark{font-family:var(--font-display);font-size:var(--fs-logo);font-weight:600;line-height:var(--lh-logo);color:var(--text)}
.bg-wordmark span{color:var(--accent)}
.bg-wordmark--inline{font-size:var(--fs-logo-mobile)}
.bg-nav{display:flex;flex-direction:column}
.bg-nav a{font-size:var(--fs-nav);letter-spacing:var(--ls-nav);color:var(--text-secondary);text-decoration:none;font-weight:400;padding:.22rem 0;transition:color var(--dur-hover);display:block;cursor:pointer}
.bg-nav a:hover{color:var(--text)}
.bg-nav a.active{color:var(--accent)}
.bg-icon-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center;transition:color var(--dur-hover)}
.bg-icon-btn:hover{color:var(--text)}
.bg-icon-btn svg{display:block}
.bg-sidebar{position:sticky;top:0;height:100vh;width:var(--sidebar-w);background:var(--sidebar-bg);border-right:none;padding:var(--sidebar-pad-y) var(--sidebar-pad-x);display:flex;flex-direction:column;justify-content:flex-start;transition:background var(--dur-theme),border-color var(--dur-theme);z-index:10}
.bg-sidebar .bg-nav{margin-top:var(--sidebar-nav-top)}
.bg-sidebar-bottom{display:flex;align-items:center;justify-content:flex-start;margin-top:2rem}
.bg-mobile-bar{display:flex;background:var(--bg);backdrop-filter:blur(var(--blur-bar));-webkit-backdrop-filter:blur(var(--blur-bar));border-bottom:1px solid var(--divider);padding:.85rem 1.5rem;justify-content:space-between;align-items:center;transition:background var(--dur-theme),border-color var(--dur-theme)}
.bg-mobile-right{display:flex;align-items:center;gap:1.2rem}
.bg-mobile-nav{position:absolute;inset:0;z-index:20;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}
.bg-mobile-nav a{font-family:var(--font-display);font-size:var(--fs-mobile-nav);font-weight:400;color:var(--text);text-decoration:none;transition:color var(--dur-hover);cursor:pointer}
.bg-mobile-nav a:hover{color:var(--accent)}
.bg-hero{padding:1rem 0 2rem;border-bottom:1px solid var(--divider)}
.bg-hero h1{font-family:var(--font-display);font-size:var(--fs-hero);font-weight:400;line-height:var(--lh-hero);max-width:var(--measure-hero);margin:0 0 1rem;color:var(--text);text-wrap:pretty}
.bg-hero-sub{font-size:var(--fs-hero-sub);color:var(--text-secondary);line-height:var(--lh-sub);max-width:var(--measure-sub);margin:0;text-wrap:pretty}
.bg-row{display:grid;grid-template-columns:var(--label-col) 1fr;gap:var(--row-gap);padding:var(--row-pad-y) 0;border-bottom:1px solid var(--divider);align-items:start}
.bg-label{margin:0;line-height:1.2;padding-top:.3rem;font-size:var(--fs-label);font-weight:500;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-secondary)}
.bg-row-content{font-size:var(--fs-content);line-height:var(--lh-content);color:var(--text-secondary);max-width:var(--measure-content)}
.bg-row-content--wide{max-width:none}
.bg-principles{display:grid;grid-template-columns:1fr 1fr;gap:var(--principles-gap)}
.bg-principle{display:flex;flex-direction:column;gap:.15rem;min-width:130px}
.bg-principle-name{font-size:var(--fs-name);font-weight:600;color:var(--text);line-height:1.5}
.bg-principle-desc{font-size:var(--fs-desc-sm);color:var(--muted);line-height:var(--lh-tight)}
.bg-focus{list-style:none;padding:0;margin:0}
.bg-focus-item{display:grid;grid-template-columns:var(--focus-col) 1fr;gap:var(--focus-gap);padding:var(--focus-pad-y) 0;border-bottom:1px solid var(--divider);align-items:baseline}
.bg-focus-item:first-child{padding-top:0}
.bg-focus-item:last-child{border-bottom:none;padding-bottom:0}
.bg-focus-name{font-size:var(--fs-name-list);font-weight:600;color:var(--text);line-height:1.5}
.bg-focus-desc{font-size:var(--fs-desc);color:var(--muted);line-height:var(--lh-list)}
.bg-quote{font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:var(--muted);line-height:1.6;margin:0}
.bg-field{font-family:var(--font-body);font-size:var(--fs-input);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-input);padding:var(--input-pad);color:var(--text);outline:none;transition:border-color var(--dur-hover);width:100%;line-height:1.5}
.bg-field::placeholder{color:var(--faint)}
.bg-field:focus{border-color:var(--text)}
.bg-field:disabled{opacity:.5;cursor:not-allowed}
textarea.bg-field{resize:vertical;min-height:70px}
.bg-send{font-family:var(--font-body);font-size:var(--fs-button);font-weight:500;letter-spacing:var(--ls-button);background:transparent;border:none;color:var(--text);border-radius:0;padding:.2rem 0;cursor:pointer;transition:opacity var(--dur-hover);justify-self:start;line-height:1.5}
.bg-send:hover{opacity:.6}
.bg-send.sent{color:var(--muted);pointer-events:none}
.bg-send:disabled{opacity:.4;cursor:not-allowed}
.bg-send:disabled:hover{opacity:.4}
.bg-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--form-gap);max-width:var(--form-max)}
.bg-form .full{grid-column:1/-1}
.bg-contact-link{font-family:var(--font-display);font-size:1.02rem;color:var(--text);text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:2px;transition:border-color var(--dur-hover);align-self:flex-start;display:inline-block}
.bg-contact-link:hover{border-color:var(--text);color:var(--text)}
.bg-footer{padding:1.5rem 0 1rem;font-size:var(--fs-footer);color:var(--muted);letter-spacing:var(--ls-footer)}
@media(max-width:860px){
  .bg-row{grid-template-columns:1fr;gap:.4rem;padding:var(--row-pad-y-mobile) 0}.bg-label{padding-top:0}
  .bg-principles{grid-template-columns:1fr}
  .bg-focus-item{grid-template-columns:1fr;gap:.2rem}
  .bg-form{grid-template-columns:1fr}
}
.bg-compact .bg-hero{padding:5rem 0 2rem}
.bg-compact .bg-row{grid-template-columns:1fr;gap:.4rem;padding:var(--row-pad-y-mobile) 0}.bg-label{padding-top:0}
.bg-compact .bg-row-content{max-width:100%}
.bg-compact .bg-principles{grid-template-columns:1fr}
.bg-compact .bg-focus-item{grid-template-columns:1fr;gap:.2rem}
.bg-compact .bg-form{grid-template-columns:1fr}

.layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;max-width:var(--layout-max);margin:0 auto}
.main{padding:var(--main-pad);max-width:var(--main-max);min-width:0;border-left:1px solid var(--divider);padding-top:2rem}
.bg-mobile-bar{display:none;position:fixed;top:0;left:0;right:0;z-index:30}
.bg-mobile-nav{display:none;position:fixed;top:53px}
.bg-mobile-nav.open{display:flex}
.hp{position:absolute;left:-9999px}
.bg-icon-btn .theme-dark-only{display:none}[data-theme="dark"] .bg-icon-btn .theme-dark-only{display:block}[data-theme="dark"] .bg-icon-btn .theme-light-only{display:none}
@media(max-width:860px){.layout{display:block}.bg-sidebar{display:none}.bg-mobile-bar{display:flex}.main{padding:var(--main-pad-mobile);padding-top:4.5rem;max-width:100%;border-left:none;margin:0}.bg-hero{padding-top:1rem}}
.print-contact{display:none}
@media print{.bg-sidebar,.bg-mobile-bar,.bg-mobile-nav,.bg-form>*:not(.print-contact){display:none}.bg-form{display:block}.print-contact{display:block;font-size:11pt;color:#000}.print-contact a{color:#000}.main{border-left:none}.layout{display:block}.main{max-width:100%;padding:0}body{background:#fff;color:#000;font-size:11pt}.bg-label{color:var(--brass-print)}}

.form-fallback{font-size:var(--fs-desc);color:var(--muted);margin:0}.form-fallback a{border-bottom:1px solid var(--divider)}
.skip-link{position:absolute;left:1rem;top:-3rem;z-index:100;background:var(--text);color:var(--bg);font-size:var(--fs-nav);padding:.5rem .8rem;border-radius:var(--radius-input);transition:top var(--dur-hover)}.skip-link:focus{top:1rem;color:var(--bg)}
.main:focus{outline:none}
:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
.bg-field:focus-visible{outline:none}
.bg-disclaimer{margin:0 0 .5rem;max-width:var(--measure-content);line-height:1.6;letter-spacing:0}
