
:root{
  --bg:#fbf8f3;
  --surface:#ffffff;
  --text:#1f2933;
  --muted:#5b6773;
  --line:#e5e7eb;
  --brand:#8b1e2d;
  --brand-2:#b73a4b;
  --accent:#ede3d5;
  --shadow:0 10px 30px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.wrap{width:min(1120px, calc(100% - 2rem)); margin:0 auto}
.site-header{
  position:sticky; top:0; z-index:10;
  background:rgba(251,248,243,.92); backdrop-filter: blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex; gap:1rem; align-items:center; justify-content:space-between;
  padding:.85rem 0;
}
.brand{display:flex; gap:.75rem; align-items:center; font-weight:700; color:var(--text)}
.brand img{width:190px; height:auto; object-fit:contain}
.main-nav{display:flex; gap:1rem; flex-wrap:wrap; justify-content:center}
.main-nav a{color:var(--muted); padding:.35rem .15rem; border-bottom:2px solid transparent}
.main-nav a.active,.main-nav a:hover{color:var(--text); border-color:var(--brand); text-decoration:none}
.lang-switch{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:48px; padding:.55rem .75rem; border-radius:999px;
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow);
}
.hero{
  background:linear-gradient(180deg, #f6efe4 0%, #fbf8f3 100%);
  border-bottom:1px solid var(--line);
}
.hero-grid{
  display:grid; grid-template-columns:1.2fr .9fr; gap:2rem; align-items:center;
  padding:4rem 0 3rem;
}
.hero h1{font-size:clamp(2.1rem,4vw,4rem); line-height:1.05; margin:.2rem 0 1rem}
.lead{font-size:1.15rem; color:var(--muted); max-width:62ch}
.eyebrow{color:var(--brand); text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; font-weight:700}
.hero-actions,.button-row{display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.25rem}
.button{
  display:inline-block; padding:.8rem 1rem; border-radius:999px; background:var(--brand);
  color:white; font-weight:600; box-shadow:var(--shadow)
}
.button.secondary{background:var(--surface); color:var(--text); border:1px solid var(--line)}
.button:hover{text-decoration:none; opacity:.95}
.hero-image{border-radius:24px; box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover}
.page-head{padding:3rem 0 1rem}
.page-head h1{font-size:clamp(1.9rem,3vw,3rem); line-height:1.1; margin:.25rem 0 0}
.prose{
  background:var(--surface); padding:1.5rem; border-radius:24px; box-shadow:var(--shadow);
  margin-bottom:1.5rem;
}
.prose h2,.prose h3{line-height:1.2; margin-top:1.5rem}
.prose p,.prose li{max-width:78ch}
.cards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1rem; margin:1.5rem auto;
}
.card,.callout{
  background:var(--surface); border:1px solid var(--line); border-radius:24px;
  padding:1.25rem; box-shadow:var(--shadow);
}
.card h3,.callout h2{margin-top:0; line-height:1.2}
.stats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1rem; margin:1.5rem auto;
}
.stat{
  background:#f3ede3; border-radius:24px; padding:1.25rem; text-align:center;
  border:1px solid #e7dac6;
}
.stat strong{display:block; font-size:2rem; line-height:1.1}
.stat span{display:block; color:var(--muted); margin-top:.4rem}
.site-footer{
  margin-top:3rem; border-top:1px solid var(--line); background:#f6f1e8;
}
.site-footer .wrap{padding:1.5rem 0 2.2rem; color:var(--muted)}
.site-footer a{color:var(--muted)}
.archive-note{background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; border-radius:16px; padding:1rem; margin:1.25rem 0}
@media (max-width: 920px){
  .header-inner{align-items:flex-start; flex-direction:column}
  .main-nav{justify-content:flex-start}
  .hero-grid{grid-template-columns:1fr; padding:2.5rem 0}
}


.section{margin:1.5rem auto}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin:1.5rem auto}
.service-panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:1.5rem;box-shadow:var(--shadow)}
.service-panel h2,.service-panel h3{margin-top:0;line-height:1.15}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.25rem 0}
.info-item{background:#f7f3ec;border:1px solid #eadfce;border-radius:18px;padding:1rem}
.info-item h3{margin:0 0 .35rem 0;font-size:1rem}
.cta-band{background:#f3ede3;border:1px solid #e7dac6;border-radius:24px;padding:1.5rem;box-shadow:var(--shadow);margin:1.5rem auto}
.clean-list{padding-left:1.2rem;margin:.6rem 0}
.clean-list li{margin:.35rem 0}
.home-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:start}
.quote{font-size:1.1rem;font-style:italic;color:var(--muted);border-left:4px solid var(--brand);padding-left:1rem;margin:0}
.quick-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.quick-links a{display:inline-block;padding:.55rem .85rem;border-radius:999px;background:#f3ede3;color:var(--text);border:1px solid #e7dac6}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.25rem 0}
.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:1.25rem;box-shadow:var(--shadow)}
.contact-card h3{margin-top:0}
.muted{color:var(--muted)}
@media (max-width: 920px){.home-intro{grid-template-columns:1fr}}

.utility-bar{background:#7f1d1d;color:#fff;font-size:.92rem}
.utility-bar .wrap{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:.45rem 0;flex-wrap:wrap}
.utility-bar a{color:#fff}
.utility-links{display:flex;gap:1rem;flex-wrap:wrap}
.partner-strip{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:1.25rem 0}
.partner-strip img{height:56px;width:auto;object-fit:contain;filter:grayscale(10%)}
.document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.25rem 0}
.document-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:1rem;box-shadow:var(--shadow)}
.document-card h3{margin-top:0;font-size:1rem}
