@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#20281e;--cream:#f5f1e9;--lime:#d7df68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#171b16;font-family:'DM Sans',Arial,sans-serif}.hero{min-height:100svh;position:relative;background:linear-gradient(90deg,rgba(19,23,17,.44),rgba(19,23,17,.05) 70%),url('assets/hero-architecture-coffee.png') center center/cover no-repeat;color:#fff;display:flex;flex-direction:column;padding:0 clamp(24px,5vw,84px);isolation:isolate}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,17,12,.28),transparent 45%);z-index:-1}nav{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.45);font:500 .75rem 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}nav a{color:#fff;text-decoration:none}.brand{font-size:1rem;letter-spacing:-.08em}.brand:first-letter{color:var(--lime)}nav span{display:inline-block;margin-left:.5rem;font-size:1.1rem;transition:transform .2s}nav a:hover span{transform:translate(3px,3px)}.hero-copy{margin:auto 0;text-shadow:0 2px 12px rgba(0,0,0,.2)}.hero-copy p,.eyebrow{font:500 .72rem 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.13em}.hero-copy p{margin:0 0 1.5rem}.hero h1,.panel h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.07em;line-height:.85;margin:0}.hero h1{font-size:clamp(5.2rem,13.2vw,13.4rem)}.hero h1 span{color:var(--lime)}.hero-cta{display:inline-flex;gap:1.5rem;align-items:center;color:#fff;text-decoration:none;margin-top:2.4rem;padding-bottom:.55rem;border-bottom:1px solid var(--lime);font-size:.95rem}.hero-cta b{font-size:1.25rem;font-weight:400;transition:transform .2s}.hero-cta:hover b{transform:translateY(4px)}.caption{font-size:.78rem;margin:0 0 2rem;opacity:.9}.modal{position:fixed;z-index:10;inset:0;display:grid;grid-template-columns:1fr min(600px,100%);visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s}.modal:target{visibility:visible;opacity:1}.backdrop{background:rgba(17,21,15,.64);backdrop-filter:blur(4px)}.panel{position:relative;overflow:auto;padding:clamp(36px,7vw,90px);background:var(--ink);color:var(--cream);transform:translateX(100%);transition:transform .35s ease}.modal:target .panel{transform:none}.close{position:absolute;right:clamp(25px,4vw,48px);top:clamp(24px,4vw,40px);color:var(--cream);font:300 2.4rem/1 Arial;text-decoration:none}.panel h2{font-size:clamp(4rem,7vw,7rem);margin:.75rem 0 1.6rem}.panel-intro{max-width:380px;line-height:1.6;color:#c8d0c3;margin:0 0 2.4rem}form{display:grid;gap:1.2rem}label{display:grid;gap:.45rem;color:#dce2d8;font:500 .72rem 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}label small{color:#8e988c}input,textarea{color:var(--cream);background:transparent;border:0;border-bottom:1px solid #677064;border-radius:0;padding:.65rem 0;font:400 1rem 'DM Sans',sans-serif;outline:0}input:focus,textarea:focus{border-color:var(--lime)}textarea{resize:vertical}.trap{position:absolute;left:-9999px}.notice{margin:0;padding:.8rem}.success{background:#40553d}.error{background:#75413a}button{margin-top:.6rem;display:flex;justify-content:space-between;align-items:center;background:var(--lime);color:var(--ink);border:0;padding:1rem 1.1rem;font:500 .78rem 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:transform .2s,background .2s}button:hover{background:#edf28c;transform:translateY(-2px)}button span{font-size:1.2rem}.email{display:block;margin-top:2rem;color:var(--lime);font:500 .75rem 'DM Mono',monospace;text-decoration:none}.email:hover{text-decoration:underline}@media(max-width:760px){.hero{padding:0 6vw;background-position:57% center}nav{height:78px}.hero h1{font-size:clamp(4.6rem,19vw,7rem)}.caption{line-height:1.5;max-width:210px}.modal{grid-template-columns:1fr}.backdrop{display:none}.panel{padding:75px 7vw 48px}.panel h2{font-size:4.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
