/* ========================================================================
   ADELANTE ENERGY — brand-locked stylesheet
   Burgundy ground · Emerald mark · Silver for secondary type only
   ======================================================================== */

:root{
  /* Primary identity */
  --burgundy:        #28010B;
  --emerald:         #0D6952;

  /* Luxury accents */
  --emerald-lux:     #168C6F;
  --emerald-bright:  #28A387;

  /* Secondary depth */
  --depth-1:         #350813;
  --depth-2:         #1C0109;

  /* Metallic restraint — silver, secondary type only */
  --silver:          #C9CDD2;
  --silver-dim:      #8A8F95;

  /* Working tones */
  --ink:             #F4EDE9;          /* warm near-white for primary headings */
  --line:            rgba(201,205,210,.12);
  --line-emerald:    rgba(40,163,135,.30);

  --max:             1200px;
  --ease:            cubic-bezier(.22,.61,.36,1);

  --ff-serif:  "Cormorant Garamond", Georgia, serif;
  --ff-sans:   "Inter", system-ui, -apple-system, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  font-family:var(--ff-sans);
  font-weight:300;
  line-height:1.6;
  color:var(--silver);
  background:var(--depth-2);
  background-image:
    radial-gradient(120% 80% at 50% -10%, var(--depth-1) 0%, var(--depth-2) 55%, #120006 100%);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

::selection{ background:var(--emerald); color:var(--ink); }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

/* ── Typographic primitives ─────────────────────────────────────────── */
h1,h2,h3,h4{ color:var(--ink); font-weight:400; line-height:1.08; letter-spacing:-.01em; }

.eyebrow{
  font-size:.72rem; font-weight:500; letter-spacing:.32em; text-transform:uppercase;
  color:var(--emerald-bright);
}

.lead{ font-size:1.075rem; color:var(--silver); max-width:46ch; }

em{ font-family:var(--ff-serif); font-style:italic; font-weight:500; color:var(--emerald-bright); }

/* ── Buttons ────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.86rem; font-weight:500; letter-spacing:.04em;
  padding:.92rem 1.7rem; border-radius:2px;
  transition:all .4s var(--ease); cursor:pointer; border:1px solid transparent;
}
.btn--solid{
  background:var(--emerald); color:var(--ink);
  box-shadow:0 0 0 0 rgba(40,163,135,.45);
}
.btn--solid:hover{
  background:var(--emerald-lux);
  box-shadow:0 14px 40px -12px rgba(22,140,111,.65);
  transform:translateY(-2px);
}
.btn--ghost{
  border-color:var(--line-emerald); color:var(--silver);
}
.btn--ghost:hover{
  border-color:var(--emerald-bright); color:var(--ink);
  background:rgba(13,105,82,.10);
}

/* ════════ NAV ════════ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:100;
  transition:background .5s var(--ease), border-color .5s var(--ease), backdrop-filter .5s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  background:rgba(20,1,7,.72);
  backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--line);
}
.nav__inner{
  max-width:var(--max); margin:0 auto;
  display:flex; align-items:center; gap:2rem;
  padding:1.1rem clamp(1.2rem,4vw,2.5rem);
}

.brand{ display:flex; align-items:center; gap:.7rem; margin-right:auto; }
.brand__mark{ width:44px; height:44px; object-fit:contain; border-radius:7px; }
.brand__name{
  font-size:1.02rem; font-weight:600; letter-spacing:.22em; color:var(--ink);
  display:flex; align-items:baseline; gap:.45em;
}
.brand__sub{ font-weight:300; letter-spacing:.3em; color:var(--silver-dim); font-size:.82em; }

.nav__links{ display:flex; gap:2.2rem; }
.nav__links a{
  font-size:.84rem; letter-spacing:.06em; color:var(--silver-dim);
  position:relative; padding:.3rem 0; transition:color .3s var(--ease);
}
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:1px; width:0;
  background:var(--emerald-bright); transition:width .35s var(--ease);
}
.nav__links a:hover{ color:var(--ink); }
.nav__links a:hover::after{ width:100%; }

.nav__cta{ padding:.6rem 1.25rem; }

.nav__burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:.4rem; }
.nav__burger span{ width:24px; height:1.5px; background:var(--silver); transition:.3s var(--ease); }

/* ════════ HERO ════════ */
.hero{
  position:relative; min-height:100vh; min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding:9rem clamp(1.2rem,4vw,2.5rem) 3rem;
  max-width:var(--max); margin:0 auto;
}
@keyframes float{ 0%,100%{ transform:translateY(0) scale(1);} 50%{ transform:translateY(-18px) scale(1.02);} }

.hero__inner{ position:relative; z-index:1; max-width:760px; }
.hero__title{
  font-size:clamp(3rem,9vw,6.4rem); letter-spacing:-.03em; margin:1.4rem 0;
}
.hero__title em{ font-size:.92em; }
.hero__lead{ font-size:1.15rem; max-width:48ch; color:var(--silver); margin-bottom:2.4rem; }
.hero__actions{ display:flex; gap:1rem; flex-wrap:wrap; }

.hero__strip{
  position:relative; z-index:1; margin-top:auto; padding-top:3.5rem;
  display:flex; gap:clamp(1.5rem,6vw,5rem); flex-wrap:wrap;
  border-top:1px solid var(--line);
}
.stat{ display:flex; flex-direction:column; gap:.25rem; }
.stat__num{ font-family:var(--ff-serif); font-size:2rem; color:var(--emerald-bright); line-height:1; }
.stat__label{ font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--silver-dim); }

/* ════════ COMMODITY TICKER ════════ */
.ticker{
  overflow:hidden; position:relative;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(53,8,19,.30), rgba(28,1,9,.10));
}
.ticker::before,.ticker::after{
  content:""; position:absolute; top:0; bottom:0; width:14%; z-index:2; pointer-events:none;
}
.ticker::before{ left:0;  background:linear-gradient(90deg, var(--depth-2), transparent); }
.ticker::after{ right:0; background:linear-gradient(270deg, var(--depth-2), transparent); }
.ticker__track{ display:flex; width:max-content; animation:ticker 42s linear infinite; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
.ticker__group{ display:flex; align-items:center; padding:1.15rem 0; }
.ticker__group > span{
  font-size:.8rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--silver-dim); white-space:nowrap;
}
.ticker__group i{
  display:inline-block; width:6px; height:6px; transform:rotate(45deg);
  background:var(--emerald-bright); opacity:.75; margin:0 2.1rem; flex:none;
}
@keyframes ticker{ to{ transform:translateX(-50%); } }

