:root { --cream:#fff9dc; --green:#002500; --line:rgba(0,37,0,.2); }
* { box-sizing:border-box; }
html { background:var(--cream); scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--green); font-family:"Poppins",Arial,sans-serif; font-weight:600; }
a { color:inherit; text-decoration:none; }
.site-shell { min-height:100svh; overflow:hidden; }
.topbar,.hero,.contact,.footer { margin-inline:clamp(1.25rem,4vw,4.5rem); }
.topbar { display:flex; align-items:center; justify-content:space-between; min-height:7.5rem; border-bottom:1px solid var(--line); animation:soft-in .8s ease-out both; }
.logo { position:relative; display:block; width:clamp(9.8rem,16vw,13rem); height:4.2rem; overflow:hidden; }
.logo img { position:absolute; top:50%; left:50%; width:132%; max-width:none; transform:translate(-50%,-50%); }
.header-contact,.eyebrow,.scroll-link,.footer,.contact-form label>span { font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; }
.header-contact { display:flex; align-items:center; gap:.7rem; padding-bottom:.35rem; border-bottom:1px solid var(--green); }
.hero { position:relative; display:flex; align-items:center; min-height:calc(100svh - 7.5rem); padding:clamp(5rem,11vw,9rem) clamp(0rem,3.5vw,4.5rem); }
.hero-copy { position:relative; z-index:2; animation:soft-rise .85s .12s cubic-bezier(.22,.8,.25,1) both; }
.eyebrow { margin:0 0 1.8rem; }
h1,h2,p { text-wrap:balance; }
h1 { margin:0; font-size:clamp(3.9rem,9.3vw,9.4rem); line-height:.88; letter-spacing:-.075em; }
h1 span { position:relative; display:inline-block; }
h1 span::after { position:absolute; right:0; bottom:-.17em; left:.05em; height:.045em; background:var(--green); content:""; transform:scaleX(.98) rotate(-1deg); transform-origin:left; }
.intro { margin:2.8rem 0 0; font-size:clamp(.92rem,1.25vw,1.12rem); line-height:1.7; letter-spacing:-.015em; }
.eagle-mark { position:absolute; top:50%; right:-8vw; width:clamp(28rem,52vw,58rem); opacity:.09; transform:translateY(-50%) rotate(5deg); animation:eagle-drift 14s ease-in-out infinite alternate; }
.scroll-link { position:absolute; right:0; bottom:2.4rem; display:flex; align-items:center; gap:1rem; padding-bottom:.45rem; border-bottom:1px solid var(--green); }
.contact { display:grid; grid-template-columns:minmax(14rem,.8fr) minmax(22rem,1.35fr); gap:clamp(3rem,9vw,10rem); padding:clamp(6rem,11vw,10rem) clamp(0rem,3.5vw,4.5rem); border-top:1px solid var(--line); }
.contact h2 { max-width:11ch; margin:0; font-size:clamp(2.6rem,5.2vw,5rem); line-height:.98; letter-spacing:-.055em; }
.contact-content { border-top:1px solid var(--green); }
.contact-email { display:flex; align-items:center; justify-content:space-between; min-height:6.5rem; border-bottom:1px solid var(--line); font-size:clamp(1.15rem,2vw,1.6rem); letter-spacing:-.03em; }
.contact-form { display:grid; gap:2.2rem; padding-top:3rem; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.contact-form label { display:grid; gap:.75rem; }
.contact-form input,.contact-form textarea { width:100%; padding:.8rem 0; border:0; border-bottom:1px solid var(--green); border-radius:0; outline:none; background:transparent; color:var(--green); font:600 1rem "Poppins",Arial,sans-serif; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { border-bottom-width:2px; }
.contact-form button { display:flex; align-items:center; justify-content:space-between; width:100%; padding:1.15rem 1.25rem; border:1px solid var(--green); background:var(--green); color:var(--cream); cursor:pointer; font:600 .72rem "Poppins",Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; transition:background 180ms ease,color 180ms ease; }
.contact-form button:hover,.contact-form button:focus-visible { background:transparent; color:var(--green); outline:none; }
.contact-form button:disabled { cursor:wait; opacity:.62; }
.website-field { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-status { min-height:1.5em; margin:0; font-size:.8rem; line-height:1.5; }
.reveal { opacity:0; transform:translateY(1rem); transition:opacity .75s ease,transform .75s cubic-bezier(.22,.8,.25,1); }
.reveal.is-visible { opacity:1; transform:none; }
.footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; min-height:6rem; border-top:1px solid var(--line); }
.footer span:nth-child(2) { text-align:center; }
.footer span:last-child { text-align:right; }
@keyframes soft-in { from { opacity:0; } to { opacity:1; } }
@keyframes soft-rise { from { opacity:0; transform:translateY(1rem); } to { opacity:1; transform:none; } }
@keyframes eagle-drift { from { transform:translateY(-50%) rotate(4deg) scale(1); } to { transform:translateY(-51.5%) rotate(5.2deg) scale(1.012); } }
@media (max-width:760px) {
  .topbar { min-height:6rem; }
  .logo { width:8.8rem; height:3.5rem; }
  .header-contact { font-size:.55rem; }
  .hero { align-items:flex-end; min-height:calc(100svh - 6rem); padding-top:7rem; padding-bottom:7.5rem; }
  h1 { font-size:clamp(3.55rem,17vw,5.8rem); }
  .intro br { display:none; }
  .eagle-mark { top:32%; right:-13rem; width:34rem; }
  .scroll-link { right:auto; bottom:2.2rem; left:0; }
  .contact { grid-template-columns:1fr; gap:4.5rem; padding-block:6.5rem; }
  .contact h2 { max-width:10ch; }
  .field-row { grid-template-columns:1fr; gap:2.2rem; }
  .footer { grid-template-columns:1fr auto; gap:.65rem 1rem; padding-block:1.5rem; line-height:1.55; }
  .footer span:nth-child(2) { grid-row:2; grid-column:1 / 3; text-align:left; }
  .footer span:last-child { text-align:right; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .topbar,.hero-copy,.eagle-mark { animation:none; } .reveal { opacity:1; transform:none; transition:none; } }
