/* ====================================================================
   ElBrio — home page content styles (sits on the shell platform).
==================================================================== */

/* veil: calms the storm behind text-heavy sections without hiding it */
.veil{position:relative;}
.veil::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(6,9,15,.62) 14%,rgba(6,9,15,.62) 86%,transparent);}

/* ─────────── HERO ─────────── */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:7rem 1.4rem 5rem;position:relative;z-index:2;}
.hero-logo{width:min(440px,72vw);margin:0 auto 2.2rem;
  filter:drop-shadow(0 0 34px rgba(232,144,58,.4)) drop-shadow(0 0 80px rgba(58,122,150,.28));}
.hero-eyebrow{font-size:.64rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--steel-l);margin-bottom:1.6rem;}
.hero-tag{font-family:var(--serif);font-weight:300;line-height:1.02;
  font-size:clamp(2.9rem,8vw,6rem);}
.hero-tag .w1{display:block;color:var(--cream);}
.hero-tag .w2{display:block;font-style:italic;
  background:var(--grad-fire);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;padding-bottom:.08em;}
.hero-sub{font-size:clamp(.92rem,1.5vw,1.08rem);line-height:1.8;color:var(--cream-60);
  max-width:46ch;margin:1.8rem auto 0;}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.6rem;}
.scroll-hint{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--amber);
  font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;
  animation:hintFloat 2.4s ease-in-out infinite;z-index:3;}
.scroll-hint .line{width:1px;height:42px;background:linear-gradient(var(--amber),transparent);}
@keyframes hintFloat{0%,100%{opacity:.4;transform:translateX(-50%) translateY(0);}50%{opacity:1;transform:translateX(-50%) translateY(7px);}}

/* ─────────── PAIN / MANIFESTO ─────────── */
.pain{text-align:center;padding:clamp(7rem,16vh,12rem) 1.4rem;}
.pain-1{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,5vw,3.8rem);
  line-height:1.18;color:var(--cream);max-width:18ch;margin:0 auto 1.6rem;}
.pain-1 em{font-style:italic;background:var(--grad-fire);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent;}
.pain-2{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.1rem,2.2vw,1.6rem);line-height:1.6;color:var(--cream-60);
  max-width:52ch;margin:0 auto;}

/* ─────────── SERVICES ─────────── */
.svc-head{margin-bottom:3rem;text-align:center;display:flex;flex-direction:column;align-items:center;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--steel-line);border:1px solid var(--steel-line);}
.tile{background:rgba(6,9,15,.9);padding:2.4rem 2rem 2.6rem;position:relative;overflow:hidden;
  transition:background .4s;min-height:230px;}
.tile:hover{background:rgba(10,16,26,.96);}
.tile-num{font-family:var(--serif);font-size:3.6rem;font-weight:300;
  color:rgba(58,122,150,.16);position:absolute;top:.5rem;right:1.1rem;line-height:1;}
.tile-label{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--steel-l);margin-bottom:.8rem;}
.tile-title{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--cream);
  margin-bottom:.7rem;line-height:1.15;}
.tile-text{font-size:.82rem;line-height:1.75;color:var(--cream-60);}
.tile-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--grad-fire);transform:scaleX(0);transform-origin:left;transition:transform .55s ease;}
.tile:hover .tile-bar{transform:scaleX(1);}
.tile-flag{position:absolute;top:1.3rem;left:2rem;font-size:.52rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  border:1px solid rgba(240,192,64,.4);border-radius:100px;padding:.2rem .6rem;}
.tile-flagship{background:linear-gradient(160deg,rgba(232,144,58,.1),rgba(6,9,15,.92) 55%);}
.tile-flagship .tile-title{color:var(--gold);}
.tile-flagship .tile-label{margin-top:1.4rem;}

/* ─────────── QA PACKAGES ─────────── */
.qa-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:3.2rem;}
.qa-head .lead{margin-top:1.2rem;}
.qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:stretch;}
.qa-card{background:rgba(8,12,20,.88);border:1px solid var(--steel-line);
  padding:2.4rem 2rem;display:flex;flex-direction:column;position:relative;
  transition:transform .35s,border-color .35s,box-shadow .35s;}
.qa-card:hover{transform:translateY(-6px);border-color:rgba(90,156,184,.45);}
.qa-card.hot{border-color:rgba(232,144,58,.5);
  background:linear-gradient(180deg,rgba(232,144,58,.08),rgba(8,12,20,.92) 40%);
  box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 0 1px rgba(232,144,58,.18);transform:translateY(-10px);}
.qa-card.hot:hover{transform:translateY(-16px);}
.qa-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  font-size:.56rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;
  background:var(--grad-fire);padding:.34rem 1rem;border-radius:100px;white-space:nowrap;
  box-shadow:0 8px 22px rgba(212,84,42,.4);}
.qa-name{font-family:var(--serif);font-size:1.9rem;font-weight:400;color:var(--cream);margin-bottom:.5rem;}
.qa-card.hot .qa-name{color:var(--gold);}
.qa-desc{font-size:.8rem;line-height:1.6;color:var(--cream-60);min-height:3.2em;margin-bottom:1.4rem;}
.qa-price{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--cream);
  display:flex;align-items:baseline;gap:.5rem;}