/* live price items */
.tk{ display:inline-flex; align-items:baseline; gap:.65rem; white-space:nowrap; }
.tk__n{ font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--silver-dim); font-weight:500; }
.tk__p{ font-size:.86rem; letter-spacing:.04em; color:var(--ink); font-weight:500; }
.tk__c{ font-size:.74rem; letter-spacing:.03em; font-weight:500; }
.tk__c.is-up{ color:var(--emerald-bright); }
.tk__c.is-down{ color:#d98a93; }
.ticker__tag{
  display:block; text-align:right; padding:.45rem clamp(1.2rem,4vw,2.5rem) 0;
  font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--silver-dim); opacity:.65;
}
.ticker__tag:empty{ display:none; }

/* ════════ SECTIONS ════════ */
.section{ max-width:var(--max); margin:0 auto; padding:clamp(5rem,11vw,9rem) clamp(1.2rem,4vw,2.5rem); }
.section--alt{ position:relative; }
.section--alt::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, transparent, rgba(53,8,19,.55), transparent);
}
.section__head{ margin-bottom:3.2rem; }
.section__head h2{ font-size:clamp(2rem,5vw,3.2rem); margin-top:.7rem; }

/* ── Markets grid ── */
.grid{ display:grid; gap:1.1rem; }
.grid--markets{ grid-template-columns:repeat(3,1fr); }

