/*
Theme Name: Salveda
*/

:root{
  --paper:#FFFFFF;
  --mint:#F2F7F5;
  --cream:#FBF2DC;
  --slate:#E9F0F1;
  --ink:#12262E;
  --body:#33474E;
  --muted:#6B7D82;
  --rule:#DCE6E4;
  --rule-strong:#C3D3D0;
  --green:#1D5F4A;
  --green-2:#2E7D5B;
  --green-soft:#7FB49C;
  --teal:#0F4C5C;
  --gold:#C8901E;
  --gold-soft:#E2C487;
  --clay:#B0472F;
  --shell:1200px;
  --gut:clamp(20px,4vw,56px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--body);
  font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:18px;line-height:1.62;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{color:var(--ink);font-weight:600;margin:0;letter-spacing:-.015em;line-height:1.14}
h1{font-size:clamp(2.05rem,3.6vw,3.05rem);line-height:1.07;letter-spacing:-.022em}
h2{font-size:clamp(1.7rem,2.9vw,2.3rem)}
h3{font-size:1.22rem;line-height:1.28}
h4{font-size:1.02rem;line-height:1.3}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-2)}
:focus-visible{outline:2px solid var(--green-2);outline-offset:3px;border-radius:2px}
img,svg{max-width:100%}
.shell{max-width:var(--shell);margin:0 auto;padding-inline:var(--gut)}
.lede{font-size:1.14rem}
.small{font-size:.95rem}
.muted{color:var(--muted)}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--rule)}
.hdr-in{display:flex;align-items:center;gap:28px;height:74px}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);flex:none}
.brand svg{display:block}
.brand .wm{display:block;line-height:1.08}
.brand b{display:block;font-size:1.3rem;font-weight:700;letter-spacing:.1em;color:var(--ink)}
.brand .tag{display:block;font-size:.66rem;letter-spacing:.15em;color:var(--muted);font-weight:500}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav a{position:relative;padding:9px 14px;color:var(--body);font-size:1rem;font-weight:500;border-radius:3px;transition:color .2s,background .2s}
.nav a:hover{background:var(--mint);color:var(--green)}
.nav a.on{color:var(--green)}
.nav a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:1px;height:2px;background:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-weight:600;font-size:1rem;cursor:pointer;border-radius:3px;padding:12px 20px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .12s}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--green);color:#fff;border-color:var(--green)}
.btn-p:hover{background:var(--green-2);color:#fff;border-color:var(--green-2)}
.btn-s{background:#fff;color:var(--green);border-color:var(--rule-strong)}
.btn-s:hover{border-color:var(--green);background:var(--mint);color:var(--green)}
.btn-sm{padding:9px 16px;font-size:.95rem}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--rule);background:#fff;border-radius:3px;cursor:pointer;align-items:center;justify-content:center}
.burger i{display:block;width:19px;height:1.5px;background:var(--ink);position:relative;transition:background .18s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:19px;height:1.5px;background:var(--ink);transition:transform .24s}
.burger i::before{top:-6px}.burger i::after{top:6px}
.burger.x i{background:transparent}
.burger.x i::before{transform:translateY(6px) rotate(45deg)}
.burger.x i::after{transform:translateY(-6px) rotate(-45deg)}
.mnav{display:none;border-bottom:1px solid var(--rule);background:#fff}
.mnav.open{display:block;animation:drop .26s ease both}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mnav a{display:block;padding:14px 0;border-bottom:1px solid var(--rule);color:var(--body);font-weight:500}
.mnav a:last-of-type{border-bottom:0}
.mnav .btn{width:100%;margin:16px 0 22px}
@media(max-width:900px){.nav,.hdr .btn{display:none}.burger{display:flex}}
.brand img{
  width: auto;
  height: 100%;
  max-height: 65px;
}
