/* GoldSec — shared stylesheet */

:root{
  --ink:#0E1419;
  --slate:#36474F;
  --brass:#9C6F22;
  --paper:#F2EFE9;
  --line:#D8D3C7;
  --measure:64ch;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Assistant",system-ui,-apple-system,sans-serif;
  font-weight:400;
  font-size:clamp(16px,1.05vw + 13px,19px);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1060px;margin:0 auto;padding:0 24px}

/* ---------- header ---------- */
.top{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:26px 0 0;flex-wrap:wrap;
}
.mark{
  font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:800;
  font-size:26px;letter-spacing:-.01em;text-decoration:none;color:var(--ink);
}
.mark span{color:var(--brass)}
.top nav{display:flex;gap:20px;font-size:16px;align-items:center;flex-wrap:wrap}
.top nav a{color:var(--slate);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}
.top nav a:hover,.top nav a:focus-visible{color:var(--ink);border-bottom-color:var(--brass)}
.lang{
  font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;
  border:1px solid var(--line);padding:4px 12px;border-radius:2px;
}
.lang:hover,.lang:focus-visible{border-color:var(--brass);color:var(--brass)}

/* ---------- hero ---------- */
.hero{padding:64px 0 56px;border-bottom:1px solid var(--line)}
.hero h1{
  font-family:"Frank Ruhl Libre",Georgia,serif;
  font-weight:800;
  font-size:clamp(32px,5vw + 12px,62px);
  line-height:1.1;letter-spacing:-.015em;
  margin:0 0 22px;max-width:24ch;
}
.hero p{margin:0;max-width:54ch;font-size:1.1em;color:var(--slate);font-weight:300}
.hero .actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}

.btn{
  display:inline-block;background:var(--ink);color:var(--paper);
  text-decoration:none;padding:13px 26px;font-weight:600;font-size:16px;
}
.btn:hover,.btn:focus-visible{background:var(--brass)}
.btn-quiet{
  color:var(--ink);text-decoration:none;font-weight:600;font-size:16px;
  border-bottom:1px solid var(--brass);padding-bottom:3px;
}

/* ---------- sections ---------- */
section h2{
  font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:500;
  font-size:clamp(23px,2vw + 15px,33px);margin:0 0 36px;letter-spacing:-.01em;
}
.services{padding:60px 0 20px}

.layer{
  display:grid;grid-template-columns:minmax(0,16ch) 1fr;gap:28px;
  padding:28px 0;border-top:1px solid var(--line);
}
.layer:last-of-type{border-bottom:1px solid var(--line)}
.layer h3{
  margin:0;font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:500;
  font-size:1.16em;line-height:1.3;color:var(--brass);
}
.layer p{margin:0;max-width:var(--measure);color:var(--slate)}
@media (max-width:640px){
  .layer{grid-template-columns:1fr;gap:10px;padding:22px 0}
}

/* ---------- dark band ---------- */
.band{padding:68px 0;margin-top:44px;background:var(--ink);color:var(--paper)}
.band h2{color:var(--paper)}
.band p{max-width:var(--measure);color:#C6CED2;font-weight:300;margin:0 0 20px}
.creds{
  margin:36px 0 0;padding:0;list-style:none;
  display:flex;flex-wrap:wrap;gap:12px 32px;font-size:16px;color:var(--paper);
}
.creds li{font-weight:600}

/* ---------- contact ---------- */
.contact{padding:64px 0 20px}
.contact dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:14px 28px;align-items:baseline}
.contact dt{color:var(--slate);font-size:16px}
.contact dd{margin:0;font-weight:600}
.contact a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--brass)}
.contact a:hover,.contact a:focus-visible{color:var(--brass)}
@media (max-width:520px){
  .contact dl{grid-template-columns:1fr;gap:4px 0}
  .contact dd{margin-bottom:12px}
}

/* ---------- legal pages ---------- */
.legal{padding:52px 0 20px;max-width:var(--measure)}
.legal h1{
  font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:800;
  font-size:clamp(28px,3vw + 16px,44px);line-height:1.15;margin:0 0 10px;letter-spacing:-.01em;
}
.legal .updated{color:var(--slate);font-size:16px;margin:0 0 40px}
.legal h2{
  font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:500;
  font-size:1.3em;margin:40px 0 14px;letter-spacing:-.005em;
}
.legal p,.legal li{color:var(--slate)}
.legal p{margin:0 0 16px}
.legal ul{margin:0 0 16px;padding-inline-start:22px}
.legal li{margin-bottom:8px}
.legal a{color:var(--ink);border-bottom:1px solid var(--brass);text-decoration:none}
.legal a:hover,.legal a:focus-visible{color:var(--brass)}
.legal strong{color:var(--ink);font-weight:600}

/* ---------- footer ---------- */
footer{
  margin-top:64px;padding:26px 0 40px;border-top:1px solid var(--line);
  font-size:15px;color:var(--slate);
}
.foot-row{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;align-items:baseline}
footer a{color:var(--slate);text-decoration:none;border-bottom:1px solid transparent}
footer a:hover,footer a:focus-visible{color:var(--ink);border-bottom-color:var(--brass)}
.foot-links{display:flex;gap:20px;flex-wrap:wrap}

a:focus-visible,.btn:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