.card{
  position:relative; display:flex; flex-direction:column; min-height:212px;
  padding:1.9rem 1.7rem; border:1px solid var(--line); border-radius:6px;
  background:linear-gradient(160deg, rgba(53,8,19,.35), rgba(28,1,9,.15));
  overflow:hidden; cursor:pointer; text-align:left; color:inherit; text-decoration:none;
  transition:border-color .4s var(--ease), transform .4s var(--ease),
             box-shadow .4s var(--ease), background .4s var(--ease);
}
.card::after{
  content:""; position:absolute; left:0; top:0; height:2px; width:0;
  background:linear-gradient(90deg,var(--emerald),var(--emerald-bright));
  transition:width .5s var(--ease);
}
.card:hover,.card:focus-visible{
  border-color:var(--line-emerald); transform:translateY(-5px);
  background:linear-gradient(160deg, rgba(13,105,82,.16), rgba(28,1,9,.30));
  box-shadow:0 18px 50px -24px rgba(13,105,82,.55), 0 0 0 1px rgba(40,163,135,.18);
  outline:none;
}
.card:hover::after,.card:focus-visible::after{ width:100%; }

.card__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.1rem; }
.card__icon{ color:var(--emerald-bright); display:inline-flex; transition:transform .4s var(--ease); }
.card__icon svg{ width:26px; height:26px; }
.card:hover .card__icon{ transform:translateY(-1px) scale(1.06); }
.card__idx{ font-family:var(--ff-serif); font-size:.95rem; color:var(--emerald); opacity:.55; letter-spacing:.1em; }
.card h3{ font-size:1.3rem; margin:0 0 .55rem; transition:color .3s var(--ease); }
.card:hover h3,.card:focus-visible h3{ color:var(--emerald-bright); }
.card p{ font-size:.9rem; color:var(--silver-dim); }
.card__cta{
  margin-top:auto; padding-top:1.2rem; display:inline-flex; align-items:center; gap:.45rem;
  font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--emerald-bright);
  opacity:0; transform:translateY(6px);
  transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.card__cta svg{ width:14px; height:14px; transition:transform .35s var(--ease); }
.card:hover .card__cta,.card:focus-visible .card__cta{ opacity:1; transform:none; }
.card:hover .card__cta svg,.card:focus-visible .card__cta svg{ transform:translateX(3px); }

.card--accent{
  background:linear-gradient(155deg, rgba(13,105,82,.26), rgba(28,1,11,.5));
  border-color:var(--line-emerald);
}
.card--accent h3{ color:var(--emerald-bright); font-family:var(--ff-serif); font-size:1.5rem; }
.card--accent .card__cta{ opacity:1; transform:none; }
.card--accent:hover{ box-shadow:0 18px 54px -22px rgba(13,105,82,.7); }
@media (hover:none){ .card__cta{ opacity:1; transform:none; } }

/* ── Capabilities ── */
.grid--caps{ grid-template-columns:repeat(4,1fr); }
.cap{ padding:1.8rem 0; transition:transform .4s var(--ease); }
.cap:hover{ transform:translateY(-3px); }
.cap__icon{ color:var(--emerald-bright); display:inline-flex; margin-bottom:.95rem; transition:transform .4s var(--ease); }
.cap__icon svg{ width:28px; height:28px; }
.cap:hover .cap__icon{ transform:scale(1.07); }
.cap__bar{ width:42px; height:2px; background:var(--emerald); margin-bottom:1.2rem; transition:width .5s var(--ease); }
.cap:hover .cap__bar{ width:72px; background:var(--emerald-bright); }
.cap h3{ font-size:1.25rem; margin-bottom:.6rem; transition:color .3s var(--ease); }
.cap:hover h3{ color:var(--emerald-bright); }
.cap p{ font-size:.9rem; color:var(--silver-dim); }

