:root { --bg:#0a0d0b; --panel:#111713; --text:#f0f0e9; --muted:#9ca49a; --accent:#b8c6a1; --line:rgba(232,239,222,.18); --ease:cubic-bezier(.22,1,.36,1); }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--bg); }
body { min-height:100vh; margin:0; color:var(--text); background:radial-gradient(circle at 12% 15%,#22311f 0,transparent 32%),radial-gradient(circle at 88% 82%,#162419 0,transparent 30%),var(--bg); font-family:Arial,Helvetica,sans-serif; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.18; background:linear-gradient(120deg,transparent 0 48%,rgba(190,215,165,.08) 50%,transparent 52%); }
.grain { position:fixed; z-index:10; inset:0; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.contact-page { position:relative; z-index:1; width:min(1180px,calc(100% - 3rem)); min-height:100vh; margin:auto; padding:clamp(2rem,5vw,5rem) 0 2rem; display:grid; grid-template-columns:minmax(260px,.8fr) minmax(340px,1.15fr); gap:clamp(3rem,9vw,9rem); align-items:center; }
.brand { position:absolute; top:2rem; left:0; width:clamp(5rem,8vw,8rem); }
.brand img { display:block; width:100%; filter:invert(1); opacity:.88; }
.eyebrow { margin:0 0 1.2rem; color:var(--accent); font-size:.65rem; letter-spacing:.23em; }
h1 { margin:0; font-size:clamp(4.2rem,9vw,8.5rem); font-weight:500; line-height:.78; letter-spacing:-.085em; }
.role { margin:2rem 0 0; color:var(--accent); font-size:clamp(.9rem,1.4vw,1.2rem); letter-spacing:.1em; text-transform:uppercase; }
.role span { margin:0 .45rem; color:var(--muted); }
.summary { max-width:32rem; margin:1.5rem 0 0; color:var(--muted); font-family:Georgia,serif; font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.6; }
.contact-links { border-top:1px solid var(--line); }
.contact-button { appearance:none; width:100%; min-height:6.2rem; padding:1.25rem 1rem; border:0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:2.5rem 1fr auto 1.5rem; gap:1rem; align-items:center; color:inherit; background:transparent; text-align:left; text-decoration:none; cursor:pointer; transition:background .35s var(--ease),padding .35s var(--ease); }
.contact-button:hover,.contact-button:focus-visible { padding-left:1.5rem; outline:0; background:rgba(184,198,161,.08); }
.contact-button > span { color:var(--accent); font-size:.62rem; letter-spacing:.15em; }
.contact-button strong { font-size:clamp(1.4rem,2.5vw,2.35rem); font-weight:500; letter-spacing:-.045em; }
.contact-button small { max-width:16rem; color:var(--muted); font-size:.7rem; letter-spacing:.06em; overflow-wrap:anywhere; text-align:right; }
.contact-button i { color:var(--accent); font-size:1.2rem; font-style:normal; text-align:right; }
.contact-button.primary { background:rgba(184,198,161,.055); }
footer { grid-column:1/-1; border-top:1px solid var(--line); padding-top:1.25rem; display:flex; justify-content:space-between; color:var(--muted); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
footer a { color:var(--accent); text-decoration:none; }
footer p { margin:0; }
.copy-message { position:fixed; z-index:20; left:50%; bottom:2rem; transform:translate(-50%,1rem); padding:.9rem 1.2rem; color:#142019; background:var(--accent); font-size:.72rem; letter-spacing:.1em; opacity:0; pointer-events:none; transition:opacity .25s,transform .25s; }
.copy-message.is-visible { opacity:1; transform:translate(-50%,0); }
@media (max-width:760px) {
  .contact-page { width:min(100% - 2rem,42rem); padding-top:7rem; grid-template-columns:1fr; gap:3.5rem; }
  .brand { top:1.5rem; }
  .contact-button { grid-template-columns:2rem 1fr 1.2rem; }
  .contact-button small { grid-column:2; grid-row:2; text-align:left; }
  .contact-button i { grid-column:3; grid-row:1/3; }
  footer { margin-top:1rem; }
}
