/* certi — site styles */

a { color:#E8732A; }
a:hover { color:#C2622A; }

body { margin:0; background:#241910; }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  .pg { scroll-margin-top:0; position:relative; }
  .ztitle { font-family:'Zilla Slab',serif; }
  .dm { font-family:'DM Sans',sans-serif; }
  .ph { font-family:'DM Sans',sans-serif; display:flex; align-items:center; justify-content:center; text-align:center; letter-spacing:1.5px; text-transform:uppercase; font-size:10px; font-weight:600; line-height:1.5; padding:12px; }
  .ph-d { background:#2c2014; color:#b9a487; border:1px dashed #5a4a36; }
  .ph-l { background:#efe7d8; color:#a8997f; border:1px dashed #cbb99c; }
  .navlink { font-family:'DM Sans',sans-serif; font-weight:500; font-size:14px; letter-spacing:0.2px; text-decoration:none; cursor:pointer; }
  .pill { display:inline-flex; align-items:center; gap:8px; font-family:'DM Sans',sans-serif; font-weight:600; font-size:13px; letter-spacing:0.3px; border-radius:999px; padding:13px 22px; text-decoration:none; cursor:pointer; border:none; }
  .pbadge { position:absolute; top:14px; left:14px; z-index:60; font-family:'DM Sans',sans-serif; font-weight:700; font-size:11px; letter-spacing:1px; text-transform:uppercase; background:#F4C20D; color:#241910; border-radius:999px; padding:6px 13px; box-shadow:0 4px 14px rgba(0,0,0,0.3); }
  .mitem { display:flex; gap:16px; align-items:center; }

/* ---------- Navigation (sticky) ---------- */
.site-nav{
  position:sticky; top:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  background:#241910; padding:14px 46px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.nav-links{ display:flex; align-items:center; gap:30px; }
.navlink{ transition:color .15s; }
.navlink:hover{ color:#F4C20D !important; }
.nav-toggle{
  display:none; flex-direction:column; gap:5px; justify-content:center;
  width:44px; height:44px; background:transparent; border:0; cursor:pointer; padding:0;
}
.nav-toggle span{ display:block; width:26px; height:2px; background:#FBF7EE; transition:.2s; }
.nav-toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2){ opacity:0; }
.nav-toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.pg{ scroll-margin-top:96px; }

/* ---------- "Coming soon" (smooth label crossfade, button never resizes) ---------- */
.soon{ position:relative; }
.soon .soon-label{ display:inline-flex; align-items:center; gap:8px; transition:opacity .3s ease; }
.soon::after{
  content:"Coming soon"; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'DM Sans',sans-serif; font-weight:600; letter-spacing:.3px; white-space:nowrap;
  opacity:0; transition:opacity .3s ease; pointer-events:none;
}
.soon:hover .soon-label, .soon.show-soon .soon-label{ opacity:0; }
.soon:hover::after, .soon.show-soon::after{ opacity:1; }

/* ---------- Floating back-to-top ---------- */
.to-top{
  position:fixed; right:22px; bottom:22px; z-index:300;
  width:48px; height:48px; border-radius:50%; border:0; cursor:pointer;
  background:#E8732A; color:#fff; font-size:20px; line-height:1;
  box-shadow:0 8px 20px rgba(0,0,0,.4);
  opacity:0; pointer-events:none; transition:opacity .2s;
}
.to-top:hover{ background:#C2622A; }

/* ---------- Form fields ---------- */
.field{
  width:100%; background:#241910; border:1px solid #3a2c1c; border-radius:10px;
  color:#FBF7EE; font-family:'DM Sans',sans-serif; font-size:14px;
}
input.field{ height:44px; padding:0 14px; }
textarea.field{ min-height:120px; padding:12px 14px; resize:vertical; }
.field:focus{ outline:none; border-color:#E8732A; }
.field::placeholder{ color:#7a6c5c; }
.flabel{
  display:block; color:#cdbfa9; font-size:12px; font-weight:600;
  margin-bottom:7px; font-family:'DM Sans',sans-serif;
}

/* ---------- Location card ---------- */
.loc-card{ transition:transform .15s, box-shadow .15s, border-color .15s; }
.loc-card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.12); border-color:#E8732A !important; }
.loc-card:hover .loc-cta{ color:#C2622A; }

/* ---------- Menu item options (display only, no hover) ---------- */
.opt{ display:inline-flex; align-items:center; font-family:'DM Sans',sans-serif; font-size:12px; font-weight:600; color:#6b5d50; background:#fff; border:1px solid #e6dcc9; border-radius:999px; padding:6px 12px; }

/* ---------- Universal button hover ---------- */
.pill{ transition:filter .3s ease, transform .3s ease, background .3s ease, color .3s ease, border-color .3s ease; }
.pill:not(.soon):hover{ filter:brightness(1.08); transform:translateY(-1px); }

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  .site-nav{ padding:12px 22px; }
  .nav-toggle{ display:flex; }
  .nav-links{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:flex-start; gap:0;
    background:#241910; padding:8px 22px 18px; border-bottom:1px solid rgba(255,255,255,.1);
  }
  .nav-links.open{ display:flex; }
  .nav-links a{ padding:13px 0; width:100%; }
  .nav-links a.pill{ padding:14px 22px !important; margin-top:10px; justify-content:center; }
  .whatyou-head{ flex-direction:column !important; align-items:flex-start !important; gap:16px; }
  section [style*="grid-template-columns"]{ grid-template-columns:1fr !important; }
  [style*="px 46px"]{ padding-left:22px !important; padding-right:22px !important; }
  [style*="px 56px"]{ padding-left:22px !important; padding-right:22px !important; }
  [style*="font-size:74px"]{ font-size:40px !important; }
  [style*="font-size:58px"],[style*="font-size:56px"],[style*="font-size:54px"],[style*="font-size:52px"],[style*="font-size:48px"]{ font-size:32px !important; }
  [style*="font-size:42px"],[style*="font-size:38px"]{ font-size:26px !important; }
}
@media (max-width: 520px){
  [style*="grid-template-columns"]{ grid-template-columns:1fr !important; }
  [style*="font-size:74px"]{ font-size:32px !important; }
}
