:root{--ink:#20211f;--paper:#f4efe5;--bone:#fbf8f1;--wood:#79563d;--accent:#267c78;--muted:#6b6a64;--line:#d8d0c3;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit}.site-header{width:100%;margin:0;padding:24px 38px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;letter-spacing:.08em;font-size:.85rem}.mark{font-family:Georgia,serif;font-size:1.45rem;color:var(--wood)}nav{display:flex;gap:24px}nav a{text-decoration:none;font-size:.9rem;color:var(--muted)}nav a:hover{color:var(--ink)}.hero{width:100%;min-height:610px;margin:0;padding:86px 38px 72px;display:flex;align-items:center;background:
linear-gradient(90deg,rgba(251,248,241,.97) 0%,rgba(251,248,241,.88) 30%,rgba(251,248,241,.35) 55%,rgba(251,248,241,.04) 78%),
url("../img/plainview-hero.png") center center/cover no-repeat}
.hero-content{width:min(760px,52vw)}.eyebrow{font-size:.76rem;letter-spacing:.16em;font-weight:800;color:var(--accent);margin:0 0 20px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(3.2rem,8vw,7.2rem);line-height:.94;letter-spacing:-.045em;max-width:760px;margin:0}.lede{font-size:clamp(1.15rem,2vw,1.5rem);max-width:760px;color:var(--muted);margin:34px 0}.actions{display:flex;gap:28px;align-items:center}.button{background:var(--ink);color:white;padding:13px 20px;text-decoration:none;border:0;font:inherit;cursor:pointer}.button:hover{opacity:.9}.button:focus-visible,.contact-close:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.text-link{text-decoration:none;font-weight:700}.principle{background:var(--wood);color:#fff;padding:25px 28px;text-align:center;font-family:Georgia,serif;font-size:1.25rem}.principle p{margin:0}.section{max-width:var(--max);margin:auto;padding:100px 28px;border-bottom:1px solid var(--line)}.section-head{max-width:750px}h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(2.1rem,4vw,4rem);line-height:1.05;margin:0 0 36px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{border:1px solid var(--line);padding:28px;min-height:270px;background:var(--paper)}.cards span,.tag{font-size:.72rem;letter-spacing:.15em;color:var(--accent);font-weight:800}.cards h3{font-size:1.35rem;margin-top:50px}.story{display:grid;grid-template-columns:1fr 1fr;gap:70px}.story-copy{font-size:1.08rem}.pull{font-family:Georgia,serif;font-size:1.55rem;border-left:3px solid var(--wood);padding-left:22px;margin-top:35px}.dark{max-width:none;background:var(--ink);color:#f8f3e9}.ideas-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr .6fr;gap:70px}.ideas-grid aside{border:1px solid #555;padding:28px}.ideas-grid h3{font-size:1.8rem}.small{font-size:.85rem;color:#bbb}.contact{max-width:900px;text-align:center}.contact .eyebrow{text-align:center}.contact p{font-size:1.1rem}.contact-actions{margin:30px 0 18px}.contact-note{font-size:.9rem!important;color:var(--muted)}footer{width:100%;margin:0;padding:28px;display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem}@media(max-width:760px){.site-header{align-items:flex-start;padding-left:22px;padding-right:22px}.hero{min-height:650px;padding:70px 22px 60px;background:linear-gradient(rgba(251,248,241,.90),rgba(251,248,241,.70)),url("../img/plainview-hero.png") center center/cover no-repeat}.hero-content{width:100%}.site-header nav{display:none}.hero{padding-top:80px}.cards,.story,.ideas-grid{grid-template-columns:1fr}.story{gap:20px}.section{padding-top:72px;padding-bottom:72px}footer{flex-direction:column;gap:8px}}
body.modal-open{overflow:hidden}.contact-modal[hidden]{display:none}.contact-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.contact-backdrop{position:absolute;inset:0;background:rgba(32,33,31,.68);backdrop-filter:blur(3px)}.contact-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--bone);border:1px solid var(--line);padding:42px;box-shadow:0 24px 80px rgba(0,0,0,.28)}.contact-dialog h2{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:18px}.contact-intro{color:var(--muted);margin:0 0 30px}.contact-close{position:absolute;top:16px;right:18px;border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;color:var(--muted)}#contact-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}#contact-form label{display:grid;gap:7px;font-size:.86rem;font-weight:750}#contact-form label span em{font-weight:400;color:var(--muted);font-style:normal}#contact-form input,#contact-form textarea{width:100%;border:1px solid var(--line);background:#fff;padding:12px 13px;font:inherit;color:var(--ink);border-radius:0}#contact-form textarea{resize:vertical}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4px}.form-status{margin:0;color:var(--muted);font-size:.88rem}.form-status.error{color:#8a2f26}.form-status.success{color:var(--accent);font-weight:700}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:760px){.contact-dialog{padding:34px 22px}.form-grid{grid-template-columns:1fr}.form-footer{align-items:flex-start;flex-direction:column-reverse}.form-footer .button{width:100%}}

/* v0.5 brand and positioning refinements */
.site-header{padding-top:28px;padding-bottom:28px}
.brand{gap:14px;font-size:1rem;letter-spacing:.09em}
.brand-mark{width:82px;height:36px;display:block;overflow:visible;flex:0 0 auto}
.brand-mark path{fill:none;stroke:var(--wood);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
nav{gap:30px}
nav a{font-size:1rem}
.brand-photo-note{margin-top:28px;padding:18px 20px;border:1px dashed var(--line);color:var(--muted);font-size:.92rem}
.brand-photo-note span{display:block;margin-bottom:5px;color:var(--accent);font-size:.68rem;letter-spacing:.14em;font-weight:800}
@media(max-width:760px){.site-header{padding-top:22px;padding-bottom:22px}.brand{font-size:.88rem;gap:10px}.brand-mark{width:68px;height:30px}}
