:root{
  --ink:#1b1613;
  --gold:#e8ad00;
  --gold-deep:#b98600;
  --cream:#fff9ea;
  --paper:#ffffff;
  --muted:#6b6459;
  --line:#e8dfc8;
  --max:40rem;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Work Sans', -apple-system, sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  line-height:1.15;
  margin:0 0 .5em;
  letter-spacing:-.01em;
}

a{color:var(--gold-deep);}
a:hover{color:var(--ink);}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;}

.wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:0 1.5rem;
}

/* header */
.site-header{
  padding:2.75rem 0 2rem;
}
.brand{
  display:flex;
  align-items:center;
  gap:1rem;
}
.brand img{
  width:56px;
  height:56px;
  display:block;
}
.brand-name{
  font-family:'Fraunces', Georgia, serif;
  font-size:1.5rem;
  font-weight:600;
}
.brand-name span{color:var(--gold-deep);}

/* hero */
.hero{padding:1.5rem 0 2.5rem;}
.hero h1{
  font-size:2.1rem;
  max-width:15ch;
}
.hero p{
  color:var(--muted);
  font-size:1.05rem;
  max-width:34rem;
  margin:1rem 0 0;
}

/* trail divider - subtle mountain motif */
.trail{
  height:26px;
  margin:2.75rem 0;
  background-repeat:repeat-x;
  background-position:left center;
  background-size:52px 26px;
  opacity:.55;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='26' viewBox='0 0 52 26'%3E%3Cpath d='M0 22 L11 8 L18 16 L26 4 L34 16 L41 8 L52 22' fill='none' stroke='%23e8ad00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

section{padding:0 0 .5rem;}
section h2{font-size:1.35rem;}
section p{margin:0 0 1rem;}
section p:last-child{margin-bottom:0;}

.services{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1.25rem;
}
.services li{
  padding-left:1.1rem;
  border-left:2px solid var(--gold);
}
.services strong{
  display:block;
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  font-size:1.05rem;
  margin-bottom:.2rem;
}
.services span{color:var(--muted);}

/* contact */
.contact-list{
  list-style:none;
  margin:0;
  padding:0;
}
.contact-list li{
  display:flex;
  gap:.85rem;
  padding:.6rem 0;
  border-bottom:1px solid var(--line);
}
.contact-list li:last-child{border-bottom:none;}
.contact-list .label{
  color:var(--muted);
  min-width:6.5rem;
  flex-shrink:0;
}
.contact-list a{text-decoration:none;font-weight:500;}
.contact-list a:hover{text-decoration:underline;}

/* footer */
.site-footer{
  margin-top:3rem;
  padding:1.75rem 0 3rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.85rem;
  line-height:1.7;
}
.site-footer a{color:var(--muted);text-decoration:underline;}
.site-footer a:hover{color:var(--gold-deep);}

/* policy page */
.policy h1{font-size:1.8rem;max-width:none;}
.policy h2{font-size:1.15rem;margin-top:2.25rem;}
.policy p, .policy li{color:var(--ink);}
.policy ul{padding-left:1.2rem;}
.updated{color:var(--muted);font-size:.9rem;margin-top:-.4rem;}
.back-link{
  display:inline-block;
  margin-bottom:2rem;
  font-size:.9rem;
  text-decoration:none;
}

@media (max-width:480px){
  body{font-size:16px;}
  .hero h1{font-size:1.75rem;}
  .brand-name{font-size:1.3rem;}
}

/* ANPC compliance block */
.anpc{
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:1px solid var(--line);
}
.anpc-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .85rem;
  border:1px solid var(--line);
  border-radius:4px;
  text-decoration:none;
  font-size:.8rem;
  color:var(--ink);
  background:var(--paper);
}
.anpc-badge:hover{border-color:var(--gold-deep);}
.anpc-badge strong{font-family:'Fraunces', Georgia, serif;font-weight:600;}
