/* ==========================================================================
   2. Base
   ========================================================================== */

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--wg-bg);
  color:var(--wg-text);
  font-family:var(--wg-font-body);
  font-size:var(--wg-fs-body);
  font-weight:var(--wg-fw-body);
  line-height:var(--wg-lh-body);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--wg-font-display);
  font-weight:400;           /* Suez One ships a single weight */
  color:var(--wg-heading);
  margin:0 0 .5em;
  letter-spacing:.5px;
}

p{ margin:0 0 21.6px; }
p:last-child{ margin-bottom:0; }

a{ color:inherit; text-decoration:none; }
a:hover,a:focus{ text-decoration:underline; }

img{ max-width:100%; height:auto; display:block; border:0; }

button{ font:inherit; cursor:pointer; }

:focus-visible{
  outline:3px solid var(--wg-link);
  outline-offset:2px;
}

/* --- Layout primitives ---------------------------------------------------- */
.wg-container{
  width:100%;
  max-width:var(--wg-container);
  margin-inline:auto;
  padding-inline:var(--wg-gutter);
}

.wg-main{
  background:var(--wg-surface);
  padding-block:var(--wg-section-pad);
  min-height:40vh;
}

.wg-block{ margin-bottom:44px; }

.wg-grid{ display:grid; gap:var(--wg-gap-tight); }
.wg-grid--3{ grid-template-columns:repeat(3,1fr); }
.wg-grid--4{ grid-template-columns:repeat(4,1fr); }

.wg-rows{ display:flex; flex-direction:column; gap:var(--wg-gap-tight); }

/* --- Accessibility -------------------------------------------------------- */
.screen-reader-text{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

.wg-skip{
  position:absolute; left:-9999px;
  z-index:999;
  padding:12px 20px;
  background:var(--wg-accent);
  color:var(--wg-accent-ink);
  font-family:var(--wg-font-display);
}
.wg-skip:focus{ left:var(--wg-gutter); top:8px; }

/* --- Signature section header (spec 6) ------------------------------------ */
.wg-section-head{
  margin:0 0 20px;
  border-bottom:var(--wg-rule-weight) solid var(--wg-accent);
}
.wg-section-head__title{
  margin:0;
  font-family:var(--wg-font-display);
  font-size:var(--wg-fs-section);
  line-height:1;
  letter-spacing:.5px;
  color:var(--wg-heading);
  padding-bottom:2px;
}
.wg-section-head__title a{ text-decoration:none; }
.wg-section-head__title a:hover{ color:var(--wg-nav-hover); text-decoration:none; }

.wg-empty{ color:var(--wg-muted); }