/* ════════ MARKET DRAWER / BOTTOM SHEET ════════ */
.sheet-backdrop{
  position:fixed; inset:0; z-index:200; background:rgba(7,3,6,.62);
  backdrop-filter:blur(4px); opacity:0; transition:opacity .4s var(--ease);
}
.sheet-backdrop.is-open{ opacity:1; }
.sheet{
  position:fixed; top:0; right:0; z-index:201; height:100%; width:min(440px,92vw);
  background:linear-gradient(180deg, var(--depth-1), var(--depth-2));
  border-left:1px solid var(--line-emerald); box-shadow:-30px 0 80px -30px rgba(0,0,0,.7);
  transform:translateX(100%); transition:transform .5s var(--ease); overflow-y:auto;
}
.sheet.is-open{ transform:none; }
.sheet__close{
  position:absolute; top:1.1rem; right:1.2rem; width:38px; height:38px; border-radius:50%;
  border:1px solid var(--line); background:rgba(28,1,9,.5); color:var(--silver);
  font-size:1.5rem; line-height:1; cursor:pointer; z-index:2;
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.sheet__close:hover{ border-color:var(--emerald-bright); color:var(--ink); }
.sheet__body{ padding:3.6rem 2.2rem 2.6rem; }
.sheet__icon{ color:var(--emerald-bright); display:inline-flex; margin-bottom:1rem; }
.sheet__icon svg{ width:34px; height:34px; }
.sheet__title{ font-size:1.9rem; margin:.3rem 0 1rem; }
.sheet__desc{ color:var(--silver); font-size:1rem; line-height:1.65; margin-bottom:1.9rem; }
.sheet__group{ margin-bottom:1.7rem; }
.sheet__group > h4{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--silver-dim); margin-bottom:.85rem; }
.sheet__group ul{ list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.sheet__group li{ font-size:.92rem; color:var(--silver); padding-left:1.1rem; position:relative; }
.sheet__group li::before{ content:""; position:absolute; left:0; top:.55em; width:5px; height:5px; transform:rotate(45deg); background:var(--emerald-bright); }
.sheet__regions{ display:flex; flex-wrap:wrap; gap:.5rem; }
.sheet__regions span{ font-size:.78rem; letter-spacing:.06em; padding:.4rem .9rem; border:1px solid var(--line); border-radius:2px; color:var(--silver); }
.sheet__compliance p{ font-size:.82rem; color:var(--silver-dim); line-height:1.6; border-left:2px solid var(--line-emerald); padding-left:.9rem; }
.sheet__cta{ width:100%; justify-content:center; margin-top:.4rem; }
body.no-scroll{ overflow:hidden; }

/* ── Global (photographic band) ── */
.global{ position:relative; padding:clamp(5.5rem,12vw,9.5rem) 0; overflow:hidden; }
.global__media{
  position:absolute; inset:0; z-index:0;
  background:url('assets/global.jpg') center 42% / cover no-repeat;
  filter:brightness(.62) saturate(.72);
}
.global__media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, var(--depth-2) 2%, rgba(28,1,9,.82) 34%, rgba(53,8,19,.26) 100%),
    linear-gradient(180deg, rgba(28,1,9,.5), rgba(28,1,9,.22) 50%, rgba(28,1,9,.6));
}
.global__inner{
  position:relative; z-index:1; max-width:var(--max); margin:0 auto;
  padding:0 clamp(1.2rem,4vw,2.5rem);
}
.global__copy{ max-width:540px; }
.global__copy h2{ font-size:clamp(2rem,5vw,3.4rem); margin:.8rem 0 1.3rem; }
.regions{ list-style:none; display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }
.regions li{
  font-size:.8rem; letter-spacing:.08em; padding:.5rem 1.1rem; border-radius:2px;
  border:1px solid var(--line-emerald); color:var(--silver);
  background:rgba(28,1,9,.4); backdrop-filter:blur(2px);
}

/* ── About ── */
.about{ text-align:center; }
.about .section__head{ margin-bottom:1.6rem; }
.about__statement{
  font-family:var(--ff-serif); font-size:clamp(1.6rem,4vw,2.6rem); line-height:1.35;
  max-width:24ch; margin:0 auto 4rem; color:var(--ink); font-weight:400;
}
.about__statement em{ font-size:1em; }
.about__values{ display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; max-width:520px; margin:0 auto; }
.value h4{ font-size:1rem; letter-spacing:.14em; text-transform:uppercase; color:var(--emerald-bright); margin-bottom:.5rem; }
.value p{ font-size:.92rem; color:var(--silver-dim); }

