@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;800&family=DM+Serif+Display&display=swap');

:root {
  --orange: #f77f00;
  --sunset: #fcbf49;
  --terra: #d62828;
  --cream: #fefae0;
  --dark: #1d1d1d;
  --warmgray: #3d3d3d;
  --softtext: #6b6b6b;
  --bg: #fffdf5;
  --cardbg: #fff8e7;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Poppins',sans-serif;
  background:var(--bg); color:var(--dark);
  line-height:1.75;
}
h1,h2,h3 { font-family:'DM Serif Display',serif; }
a { color:var(--orange); text-decoration:none; transition:color .3s; }
a:hover { color:var(--terra); }

.site-top {
  position:fixed; top:0; width:100%; z-index:1000;
  background:rgba(255,253,245,0.95);
  backdrop-filter:blur(8px);
  padding:.8rem 2rem;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:3px solid var(--sunset);
}
.brand-area { display:flex; align-items:center; gap:.5rem; }
.brand-area svg { width:36px; height:36px; }
.brand-label {
  font-family:'DM Serif Display',serif;
  font-size:1.4rem; color:var(--dark);
}
.brand-label span { color:var(--orange); }

.hmenu {
  display:none; background:none; border:none; cursor:pointer;
  flex-direction:column; gap:5px;
}
.hmenu span {
  width:26px; height:2.5px; background:var(--orange);
  display:block; border-radius:3px; transition:all .3s;
}

.links ul { display:flex; list-style:none; gap:2rem; }
.links a {
  font-size:.82rem; font-weight:600;
  text-transform:uppercase; letter-spacing:1.5px;
  color:var(--softtext);
}
.links a:hover, .links a.act { color:var(--orange); }

@media(max-width:768px) {
  .hmenu { display:flex; }
  .links {
    position:fixed; top:0; right:-100%; width:72%;
    height:100vh; background:var(--bg);
    padding:5rem 2rem; transition:right .4s;
    box-shadow:-4px 0 20px rgba(0,0,0,0.08);
  }
  .links.open { right:0; }
  .links ul { flex-direction:column; gap:1.5rem; }
}

.intro {
  min-height:100vh;
  background:linear-gradient(140deg, var(--orange) 0%, var(--sunset) 50%, #ffe8a3 100%);
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:8rem 2rem 4rem;
}
.intro h1 {
  font-size:clamp(2.2rem,5vw,4rem);
  color:var(--dark); margin-bottom:1rem;
}
.intro p {
  max-width:650px; margin:0 auto 2rem;
  color:var(--warmgray); font-size:1.1rem;
}
.sun-btn {
  display:inline-block; padding:.9rem 2.8rem;
  background:var(--dark); color:var(--sunset);
  font-family:'DM Serif Display',serif;
  font-weight:400; font-size:1rem;
  border:none; border-radius:50px; cursor:pointer;
  transition:background .3s, transform .3s;
}
.sun-btn:hover { background:#333; transform:translateY(-2px); color:var(--sunset); }

.bannerline {
  display:flex; flex-wrap:wrap; justify-content:center; gap:2rem;
  padding:1.5rem 2rem; background:var(--dark);
}
.bannerline .bl {
  color:var(--sunset); font-weight:700;
  font-size:.88rem; display:flex; align-items:center; gap:.4rem;
}

.sect { padding:5rem 2rem; max-width:1100px; margin:0 auto; }
.sect h2 {
  font-size:clamp(1.6rem,3vw,2.4rem);
  margin-bottom:1.2rem; color:var(--dark);
}

.gframe {
  max-width:800px; margin:2rem auto;
  border-radius:20px; overflow:hidden;
  border:3px solid var(--sunset);
  box-shadow:0 8px 30px rgba(247,127,0,0.12);
}
.gframe iframe {
  width:100%; height:600px; border:none; display:block; background:#111;
}

.card-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.8rem; margin-top:2rem;
}
.crd {
  background:var(--cardbg);
  border-radius:16px; padding:2rem;
  border:1px solid rgba(247,127,0,0.15);
  transition:transform .3s, box-shadow .3s;
}
.crd:hover {
  transform:translateY(-4px);
  box-shadow:0 6px 20px rgba(247,127,0,0.12);
}
.crd .ci { font-size:2.4rem; margin-bottom:.7rem; display:block; }
.crd h3 { font-size:1.05rem; margin-bottom:.5rem; color:var(--terra); }
.crd p { color:var(--softtext); font-size:.92rem; }

.twocol {
  display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-top:2rem;
}
@media(max-width:768px) { .twocol { grid-template-columns:1fr; } }
.twocol p { color:var(--softtext); margin-bottom:1rem; }

.figbar {
  display:flex; flex-wrap:wrap; justify-content:center; gap:3rem;
  padding:3.5rem 2rem; background:var(--dark); text-align:center;
}
.fig h3 { font-size:2.4rem; color:var(--sunset); font-family:'DM Serif Display',serif; }
.fig p { color:rgba(255,255,255,0.45); font-size:.85rem; }

.foot {
  background:var(--dark); padding:2.5rem 2rem; text-align:center;
  border-top:3px solid var(--orange);
}
.flinks { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; margin-bottom:1rem; }
.flinks a { color:rgba(255,255,255,0.45); font-size:.85rem; }
.flinks a:hover { color:var(--sunset); }
.fresp { display:flex; flex-wrap:wrap; justify-content:center; gap:2rem; margin-bottom:1rem; }
.fresp a { color:var(--sunset); font-size:.85rem; font-weight:700; }
.fc { color:rgba(255,255,255,0.3); font-size:.78rem; }

.pg { padding:8rem 2rem 4rem; max-width:880px; margin:0 auto; }
.pg h1 { font-size:clamp(1.8rem,3vw,2.8rem); margin-bottom:2rem; color:var(--dark); }
.pg h2 { font-size:1.3rem; margin:2rem 0 .8rem; color:var(--terra); }
.pg p, .pg li { color:var(--softtext); margin-bottom:.9rem; font-size:1rem; }
.pg ul { padding-left:1.5rem; }

.overlay {
  position:fixed; inset:0; background:rgba(29,29,29,0.97);
  z-index:9999; display:flex; align-items:center; justify-content:center;
}
.obox {
  background:var(--cream); border-radius:20px; padding:2.8rem;
  text-align:center; max-width:420px; width:90%;
  border:3px solid var(--orange);
}
.obox h2 { color:var(--dark); margin-bottom:.8rem; font-size:1.4rem; }
.obox p { color:var(--softtext); margin-bottom:1.8rem; }
.orow { display:flex; gap:1rem; justify-content:center; }
.ob {
  padding:.7rem 2rem; border:none; border-radius:50px;
  font-family:'DM Serif Display',serif;
  font-size:.9rem; cursor:pointer; transition:transform .2s;
}
.ob:hover { transform:scale(1.05); }
.ob.y { background:var(--orange); color:white; }
.ob.n { background:#ddd; color:var(--softtext); }

.pnote {
  background:var(--cardbg); border-radius:12px; padding:1.4rem;
  margin:1.5rem auto; max-width:800px;
  color:var(--softtext); font-size:.9rem;
  border-left:4px solid var(--orange);
}
