/* Neeb Haus — a small, self-contained identity system. */
:root{--paper:#f4f1e8;--ink:#272824;--muted:#646259;--clay:#98543f;--sage:#a8b0a0;--line:#cecabf;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:#d3b6a5;color:var(--ink)}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--clay);outline-offset:6px}
a,button{touch-action:manipulation}
a:hover{color:var(--clay)}
.page{max-width:1600px;margin:auto;padding:0 clamp(24px,5.4vw,88px)}
.skip-link{position:fixed;left:16px;top:12px;z-index:5;background:var(--ink);color:var(--paper);padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0);color:var(--paper)}
.site-header{min-height:124px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}
.wordmark{display:block;width:144px;height:auto;max-width:100%}
.brand{display:inline-flex;align-items:center;min-height:44px;padding:8px;flex-shrink:0}
/* The approved marks keep their original outlines and black fill. Padding supplies at least one stem of clear space. */
.header-note{margin-left:auto;margin-right:auto;font-size:12px;color:var(--muted)}
nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:500;letter-spacing:.025em}
nav a{display:inline-flex;align-items:center;gap:16px;min-height:44px}
.hero{padding:87px 0 0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);column-gap:6%;align-items:center}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.8}
.hero .eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 37px}
.small-dot{height:6px;width:6px;flex:none;background:var(--clay);border-radius:50%}
h1,h2,p,figure{margin:0}
h1,h2{font-family:var(--serif);font-weight:400}
h1{font-size:clamp(54px,6.5vw,100px);line-height:1.035;letter-spacing:-.05em}
em{font-weight:400;color:var(--clay)}
.hero-intro{margin:32px 0 25px;color:var(--muted);font-size:15px;line-height:1.85}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:46px;min-height:44px;font-size:13px;border-bottom:1px solid var(--ink);padding:2px 0 10px}
.text-link span{font-size:21px;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
.hero-art{width:100%;max-width:425px;justify-self:end;padding-top:4px}
.art-frame{position:relative;border:1px solid var(--line);padding:35px 14px 24px;background:#eeeae0}
.art-frame svg{display:block;width:100%;height:auto}
.art-index,.art-caption{position:absolute;font-size:9px;letter-spacing:.12em;color:var(--muted)}
.art-index{top:18px;left:20px}
.art-caption{bottom:17px;right:20px}
.hero-art figcaption{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:13px;text-align:right;margin-top:14px}
.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:62px;padding:23px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}
.hero-foot a{display:inline-flex;align-items:center;min-height:44px;gap:30px}
.hero-foot a span{font-size:19px;color:var(--ink)}
.section-grid{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:6%}
.about{padding:115px 0 110px}
.section-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:40px;padding-top:8px}
.mini-mark{display:block;padding:12px;line-height:1}
.mini-mark img{display:block;width:96px;height:auto}
h2{font-size:clamp(35px,3.6vw,55px);line-height:1.16;letter-spacing:-.045em}
.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:37px;max-width:760px}
.about-columns p{font-size:14px;color:var(--muted);line-height:1.9}
.margin-note{margin-top:35px;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--clay)}
.margin-note span{font-family:var(--sans);margin-right:12px}
.contact{border-top:1px solid var(--line);padding:83px 0 85px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:8%;margin-top:40px}
.contact-intro>p:first-child{color:var(--muted);font-size:14px;max-width:270px;line-height:1.85}
.email-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:clamp(16px,1.6vw,22px);border-bottom:1px solid var(--line);padding:8px 0;margin-top:19px;overflow-wrap:anywhere}
.contact-aside{font-family:var(--serif);font-size:14px;font-style:italic;margin-top:55px;color:var(--muted)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field{margin-bottom:22px;min-width:0}
label{display:block;font-size:11px;margin-bottom:8px;letter-spacing:.025em}
input,textarea{display:block;border:0;border-bottom:1px solid #959489;border-radius:0;background:transparent;width:100%;max-width:100%;min-height:44px;padding:7px 0;color:var(--ink);font-size:16px;line-height:1.5}
textarea{resize:vertical;min-height:90px}
textarea::placeholder{color:#77746a;font-size:14px}
.form-note{font-size:11px;line-height:1.7;color:var(--muted);max-width:370px}
.submit-button{display:flex;justify-content:space-between;align-items:center;gap:45px;min-height:48px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:11px 20px;font-size:12px;margin-top:22px;cursor:pointer;transition:background .2s,border-color .2s}
.submit-button:hover{background:var(--clay);border-color:var(--clay)}
.submit-button span{font-size:20px}
.submit-button #submit-label{font-size:12px}
.submit-button:disabled{opacity:.65;cursor:wait}
.form-trap{display:none}
.form-status[data-state="success"]{color:#3c513c}
.form-status[data-state="error"]{color:#874733}
.verification-button{display:inline-flex;align-items:center;gap:18px;min-height:44px;padding:8px 0;background:transparent;border:0;border-bottom:1px solid var(--ink);color:var(--ink);font-size:12px;cursor:pointer;margin-top:12px}
.form-status,.draft-link{font-size:12px;line-height:1.6}
.form-status:not(:empty){margin-top:18px}
.draft-link{text-decoration:underline;text-underline-offset:4px}
[hidden]{display:none!important}
.site-footer{border-top:1px solid var(--line);min-height:123px;display:flex;align-items:center;gap:30px}
.site-footer .wordmark{width:104px}
.site-footer .brand{padding:6px}
.site-footer p{font-size:11px;color:var(--muted);margin-right:auto}
.site-footer small{font-size:10px;color:var(--muted)}
.back-top{display:inline-flex;gap:18px;align-items:center;min-height:44px;font-size:11px}
@media(prefers-reduced-motion:no-preference){.hero-copy,.hero-art{animation:arrive .75s ease-out both}.hero-art{animation-delay:.12s}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(min-width:1600px){.hero{padding-top:100px}}
@media(max-width:1000px){.header-note{display:none}.hero{column-gap:4%;padding-top:65px}h1{font-size:clamp(48px,7.4vw,74px)}.section-grid{grid-template-columns:150px minmax(0,1fr);gap:5%}.contact-grid{grid-template-columns:1fr;gap:32px}.contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.email-link{margin-top:0;justify-self:end}.contact-aside{display:none}.site-footer{flex-wrap:wrap;padding:25px 0;gap:15px 25px}.site-footer p{flex-basis:40%}}
@media(max-width:680px){.site-header{min-height:104px;gap:16px}.wordmark{width:120px}.brand{padding:7px}nav{gap:18px;font-size:12px}nav a{gap:6px}.hero{padding-top:49px;grid-template-columns:1fr;gap:0}.hero .eyebrow{margin-bottom:29px}h1{font-size:clamp(50px,11.7vw,79px)}.hero-intro{font-size:14px;margin-top:25px}.hero-art{margin:42px 0 0;max-width:360px;justify-self:center}.art-frame{padding:24px 16px 25px}.art-frame svg{max-height:350px}.hero-foot{margin-top:29px;padding:15px 0;font-size:10px}.hero-foot>span{max-width:170px}.hero-foot a{gap:12px}.section-grid{grid-template-columns:1fr;gap:27px}.about{padding:60px 0}.section-label{padding:0}.mini-mark{display:none}h2{font-size:clamp(33px,7.7vw,48px)}.about-columns{grid-template-columns:1fr;gap:19px;margin-top:27px;max-width:460px}.margin-note{margin-top:26px}.contact{padding:53px 0 56px}.contact-grid{margin-top:27px;gap:32px}.contact-intro{display:block}.contact-intro>p:first-child{max-width:340px}.email-link{font-size:21px;margin-top:17px}.site-footer{display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:26px 0}.site-footer p{grid-column:1/-1;grid-row:2;margin:0}.site-footer small{grid-column:1;grid-row:3}.back-top{grid-column:2;grid-row:1}}
@media(max-width:380px){.wordmark{width:112px}nav{gap:12px}nav a:first-child{display:none}.field-row{grid-template-columns:1fr;gap:0}.hero-foot{align-items:flex-start}.hero-foot>span{max-width:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.hero-art,form,.back-top,nav,.skip-link{display:none}.page{padding:0}.hero,.section-grid,.contact-grid{display:block}.hero,.about,.contact{padding:25px 0}.section-label{margin-bottom:20px}.hero-foot{margin-top:20px}a[href^="mailto"]::after{content:" (" attr(href) ")";font-size:10px}}