/* ── Contact ── */
.contact{ text-align:center; }
.contact__inner{ max-width:620px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:1.1rem; }
.contact h2{ font-size:clamp(2.2rem,5.5vw,3.6rem); }
.contact__mail{
  font-family:var(--ff-serif); font-size:clamp(1.3rem,3.5vw,1.9rem); color:var(--emerald-bright);
  letter-spacing:.01em; border-bottom:1px solid var(--line-emerald); padding-bottom:.2rem; margin:.4rem 0 1rem;
  transition:color .3s var(--ease), border-color .3s var(--ease);
}
.contact__mail:hover{ color:var(--ink); border-color:var(--emerald-bright); }
.contact__addr{
  font-style:normal; font-size:.9rem; letter-spacing:.04em; line-height:1.7;
  color:var(--silver-dim);
}

/* ── Contact form ── */
.cform{ width:100%; max-width:560px; margin:2.6rem auto 0; text-align:left; }
.cform__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.field{ display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.1rem; }
.field > span{
  font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--silver-dim);
}
.field .opt{ font-family:var(--ff-sans); font-style:normal; color:var(--silver-dim); opacity:.7; letter-spacing:.06em; }
.field input,
.field textarea{
  font-family:var(--ff-sans); font-size:.98rem; color:var(--ink);
  background:rgba(13,105,82,.05); border:1px solid var(--line); border-radius:3px;
  padding:.85rem 1rem; transition:border-color .3s var(--ease), background .3s var(--ease);
  width:100%; resize:vertical;
}
.field input:focus,
.field textarea:focus{
  outline:none; border-color:var(--emerald-bright); background:rgba(13,105,82,.10);
}
.field input:-webkit-autofill{ -webkit-text-fill-color:var(--ink); -webkit-box-shadow:0 0 0 100px var(--depth-1) inset; }
.hp{ position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }

.cform__foot{ display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; margin-top:.4rem; }
.cform__foot .btn{ cursor:pointer; }
.cform__foot .btn[disabled]{ opacity:.6; pointer-events:none; }
.cform__status{ font-size:.88rem; color:var(--silver-dim); }
.cform__status.is-ok{ color:var(--emerald-bright); }
.cform__status.is-err{ color:#e0a0a8; }

.contact__alt{ margin-top:2.6rem; display:flex; flex-direction:column; align-items:center; gap:.5rem; }
.contact__alt .contact__mail{ font-size:1.05rem; }

/* ════════ MULTI-PAGE ELEMENTS ════════ */
.nav__links a.is-active{ color:var(--ink); }
.nav__links a.is-active::after{ width:100%; }
.nav__cta.is-active{ border-color:var(--emerald-bright); color:var(--ink); }

.page-hero{
  max-width:var(--max); margin:0 auto;
  padding:clamp(8rem,15vw,11rem) clamp(1.2rem,4vw,2.5rem) clamp(1.5rem,4vw,2.6rem);
}
.page-hero h1{ font-size:clamp(2.4rem,6.5vw,4.2rem); line-height:1.05; letter-spacing:-.02em; margin:1rem 0 1.1rem; }
.page-hero .lead{ font-size:1.12rem; max-width:56ch; }

.section--flush{ padding-top:0; }

.grid--three{ grid-template-columns:repeat(3,1fr); }

.cta-band{ text-align:center; border-top:1px solid var(--line); }
.cta-band__inner{ max-width:600px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:1.05rem; }
.cta-band h2{ font-size:clamp(2rem,5vw,3.1rem); }
.cta-band .lead{ margin-bottom:.5rem; }

.contact--page{ padding-top:clamp(8rem,15vw,11rem); }

/* ════════ FOOTER ════════ */
.footer{ border-top:1px solid var(--line); margin-top:1rem; }
.footer__inner{
  max-width:var(--max); margin:0 auto; padding:2.6rem clamp(1.2rem,4vw,2.5rem) 1.5rem;
  display:flex; justify-content:space-between; gap:2rem 2.5rem; flex-wrap:wrap;
}
.footer__left{ display:flex; flex-direction:column; gap:.5rem; }
.footer__brand{ font-size:.92rem; }
.footer__addr{ font-size:.78rem; color:var(--silver-dim); letter-spacing:.03em; }
.footer__nav{ display:flex; flex-wrap:wrap; gap:1.3rem; align-items:center; }
.footer__nav a{ font-size:.82rem; letter-spacing:.05em; color:var(--silver-dim); transition:color .3s var(--ease); }
.footer__nav a:hover{ color:var(--emerald-bright); }
.footer__bottom{ max-width:var(--max); margin:0 auto; padding:1.2rem clamp(1.2rem,4vw,2.5rem); border-top:1px solid var(--line); }
.footer__legal{ font-size:.76rem; color:var(--silver-dim); }

/* ════════ REVEAL ANIMATION ════════ */
/* hidden only when JS is active; no-JS users see everything */
.js .reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.js .reveal.is-in{ opacity:1; transform:none; }

/* ════════ RESPONSIVE ════════ */
@media (max-width:920px){
  .grid--markets{ grid-template-columns:repeat(2,1fr); }
  .grid--caps{ grid-template-columns:repeat(2,1fr); }
  .grid--three{ grid-template-columns:repeat(2,1fr); }
}

/* ── Mobile (≤680) ── */
@media (max-width:680px){
  .nav__inner{ padding:.75rem 1.2rem; gap:.9rem; }
  .brand__mark{ width:38px; height:38px; }
  .brand__name{ font-size:.92rem; letter-spacing:.16em; }

  /* burger-driven section menu */
  .nav__links{
    position:fixed; top:62px; right:0; left:0;
    flex-direction:column; align-items:flex-start; gap:.4rem;
    background:rgba(20,1,7,.98); backdrop-filter:blur(18px);
    padding:1rem clamp(1.2rem,5vw,2rem) 1.6rem; border-bottom:1px solid var(--line);
    transform:translateY(-135%); transition:transform .45s var(--ease); z-index:90;
  }
  .nav__links a{ font-size:1.02rem; padding:.7rem 0; width:100%; }
  .nav__links a::after{ display:none; }
  .nav.is-open .nav__links{ transform:translateY(0); }

  .nav__cta{ display:inline-flex; padding:.55rem 1.05rem; font-size:.8rem; }
  .nav__burger{ display:flex; padding:.5rem; }
  .nav.is-open .nav__burger span:first-child{ transform:translateY(3.2px) rotate(45deg); }
  .nav.is-open .nav__burger span:last-child{ transform:translateY(-3.2px) rotate(-45deg); }

  .hero{ padding:7rem 1.3rem 2.5rem; }
  .hero__lead{ font-size:1.05rem; }
  .hero__actions{ width:100%; }
  .hero__actions .btn{ flex:1; justify-content:center; }
  .hero__strip{ gap:1.6rem 2.5rem; padding-top:2.5rem; }

  .grid--markets, .grid--caps, .grid--three{ grid-template-columns:1fr; }
  .card{ min-height:0; }
  .card__cta{ opacity:1; transform:none; }            /* no hover on touch — always show */
  .about__values{ grid-template-columns:1fr; gap:2.2rem; max-width:340px; }

  /* drawer → bottom sheet */
  .sheet{
    top:auto; bottom:0; right:0; left:0; width:100%; height:auto; max-height:90vh;
    border-left:0; border-top:1px solid var(--line-emerald); border-radius:16px 16px 0 0;
    transform:translateY(100%); box-shadow:0 -30px 80px -30px rgba(0,0,0,.7);
  }
  .sheet.is-open{ transform:none; }
  .sheet::before{
    content:""; position:absolute; top:.6rem; left:50%; transform:translateX(-50%);
    width:42px; height:4px; border-radius:2px; background:var(--line); z-index:2;
  }
  .sheet__body{ padding:2.6rem 1.5rem 2rem; }
  .cform__row{ grid-template-columns:1fr; gap:0; }
  .cform__foot{ flex-direction:column; align-items:stretch; gap:.9rem; }
  .cform__foot .btn{ justify-content:center; }
  .cform__status{ text-align:center; }
  .footer__inner{ flex-direction:column; align-items:flex-start; gap:1.6rem; }
  .footer__nav{ gap:1rem 1.3rem; }
}

/* hide ENERGY sub-label on phones so the wordmark can't collide with the Contact button */
@media (max-width:460px){
  .brand__sub{ display:none; }
}

/* ── Small phones (≤380) ── */
@media (max-width:380px){
  .brand__name{ font-size:.82rem; letter-spacing:.12em; }
  .brand__sub{ display:none; }
  .hero__title{ font-size:2.7rem; }
  .stat__num{ font-size:1.7rem; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
}