.qa-price small{font-family:var(--sans);font-size:.56rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cream-40);font-weight:400;}
.qa-divider{height:1px;background:var(--steel-line);margin:1.5rem 0;}
.qa-feats{list-style:none;display:flex;flex-direction:column;gap:.85rem;flex:1;margin-bottom:1.8rem;}
.qa-feats li{display:flex;gap:.7rem;font-size:.82rem;line-height:1.45;color:rgba(248,244,238,.78);}
.qa-feats li::before{content:'';flex:none;width:16px;height:16px;margin-top:2px;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,var(--gold),var(--amber));
  box-shadow:0 0 10px rgba(232,144,58,.45);position:relative;}
.qa-feats li{position:relative;}
.qa-feats li .chk{position:absolute;left:4px;top:5px;width:5px;height:8px;
  border:solid var(--dark);border-width:0 1.6px 1.6px 0;transform:rotate(42deg);}
.qa-cta{margin-top:auto;width:100%;justify-content:center;}
.qa-note{text-align:center;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cream-40);margin-top:1.6rem;}

/* ─────────── CASES ─────────── */
.cases-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:3rem;}
.cases-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.case-card{background:rgba(8,12,20,.88);border:1px solid var(--steel-line);
  padding:2.4rem;transition:transform .35s,border-color .35s;}
.case-card:hover{transform:translateY(-5px);border-color:rgba(90,156,184,.4);}
.case-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.3rem;}
.case-chip{font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;
  padding:.25rem .7rem;border:1px solid var(--steel-line);color:var(--steel-l);border-radius:100px;}
.case-chip.hot{border-color:rgba(232,144,58,.45);color:var(--amber);}
.case-name{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:300;line-height:1;margin-bottom:.4rem;}
.case-name em{font-style:italic;color:var(--amber);}
.case-sub{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-l);margin-bottom:1.3rem;}
.case-divider{height:1px;background:var(--steel-line);margin-bottom:1.3rem;}
.case-desc{font-family:var(--serif);font-size:1.04rem;font-weight:300;line-height:1.75;color:rgba(248,244,238,.78);}
.case-desc strong{font-weight:500;color:var(--cream);}
.case-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.3rem;
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);
  border-bottom:1px solid rgba(232,144,58,.3);padding-bottom:3px;transition:border-color .3s;}
.case-link:hover{border-color:var(--amber);}
.case-link.empty{display:none;}

/* ─────────── ABOUT ─────────── */
.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2.5rem,6vw,5rem);align-items:start;}
.about-big{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,5.2vw,4.2rem);
  line-height:1.02;margin:.8rem 0 1.6rem;}
.about-big em{font-style:italic;color:var(--amber);}
.about-p{font-size:.86rem;line-height:1.9;color:var(--cream-60);margin-bottom:1rem;max-width:44ch;}
.creds{display:flex;flex-direction:column;}
.cr{display:grid;grid-template-columns:74px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--steel-line);}
.cr:last-child{border-bottom:none;}
.cr-tag{font-size:.56rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);padding-top:2px;}
.cr-t{font-size:.86rem;color:var(--cream);font-weight:500;display:block;margin-bottom:.2rem;}
.cr-d{font-size:.78rem;line-height:1.5;color:var(--cream-60);}

/* ─────────── CONTACT / CTA ─────────── */
.cta{text-align:center;padding:clamp(7rem,16vh,12rem) 1.4rem;display:flex;flex-direction:column;align-items:center;}
.cp{width:96px;height:96px;margin:0 auto 2.6rem;position:relative;}
.cp-core{width:16px;height:16px;background:var(--gold);border-radius:50%;
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  box-shadow:0 0 24px var(--gold),0 0 50px var(--amber),0 0 90px rgba(232,144,58,.3);}
.cp-r{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(240,192,64,.4);animation:cpP 2.4s ease-in-out infinite;}
.cp-r:nth-child(2){inset:-15px;border-color:rgba(232,144,58,.22);animation-delay:.7s;}
.cp-r:nth-child(3){inset:-30px;border-color:rgba(212,84,42,.12);animation-delay:1.4s;}
@keyframes cpP{0%,100%{opacity:.8;transform:scale(1);}50%{opacity:.25;transform:scale(1.07);}}
.cta-big{font-family:var(--serif);font-weight:300;font-size:clamp(2.5rem,6vw,5rem);line-height:1.08;margin-bottom:1.3rem;}
.cta-big em{font-style:italic;background:var(--grad-fire);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent;}
.cta-note{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-l);margin-bottom:2.4rem;}
.cta-contacts{display:flex;align-items:center;gap:1.4rem;margin-top:2rem;flex-wrap:wrap;justify-content:center;
  font-size:.84rem;color:var(--cream-60);}
.cta-contacts a{transition:color .25s;}
.cta-contacts a:hover{color:var(--amber);}
.cta-contacts .sep{color:var(--cream-40);font-size:.7rem;}

/* ─────────── RESPONSIVE ─────────── */
@media(max-width:920px){
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .qa-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto;gap:2rem;}
  .qa-card.hot{transform:none;}
  .qa-card.hot:hover{transform:translateY(-6px);}
  .cases-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .svc-grid{grid-template-columns:1fr;}
}
