:root{--ground:#E9E8E2;--paper:#F5F4EF;--paper2:#E2E3DB;--ink:#23271F;--muted:#545A4F;--hair:#D2D3C9;--accent:#5F7A5C;--accentDeep:#435A41;--accent2:#9C7B4F;--dark:#2B3327;--darkText:#E2E3DB;--display:"Bricolage Grotesque", "Helvetica Neue", Arial, system-ui, sans-serif;--body:"IBM Plex Sans", "Helvetica Neue", Arial, system-ui, sans-serif;--dscale:0.94;--radius:3px}
*{box-sizing:border-box}html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1}
.wrap{max-width:1180px;margin:0 auto;padding:0 30px}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.01em;text-wrap:balance}
h2.sec{font-size:calc(clamp(28px,3.9vw,44px) * var(--dscale));line-height:1.12;margin:0;max-width:24ch;color:var(--accentDeep)}
h3{font-size:calc(21px * var(--dscale));line-height:1.25;margin:0 0 8px;color:var(--ink)}
.lede{font-size:clamp(16.5px,1.8vw,18.5px);color:var(--muted);max-width:66ch;margin:22px 0 0;line-height:1.7}
a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.band{padding:104px 0;background:var(--ground)}.band.alt{background:var(--paper2)}.band.contact{background:var(--paper);border-top:1px solid var(--hair)}
.band+.band{border-top:1px solid var(--hair)}
.two{display:grid;gap:34px}@media(min-width:900px){.two{grid-template-columns:5fr 7fr;gap:64px;align-items:start}.two.even{grid-template-columns:1fr 1fr}}
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ground) 86%,transparent);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--hair)}
.nav .in{max-width:1180px;margin:0 auto;padding:16px 30px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{font-family:var(--display);font-size:calc(20px * var(--dscale));font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--accentDeep);text-decoration:none;white-space:nowrap}
.nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0}.nav ul a{font-size:13.5px;color:var(--muted);text-decoration:none;letter-spacing:.02em}.nav ul a:hover{color:var(--accentDeep)}
@media(max-width:1000px){.nav ul{display:none}}
.btn{display:inline-block;font-family:var(--body);font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;padding:12px 20px;border-radius:var(--radius);text-decoration:none;border:1px solid var(--accent);transition:background .2s,border-color .2s,color .2s}
.btn:hover{background:var(--accentDeep);border-color:var(--accentDeep)}
.btn.brass{background:var(--accent2);border-color:var(--accent2);color:#1B1508}.btn.brass:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.light{background:#fff;color:var(--accentDeep);border-color:#fff}.btn.light:hover{background:var(--paper2)}
.hero{position:relative;overflow:hidden;background:linear-gradient(158deg,color-mix(in srgb,var(--dark) 78%,var(--accent)) 0%,var(--dark) 55%,color-mix(in srgb,var(--dark) 85%,#000));color:var(--darkText);isolation:isolate}
.hero::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent2),transparent 62%)}
.hero .wrap{position:relative;padding-top:96px;padding-bottom:72px}
.hero .where{margin:0 0 20px;color:var(--accent2);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:14px}.hero .where::before{content:"";width:30px;height:1px;background:currentColor;opacity:.6}
.hero h1{font-size:calc(clamp(38px,5.6vw,66px) * var(--dscale));line-height:1.04;margin:0;max-width:17ch;color:#fff}
.hero .deck{font-size:clamp(17px,1.7vw,20px);color:color-mix(in srgb,var(--darkText) 80%,transparent);max-width:58ch;margin:24px 0 0;line-height:1.62}
.hero .actions{margin:34px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.hero .panel{display:flex;margin-top:56px;border:1px solid color-mix(in srgb,var(--darkText) 18%,transparent);background:rgba(0,0,0,.28);max-width:820px}
.hero .panel div{flex:1 1 0;padding:20px 22px;border-right:1px solid color-mix(in srgb,var(--darkText) 14%,transparent)}.hero .panel div:last-child{border-right:0}
.hero .panel .v{display:block;font-family:var(--display);font-size:calc(clamp(19px,2.2vw,26px) * var(--dscale));line-height:1.15;color:#fff}.hero .panel .l{display:block;margin-top:6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--darkText) 66%,transparent)}
.hero.with-image{background:var(--dark)}
.hero.with-image .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero.with-image .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--dark) 90%,transparent),color-mix(in srgb,var(--dark) 78%,transparent) 32%,color-mix(in srgb,var(--dark) 40%,transparent) 58%,color-mix(in srgb,var(--dark) 10%,transparent)),linear-gradient(0deg,color-mix(in srgb,var(--dark) 62%,transparent),transparent 42%)}
.hero.with-image.bright .scrim{background:linear-gradient(90deg,color-mix(in srgb,var(--dark) 93%,transparent),color-mix(in srgb,var(--dark) 84%,transparent) 34%,color-mix(in srgb,var(--dark) 52%,transparent) 60%,color-mix(in srgb,var(--dark) 28%,transparent)),linear-gradient(0deg,color-mix(in srgb,var(--dark) 66%,transparent),transparent 42%)}
.hero.with-image.dim .scrim{background:linear-gradient(90deg,color-mix(in srgb,var(--dark) 60%,transparent),color-mix(in srgb,var(--dark) 34%,transparent) 34%,color-mix(in srgb,var(--dark) 8%,transparent) 60%,transparent),linear-gradient(0deg,color-mix(in srgb,var(--dark) 40%,transparent),transparent 40%)}
.hero.with-image .wrap{position:relative;z-index:2;padding-top:150px;padding-bottom:64px;min-height:78svh;display:flex;flex-direction:column;justify-content:flex-end}
.hero.with-image::after{z-index:3}
.hero.with-image h1{font-size:calc(clamp(42px,6.4vw,78px) * var(--dscale));max-width:15ch;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.hero.with-image .deck,.hero.with-image .where{text-shadow:0 1px 2px rgba(0,0,0,.45)}
.hero.with-image .panel{background:color-mix(in srgb,var(--dark) 62%,transparent)}
.lead{display:grid;gap:14px;background:var(--paper2);border:1px solid var(--hair);padding:26px;border-radius:var(--radius);align-self:start}
.lead label{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink)}
.lead input,.lead textarea{font:inherit;font-size:16px;padding:12px;border:1px solid var(--hair);border-radius:var(--radius);background:#fff;color:var(--ink)}
.lead button{font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;border:0;border-radius:var(--radius);padding:13px 22px;cursor:pointer;justify-self:start}
footer{background:var(--dark);color:color-mix(in srgb,var(--darkText) 62%,transparent)}
.foot{max-width:1180px;margin:0 auto;padding:64px 30px 40px}
.foot-top{display:grid;gap:40px;padding-bottom:34px;border-bottom:1px solid color-mix(in srgb,var(--accent2) 26%,transparent)}
@media(min-width:800px){.foot-top{grid-template-columns:1.2fr 1fr 1fr 1fr}}
.foot-list{list-style:none;margin:0;padding:0}.foot-list li{font-size:14px;line-height:1.6;margin:0 0 4px}
.foot .brandline{font-family:var(--display);font-size:calc(18px * var(--dscale));letter-spacing:.09em;text-transform:uppercase;color:var(--darkText);margin:0 0 14px}
.foot p{margin:0 0 8px;font-size:14px;line-height:1.6;max-width:36ch}.foot a{color:var(--darkText);text-decoration:none}.foot a:hover{color:var(--accent2)}
.foot h5{font-family:var(--body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent2);font-weight:600;margin:0 0 14px}
.foot-bottom{padding-top:26px;font-size:12px;letter-spacing:.02em;color:color-mix(in srgb,var(--darkText) 45%,transparent);display:flex;flex-wrap:wrap;gap:6px 28px}.foot-bottom a{color:color-mix(in srgb,var(--darkText) 62%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent2) 40%,transparent)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.wrap{padding:0 20px}.nav .in{padding:12px 20px}.brand{font-size:16px;letter-spacing:.07em}.nav .btn{font-size:11px;padding:9px 13px}.band{padding:58px 0}.hero .wrap{padding-top:56px;padding-bottom:48px}.hero.with-image .wrap{padding-top:120px;min-height:70svh}.hero .panel{flex-direction:column;margin-top:36px}.hero .panel div{border-right:0;border-bottom:1px solid color-mix(in srgb,var(--darkText) 14%,transparent)}.hero .panel div:last-child{border-bottom:0}h2.sec{max-width:100%}.foot{padding:44px 20px 32px}}
.prose p{font-size:clamp(17px,1.5vw,19px);line-height:1.7;color:var(--muted);max-width:62ch;margin:0 0 1.1em}.prose p:first-child{color:var(--ink);font-size:clamp(18px,1.7vw,21px)}.prose p:last-child{margin-bottom:0}
.dense{list-style:none;padding:0;margin:34px 0 0;columns:1;column-gap:44px}.dense li{break-inside:avoid;padding:14px 0;border-top:1px solid var(--hair);font-size:17px;line-height:1.5}.dense li:last-child{border-bottom:1px solid var(--hair)}.dense strong{font-weight:600;color:var(--ink)}.dense span{display:block;color:var(--muted);font-size:15.5px;margin-top:2px}@media(min-width:760px){.dense{columns:2}}
.contact-grid{display:grid;gap:34px}.details{margin-top:24px;display:grid;gap:10px}.details p{margin:0;display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:16px}.details span{color:var(--muted)}@media(min-width:900px){.contact-grid{grid-template-columns:1.1fr .9fr;gap:56px}}
