/* =====================================================
   FULL HOUSE GASTRO — page.css
   Styles for landing pages + blog (uses styles.css tokens)
   ===================================================== */

/* PAGE CONTAINER */
.page{padding-top:96px}

/* HERO */
.page__hero{
  position:relative;
  padding:var(--space-5) 0 var(--space-4);
  overflow:hidden;
  border-bottom:1px solid var(--hairline);
}
.page__hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse at 20% 30%,rgba(232,115,43,0.12),transparent 55%),
    radial-gradient(ellipse at 80% 80%,rgba(122,34,24,0.18),transparent 55%),
    linear-gradient(160deg,#1A0F07 0%,#0B0A09 70%);
}
.page__hero .container{position:relative;z-index:1}
.page__h1{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(44px,7vw,110px);
  line-height:0.92;
  letter-spacing:-0.035em;
  color:var(--cream);
  margin:var(--space-3) 0 var(--space-2);
  max-width:16ch;
}
.page__h1 > span{padding-bottom:0}
.page__h1 span{display:block}
.page__h1 .italic{color:var(--ember)}
.page__lede{
  font-size:clamp(17px,1.5vw,22px);
  color:var(--ink);
  max-width:60ch;
  margin-bottom:var(--space-4);
  line-height:1.55;
}
.page__cta{
  display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;
}

.page__hero--blog{padding:var(--space-5) 0 var(--space-3)}

/* SECTIONS */
.page__section{
  padding:var(--space-5) 0;
  border-bottom:1px solid var(--hairline);
}
.page__section:last-of-type{border-bottom:none}

.page__h2{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(36px,5vw,80px);
  line-height:1;
  letter-spacing:-0.03em;
  color:var(--cream);
  max-width:18ch;
  margin-bottom:var(--space-4);
}
.page__h2 span{display:block}
.page__h2 .italic{color:var(--ember)}

.page__para{
  color:var(--ink);
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.7;
  max-width:66ch;
  margin-bottom:var(--space-2);
}
.page__para strong{color:var(--cream);font-weight:600}

/* PILLARS */
.page__pillars{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);
  margin-top:var(--space-4);
}
@media (max-width:820px){.page__pillars{grid-template-columns:1fr}}

/* SERVICES (reusable grid) */
.page__services{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);
  margin-top:var(--space-4);
}
@media (max-width:960px){.page__services{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.page__services{grid-template-columns:1fr}}
.page__svc{
  background:var(--bg-2);
  border:1px solid var(--hairline);
  border-radius:6px;
  padding:var(--space-3);
  transition:border-color .3s var(--ease),transform .4s var(--ease),background .3s var(--ease);
}
.page__svc:hover{border-color:var(--ember);transform:translateY(-3px);background:var(--bg-3)}
.page__svc h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(20px,2vw,26px);
  line-height:1.2;
  letter-spacing:-0.015em;
  color:var(--cream);
  margin-bottom:12px;
}
.page__svc p{color:var(--ink-mute);font-size:15px;line-height:1.55}

/* WHY US LIST */
.page__why{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-4);
  margin-top:var(--space-4);max-width:1000px;
}
@media (max-width:768px){.page__why{grid-template-columns:1fr}}
.page__why li{
  position:relative;padding-left:28px;
  color:var(--ink);font-size:16px;line-height:1.55;
  padding-bottom:14px;
  list-style:none;
}
.page__why li::before{
  content:'→';position:absolute;left:0;top:0;
  color:var(--ember);font-weight:500;font-size:18px;
}
.page__why li strong{color:var(--cream);font-weight:600}

/* FINALE */
.page__finale{
  padding:var(--space-7) 0;
  text-align:center;
  position:relative;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(232,115,43,0.10),transparent 60%),
    var(--bg-2);
  border-top:1px solid var(--hairline);
}
.page__finale-h{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(40px,6vw,80px);
  line-height:1;
  letter-spacing:-0.03em;
  color:var(--cream);
  margin-bottom:var(--space-2);
}
.page__finale-h .italic{color:var(--ember)}
.page__finale p{
  color:var(--ink-mute);
  font-size:17px;max-width:52ch;margin:0 auto var(--space-4);
}

