:root{--paper:#f5f1e7;--ink:#292b24;--muted:#565b50;--pine:#263e32;--timber:#795336;--line:#74796d;--white:#fffdf7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans)}a{color:var(--pine);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}:focus-visible{outline:3px solid var(--timber)}.skip{position:absolute;left:1rem;top:-6rem;background:var(--white);padding:1rem;z-index:5}.skip:focus{top:1rem}.shell{max-width:1320px;margin:auto;padding:0 5vw}.header{border-bottom:1px solid var(--line);padding:1.3rem 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font:bold 24px var(--serif);text-decoration:none;color:var(--ink)}.brand small{display:block;font:11px var(--sans);letter-spacing:.18em;margin-top:5px}.nav{display:flex;gap:1.8rem;flex-wrap:wrap}.nav a{font-size:14px;text-decoration:none}.hero{padding:4.5rem 0 4rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:6vw;align-items:start}.hero-copy{padding-top:1rem}.breadcrumb{font-size:13px;margin-bottom:2rem;color:var(--muted)}h1,h2,h3{font-family:var(--serif);font-weight:normal;line-height:1.08;text-wrap:balance}h1{font-size:clamp(3rem,5.5vw,5.6rem);letter-spacing:-.045em;margin:0 0 1.8rem}h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.025em;margin:0 0 1.4rem}h3{font-size:1.65rem}.lede{font-size:1.15rem;max-width:40rem}.wood-mark{height:130px;margin-top:3rem;border-block:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent,transparent 18px,#795336 19px,#795336 20px,transparent 21px);opacity:.5}.form-wrap{background:var(--white);padding:2rem;border-top:5px solid var(--pine)}.form-wrap h2{font-size:1.8rem}.form-wrap p{font-size:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem;font-size:14px}.wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#fffdf7;color:var(--ink);padding:.65rem;min-height:44px}textarea{resize:vertical;min-height:95px}.consent{display:flex;align-items:flex-start;gap:.6rem;font-size:12px;margin:1rem 0}.consent input{width:20px;height:20px;min-height:20px;flex:0 0 20px}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}button{background:var(--pine);color:var(--white);border:0;padding:.8rem 1.2rem;cursor:pointer;min-height:44px;width:100%}button:disabled{opacity:.6;cursor:wait}[role=status]{font-size:14px;min-height:1.5em;margin-top:1rem}.section{padding:4rem 0;border-top:1px solid var(--line)}.section-grid{display:grid;grid-template-columns:1fr 2fr;gap:6vw}.prose{max-width:760px}.prose p{margin:0 0 1.2rem}.prose h3{margin:2.2rem 0 1rem}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}.service-list a{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.service-list a::after{content:'↗';margin-left:1rem}.end-contact{background:var(--pine);color:var(--white)}.end-contact .form-wrap{color:var(--ink)}.footer{padding:3rem 0;font-size:13px;border-top:1px solid var(--line)}.footer-links{display:flex;gap:2rem;margin-bottom:1.5rem}.footer p{max-width:850px;color:var(--muted)}.source-list{font-size:14px}.notice{max-width:780px;padding:4rem 0}.notice h1{font-size:3rem}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:2rem;padding-top:3rem}.hero-copy{padding:0}.wood-mark{height:70px}.section-grid{grid-template-columns:1fr;gap:1.5rem}.header-inner{align-items:flex-start}.nav{gap:.6rem 1rem}.hero .form-wrap{max-width:650px}}@media(max-width:540px){body{font-size:16px}.header-inner{flex-direction:column;gap:1rem}.shell{padding:0 6vw}.fields,.service-list{grid-template-columns:1fr}.form-wrap{padding:1.25rem}.wide{grid-column:auto}.section{padding:3rem 0}h1{font-size:3rem}.brand{font-size:22px}}
h1,h2,h3,p,a,label{overflow-wrap:anywhere}.hero>* ,.section-grid>* ,.fields>* ,.header-inner>*{min-width:0}
