:root{--bg:#faf5ea;--surface:#fff;--surface-2:#f3e7cd;--ink:#2b2117;--muted:#655a49;--accent:#c98a2c;--accent-strong:#9c5f18;--border:#ecdfc4;--deep:#0d1712;--deep-solid:#182b21;--on-deep:#f5efe0;--on-deep-muted:#c3cec1;--on-deep-accent:#e8cc9b;--frame-bg:var(--deep);--frame-ink:var(--on-deep);--frame-muted:var(--on-deep-muted);--frame-border:color-mix(in srgb, var(--on-deep-accent) 35%, transparent);--frame-accent-strong:var(--on-deep-accent);--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:125%}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.6;display:flex;overflow-x:clip}main{flex:1 0 auto}img{max-width:100%;height:auto;display:block}a{color:var(--accent-strong)}a:focus-visible,button:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}main:focus{outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.card-elevate:hover{transform:none}}h1,h2,h3{font-family:var(--serif);margin:0 0 .6em;font-weight:400;line-height:1.15}.wrap{max-width:1100px;margin:0 auto;padding:0 1.5rem}.page{padding:4rem 1.5rem 6rem}.page--narrow{max-width:720px}.page--detail{max-width:1040px}.page--contact{max-width:900px}.page--wide{max-width:1400px;padding-bottom:3rem}.page:has(.ref-list){padding-bottom:3rem}.center-head>:where(.eyebrow,h1,.lede){text-align:center}.center-head>.lede{max-width:60ch;margin-inline:auto}.lede{color:var(--muted);max-width:65ch}.body{color:var(--ink);overflow-wrap:break-word;max-width:65ch}.body h2{margin-top:2.2rem;font-size:1.2rem}.body h3{font-family:var(--sans);margin-top:1.6rem;font-size:.95rem;font-weight:650}.body ul{margin:.6rem 0;padding-left:1.2rem}.body li{margin:.3rem 0}.body code{font-family:var(--mono);background:var(--surface-2);border-radius:3px;padding:.05em .35em;font-size:.9em}.body img{border-radius:4px;margin:1.75rem auto}.body figure{margin:1.75rem 0}.body figcaption{color:var(--muted);text-align:center;margin-top:.5rem;font-size:.8rem}.eyebrow{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 1rem;font-size:.75rem;font-weight:700}.eyebrow a{color:inherit;text-decoration:none}.eyebrow a:hover{text-decoration:underline}.cta{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-deep);background:var(--deep-solid);border-radius:2px;align-items:center;gap:.4rem;padding:.7rem 1.2rem;font-size:.75rem;text-decoration:none;transition:filter .15s;display:inline-flex}.cta:hover{filter:brightness(1.15)}.placeholder{border:1px dashed var(--border);color:var(--muted);border-radius:6px;padding:1rem 1.2rem;font-size:.9rem}.icon-badge{background:color-mix(in srgb, var(--accent) 16%, var(--surface));width:2.75rem;height:2.75rem;color:var(--accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-badge--deep{background:color-mix(in srgb, var(--deep) 14%, var(--surface));color:var(--deep)}.icon-badge svg{width:1.4rem;height:1.4rem}.check-list{flex-direction:column;gap:.7rem;margin:1.4rem 0 0;padding:0;list-style:none;display:flex}.check-list li{color:var(--ink);align-items:flex-start;gap:.6rem;font-size:.95rem;display:flex}.check-list svg{width:1.1rem;height:1.1rem;color:var(--accent-strong);flex-shrink:0;margin-top:.2rem}.card-elevate{transition:transform .15s,box-shadow .15s,border-color .15s}.card-elevate:hover{border-color:var(--accent-strong);transform:translateY(-2px);box-shadow:0 10px 24px -14px #2b211759}.panel{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}body:has(.hero){--footer-gap:0}.hero{background:var(--deep-solid) var(--hero-image,none) center top / cover no-repeat;align-items:center;min-height:clamp(440px,65vh,680px);padding:3rem 1.5rem;display:flex;position:relative}.hero-content{text-align:center;background:color-mix(in srgb, var(--deep) 75%, transparent);-webkit-backdrop-filter:blur(6px);border-radius:12px;width:100%;max-width:640px;margin:0 auto;padding:2.5rem 2rem;position:relative}.hero h1{max-width:20ch;color:var(--on-deep);margin-inline:auto;font-size:clamp(2rem,5vw,3rem)}.sub{color:var(--on-deep-muted);max-width:42ch;margin:.6rem auto 1.6rem}.hero .cta{background:var(--accent);color:var(--ink)}.hero .cta:hover{filter:brightness(.94)}.section-title{margin:0 0 1.8rem;font-size:1.4rem}.intro{text-align:center;padding:3rem 1.5rem}.intro p:not(.eyebrow){max-width:85ch;color:var(--ink);margin-inline:auto}.intro p:not(.eyebrow):last-child{margin-bottom:0}.features{text-align:center;padding:3.5rem 1.5rem}.feature-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.feature-card{text-align:center}.feature-card h3{margin:.9rem 0 .4rem;font-size:1.05rem}.feature-card p{color:var(--muted);margin:0;font-size:.9rem}@media (width<=760px){.feature-grid{grid-template-columns:1fr;gap:1.8rem}}.teasers{text-align:center;padding:2.5rem 1.5rem 4rem}.teaser-row{text-align:left;flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.teaser-card{border:1px solid var(--border);border-radius:4px;flex-direction:column;flex:240px;max-width:360px;text-decoration:none;display:flex;overflow:hidden}.t-cover{aspect-ratio:16/10;background:var(--surface-2);display:block}.t-cover img{object-fit:cover;width:100%;height:100%}.t-body{flex-direction:column;gap:.4rem;padding:1rem 1.1rem;display:flex}.t-date{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.t-title{font-family:var(--serif);color:var(--ink);font-size:1.05rem;line-height:1.25}.t-excerpt{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.teasers-more{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);margin-top:1.8rem;font-size:.75rem;text-decoration:none;display:inline-block}.teasers-more:hover{text-decoration:underline}.service-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3.5rem;display:grid}@media (width<=620px){.service-grid{grid-template-columns:1fr}}.service-card{text-align:center;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:6px;flex-direction:column;align-items:center;padding:1.6rem;text-decoration:none;display:flex}.service-card h2{margin:1rem 0 .5rem;font-size:1.15rem}.service-card p{color:var(--muted);flex:1 0 auto;margin:0 0 1rem;font-size:.9rem}.more-link{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);font-size:.72rem}.detail-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:3.5rem;margin-top:.5rem;display:grid}@media (width<=700px){.detail-layout{grid-template-columns:1fr;gap:2rem}}.highlights{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.8rem}.highlights h2{margin:1rem 0 .2rem;font-size:1.05rem}.highlights .cta{justify-content:center;width:100%;margin-top:1.4rem}.skip-link{z-index:100;background:var(--ink);color:var(--bg);border-radius:0 0 4px 4px;padding:.6rem 1rem;font-size:.85rem;text-decoration:none;transition:top .15s;position:absolute;top:-3rem;left:.75rem}.skip-link:focus{top:0}.site-header,.site-footer{background:var(--frame-bg);color:var(--frame-ink);--ink:var(--frame-ink);--muted:var(--frame-muted);--border:var(--frame-border);--accent-strong:var(--frame-accent-strong)}.site-header{border-bottom:1px solid var(--border)}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.1rem 1.5rem;display:flex}.site-header .bar{grid-template-columns:auto 1fr auto;display:grid}.brand{font-family:var(--serif);letter-spacing:.02em;color:var(--accent-strong);white-space:nowrap;justify-self:start;font-size:1.15rem;text-decoration:none;position:relative}.main-nav{letter-spacing:.02em;flex-wrap:wrap;justify-content:space-evenly;align-items:center;gap:.75rem 1rem;font-size:.82rem;display:flex}.brand:after,.header-actions:before{content:"";background:var(--border);width:1px;height:1rem;position:absolute;top:50%;transform:translateY(-50%)}.brand:after{margin-left:clamp(.75rem,2vw,1.5rem);left:100%}.header-actions:before{margin-right:clamp(.75rem,2vw,1.5rem);right:100%}.main-nav a{color:var(--muted);font-weight:600;text-decoration:none}.main-nav a:hover{color:var(--ink)}.main-nav a[aria-current=page]{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent-strong);text-decoration-color:var(--accent-strong);text-underline-offset:4px;text-decoration-thickness:2px}.main-nav a.nav-cta,.main-nav a.nav-cta:hover,.main-nav a.nav-cta[aria-current=page]{color:var(--frame-accent-strong);border:1px solid color-mix(in srgb, var(--frame-accent-strong) 45%, transparent);background:0 0;border-radius:3px;padding:.35rem .8rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s}.main-nav a.nav-cta:hover{background:color-mix(in srgb, var(--frame-accent-strong) 12%, transparent);border-color:var(--frame-accent-strong)}.header-actions{justify-self:end;align-items:center;gap:.7rem;display:flex;position:relative}.nav-toggle{border:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:2.75rem;height:2.75rem;padding:0;display:none}.nav-toggle span{background:var(--ink);width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.lang-switch{font-family:var(--mono);border:1px solid var(--border);border-radius:3px;align-items:stretch;font-size:.75rem;display:inline-flex;overflow:hidden}.lang-switch .seg{color:var(--muted);align-items:center;padding:.5rem .7rem;text-decoration:none;display:inline-flex}.lang-switch a.seg:hover{color:var(--ink)}.lang-switch .seg.active{background:var(--frame-accent-strong);color:#2b2117;font-weight:600}.site-footer{border-top:1px solid var(--border);margin-top:var(--footer-gap,4rem);color:var(--muted);font-size:.82rem}.site-footer .bar{text-align:center;flex-direction:column;align-items:center;gap:.5rem}.footer-copyright{font-weight:bolder}.footer-links{gap:1rem;display:flex}.footer-links a{color:var(--muted)}@media (width<=760px){.bar{gap:.8rem}.site-header .bar{grid-template-columns:1fr auto;padding-inline:1.25rem}.nav-toggle{display:inline-flex}.main-nav{border-top:1px solid var(--border);flex-direction:column;order:1;grid-column:1/-1;justify-content:flex-start;gap:0;width:100%;margin-top:.4rem;display:none}.main-nav.is-open{display:flex}.brand:after,.header-actions:before{display:none}.main-nav a{border-bottom:1px solid var(--border);padding:.9rem .1rem;font-size:.95rem}.main-nav a.nav-cta,.main-nav a.nav-cta:hover,.main-nav a.nav-cta[aria-current=page]{color:var(--accent-strong);border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;padding:.9rem .1rem}.footer-links a{padding:.35rem .25rem}}.breadcrumbs{padding-top:1.5rem;padding-bottom:1.5rem;font-size:.78rem}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--border);margin-right:.35rem}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--ink);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--ink)}.breadcrumbs+main .page{padding-top:2.25rem}.breadcrumbs+main .page-message{padding-top:3rem}@media (width<=600px){.breadcrumbs{padding-top:1rem;padding-bottom:1.1rem}}main>.page-header:first-child{margin-top:.5rem}.breadcrumbs+main>.page-header:first-child{margin-top:0}.page-header{isolation:isolate;background:var(--deep-solid);align-items:flex-end;min-height:clamp(200px,34vw,320px);padding:2.5rem 1.5rem;display:flex;position:relative;overflow:hidden}.page-header__img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.page-header:after{content:"";z-index:-1;background:linear-gradient(to top, color-mix(in srgb, var(--deep) 82%, transparent), color-mix(in srgb, var(--deep) 45%, transparent) 55%, color-mix(in srgb, var(--deep) 30%, transparent));position:absolute;inset:0}.page-header .wrap{width:100%}.page-header .eyebrow{color:var(--on-deep-accent);margin-bottom:.5rem}.page-header .eyebrow a{color:inherit}.page-header h1{color:var(--on-deep);max-width:22ch;margin:0;font-size:clamp(1.7rem,4vw,2.4rem)}.page-header--plain{background:0 0;min-height:0;padding:0;display:block;overflow:visible}.page-header--plain:after{display:none}.page-header--plain .eyebrow{color:var(--accent-strong)}.page-header--plain h1{color:var(--ink)}@media (width<=600px){.page-header{min-height:clamp(160px,40vw,220px);padding:1.75rem 1.25rem}}.page-header+.page{padding-top:2.75rem}.page-header--plain+.page{padding-top:4rem}@media (width<=600px){.page-header+.page{padding-top:2rem}}.ref-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin:3.5rem 0 0;padding:0;list-style:none;display:grid}.ref-item{isolation:isolate;background:var(--surface);border:1px solid var(--border);min-height:116px;color:var(--ink);font-family:var(--serif);text-align:left;border-radius:6px;flex-direction:column;justify-content:flex-end;padding:1.1rem;font-size:1rem;line-height:1.25;display:flex;position:relative}.ref-item:has(.desc){justify-content:flex-start}.ref-item:before{content:attr(data-initial);z-index:-1;font-family:var(--serif);color:var(--accent);opacity:.13;pointer-events:none;font-size:4rem;line-height:1;position:absolute;top:.15rem;right:.5rem}.ref-item:after{content:"";background:var(--accent-strong);width:1.6rem;height:2px;position:absolute;top:0;left:1.1rem}.ref-list a{color:inherit;text-decoration:none}.ref-item .desc{color:var(--muted);font-family:var(--sans);margin:.5rem 0 0;font-size:.85rem;line-height:1.5}.ref-item.has-logo{justify-content:space-between}.ref-item.has-logo:before{content:none}.ref-logo{object-fit:contain;object-position:right top;align-self:flex-end;width:auto;max-width:78%;height:auto;max-height:42px}.post-list{flex-direction:column;gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.post-list a{border-bottom:1px solid var(--border);padding-bottom:1rem;text-decoration:none;display:block}.post-list .date{font-family:var(--mono);color:color-mix(in srgb, var(--accent-strong) 85%, var(--ink));margin-bottom:.3rem;font-size:.72rem;display:block}.post-list .title{font-family:var(--serif);color:var(--ink);font-size:1.2rem}.pager{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:2.5rem;display:flex}.pager-link{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);font-size:.75rem;text-decoration:none}.pager-link:hover{text-decoration:underline}.pager-link.is-disabled{color:color-mix(in srgb, var(--muted) 55%, transparent);pointer-events:none}.pager-status{font-family:var(--mono);color:var(--muted);font-size:.72rem}.post{padding:3rem 1.5rem 6rem;overflow-x:clip}.post .cover{border-radius:8px;width:min(960px,100%);margin:0 auto 2.5rem;box-shadow:0 16px 38px -22px #2b211773}.body-wrap{max-width:720px;margin-inline:auto}.post .date{font-family:var(--mono);color:var(--muted);margin-bottom:.4rem;font-size:.75rem;display:block}.contact-layout{grid-template-columns:1.5fr 1fr;align-items:start;gap:1.75rem;margin-top:2.75rem;display:grid}@media (width<=760px){.contact-layout{grid-template-columns:1fr}}.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:1.1rem;padding:1.75rem;display:flex;box-shadow:0 14px 34px -24px #2b21174d}.hidden-field{position:absolute;left:-9999px}.field{flex-direction:column;gap:.4rem;display:flex}.field-row{gap:1rem;display:flex}.field-row .field{flex:1;min-width:0}@media (width<=460px){.field-row{flex-direction:column;gap:1.1rem}}.contact-form label{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.contact-form .opt{letter-spacing:.03em;text-transform:none;color:var(--muted);font-weight:400}.contact-form .req{color:var(--accent-strong)}.contact-form :is(input,textarea){background:var(--bg);border:1px solid var(--border);width:100%;color:var(--ink);font-family:var(--sans);border-radius:5px;padding:.65rem .8rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s,background .15s}.contact-form :is(input,textarea)::placeholder{color:color-mix(in srgb, var(--muted) 55%, transparent)}.contact-form :is(input,textarea):hover{border-color:color-mix(in srgb, var(--accent-strong) 40%, var(--border))}.contact-form :is(input,textarea):focus{background:var(--surface);border-color:var(--accent-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.contact-form textarea{resize:vertical;min-height:7rem;line-height:1.5}.contact-form .cta{cursor:pointer;border:none;align-self:flex-start;margin-top:.3rem}@media (width<=460px){.contact-form .cta{justify-content:center;align-self:stretch}}.form-note{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.field-hint{color:var(--muted);font-size:.72rem;line-height:1.4}.form-errors{border:1px solid var(--accent-strong);border-left:3px solid var(--accent-strong);background:color-mix(in srgb, var(--accent) 8%, var(--surface));color:var(--ink);border-radius:6px;padding:.9rem 1.1rem;font-size:.85rem}.form-errors p{margin:0 0 .4rem;font-weight:650}.form-errors ul{margin:0;padding-left:1.1rem}.field-error{color:var(--accent-strong);font-size:.75rem;font-weight:600;line-height:1.4}.contact-form :is(input,textarea)[aria-invalid=true]{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.contact-aside{background:color-mix(in srgb, var(--accent) 4%, var(--surface));border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:1.6rem 1.5rem}.aside-title{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 1.2rem;font-size:.72rem;font-weight:700}.contact-list{flex-direction:column;gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.contact-list li{align-items:flex-start;gap:.7rem;display:flex}.contact-list .icon-badge{width:2.2rem;height:2.2rem}.contact-list .label{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem;font-size:.64rem;font-weight:700;display:block}.contact-list p{margin:0;font-size:.92rem;line-height:1.45}.contact-list a{color:var(--ink);white-space:nowrap;text-decoration:none}.contact-list a:hover{color:var(--accent-strong);text-decoration:underline}.page-message{text-align:center;max-width:640px;padding:5rem 1.5rem 7rem}.page-message .lede{margin-inline:auto;max-width:100%;margin-bottom:1.6rem}.page-message .links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=600px){.wrap{padding-inline:1.25rem}.page{padding:2.5rem 1.25rem 4rem}.page-message{padding:3.5rem 1.25rem 4.5rem}.post{padding:2rem 1.25rem 4rem}.intro,.features,.teasers{padding-inline:0}.intro{padding-block:2.25rem}.features{padding-block:2.5rem}.teasers{padding-block:2rem 3rem}.hero{background-size:auto 120%;min-height:clamp(400px,68vh,560px);padding:2.5rem 1.25rem}.hero-content{padding:1.75rem 1.4rem}.hero h1{font-size:1.65rem}.sub{font-size:.95rem}.intro p:not(.eyebrow){text-align:left}.ref-item{min-height:92px}h1,h2,h3{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}h1{font-size:1.7rem}.section-title{margin-bottom:1.4rem;font-size:1.25rem}.highlights{padding:1.5rem}.pager{flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem}.pager-status{text-align:center;flex-basis:100%;order:3}}@media (width<=460px){.contact-form{padding:1.35rem}.contact-aside{padding:1.35rem 1.25rem}.page-message .links{flex-direction:column;align-items:stretch}.page-message .links .cta{justify-content:center}}