/* BLOG INDEX */
.blog-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);
  margin-top:var(--space-3);
}
@media (max-width:768px){.blog-grid{grid-template-columns:1fr;gap:var(--space-2)}}
.blog-card{
  background:var(--bg-2);
  border:1px solid var(--hairline);
  border-radius:6px;
  overflow:hidden;
  transition:border-color .3s var(--ease),transform .4s var(--ease),background .3s var(--ease);
}
.blog-card:hover{border-color:var(--ember);transform:translateY(-3px);background:var(--bg-3)}
.blog-card__link{
  display:block;padding:var(--space-3);
  color:inherit;text-decoration:none;
}
.blog-card__meta{
  font-family:var(--mono);font-size:11px;color:var(--ember);
  letter-spacing:0.15em;text-transform:uppercase;margin-bottom:var(--space-1);
}
.blog-card__title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(22px,2.5vw,30px);
  line-height:1.15;letter-spacing:-0.015em;
  color:var(--cream);
  margin-bottom:var(--space-2);
}
.blog-card__intro{
  color:var(--ink-mute);font-size:15px;line-height:1.5;
  margin-bottom:var(--space-2);
}
.blog-card__cta{
  font-family:var(--mono);font-size:12px;color:var(--ember);
  letter-spacing:0.1em;text-transform:uppercase;
}

/* BLOG POST */
.post-page{padding-top:88px}
.post-header{
  padding:var(--space-4) 0 var(--space-3);
  border-bottom:1px solid var(--hairline);
  background:
    radial-gradient(ellipse at 20% 30%,rgba(232,115,43,0.08),transparent 60%),
    var(--bg);
}
.post-meta{
  font-family:var(--mono);font-size:11px;color:var(--ink-mute);
  letter-spacing:0.15em;text-transform:uppercase;margin-bottom:var(--space-2);
}
.post-meta a{color:var(--ember)}
.post-meta a:hover{color:var(--cream)}
.post-title{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(36px,5vw,68px);
  line-height:1;letter-spacing:-0.03em;
  color:var(--cream);max-width:22ch;
  margin-bottom:var(--space-2);
}
.post-intro{
  color:var(--ink);font-size:clamp(17px,1.5vw,21px);line-height:1.5;
  max-width:62ch;
  border-left:2px solid var(--ember);
  padding-left:var(--space-2);
}
.post-body{
  max-width:740px;margin:0 auto;
  padding:var(--space-4) 6vw;
}
.post-body h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(26px,2.6vw,36px);
  line-height:1.15;letter-spacing:-0.02em;
  color:var(--cream);
  margin:var(--space-3) 0 var(--space-1);
}
.post-body p{
  color:var(--ink);font-size:17px;line-height:1.65;
  margin-bottom:var(--space-2);
}
.post-body p + p{margin-top:0}
.post-body ul, .post-body ol{
  color:var(--ink);font-size:17px;line-height:1.6;
  margin:0 0 var(--space-2) 0;
  padding-left:var(--space-2);
}
.post-body li{margin-bottom:6px}
.post-body p strong{color:var(--cream);font-weight:600}
.post-body a{color:var(--ember);border-bottom:1px solid rgba(232,115,43,0.3)}
.post-body a:hover{border-color:var(--ember)}

.post-cta{
  margin-top:var(--space-5);
  padding:var(--space-4);
  border:1px solid var(--hairline);
  border-radius:6px;
  background:var(--bg-2);
  text-align:center;
}
.post-cta h3{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(22px,2.3vw,30px);
  color:var(--cream);
  margin-bottom:12px;
}
.post-cta p{
  color:var(--ink-mute);font-size:15px;
  margin-bottom:var(--space-3);
}
