/* ==========================================================================
   TRUEKEEY — DIRECT-RESPONSE LANDING PAGE  (/lp.php)
   --------------------------------------------------------------------------
   A light, information-first page for Google Search traffic: the form is
   visible without scrolling, every claim is checkable, and nothing on the
   page is decorative at the expense of speed.

   Deliberately its own stylesheet. The cinematic page (/) keeps its own
   identity; this one is built to be read fast and filled in.

   1 Tokens   2 Reset   3 Type   4 Buttons   5 Header   6 Hero + form
   7 Sections 8 Cards   9 Scope table  10 Gallery  11 FAQ  12 Footer
   13 Sticky bar  14 Responsive  15 Reduced motion / no-JS
   ========================================================================== */

/* 1 · TOKENS ============================================================== */
.lp{
  --ink:#15171B;            /* body text */
  --ink-soft:#4A5056;
  --ink-faint:#6E757C;
  --paper:#FFFFFF;
  --paper-2:#F7F5F1;        /* warm off-white band */
  --paper-3:#EFEBE4;
  --line:#E1DCD3;
  --line-strong:#CFC8BC;
  --brass:#9A7B36;          /* accessible on white: 4.6:1 */
  --brass-soft:#F3ECDC;
  --charcoal:#1C1F24;
  --good:#1E6B4F;

  --serif:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --sans:"Jost","Helvetica Neue",Arial,system-ui,sans-serif;
  --pad:clamp(18px,4vw,64px);
  --ease:cubic-bezier(.2,.7,.3,1);
  --r:9px;
  --shadow:0 1px 2px rgba(21,23,27,.04), 0 8px 24px -12px rgba(21,23,27,.14);
  --shadow-lift:0 22px 44px -18px rgba(21,23,27,.28);
}

/* 2 · RESET =============================================================== */
.lp *,.lp *::before,.lp *::after{ box-sizing:border-box; }
body.lp{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-weight:400; font-size:16.5px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.lp img{ display:block; max-width:100%; }
.lp a{ color:inherit; }
.lp ul,.lp ol{ margin:0; padding:0; list-style:none; }
.lp button{ font:inherit; color:inherit; }
.lp ::selection{ background:var(--brass-soft); }
.lp [hidden]{ display:none !important; }

.lp .wrap{ width:min(1180px,100%); margin-inline:auto; padding-inline:var(--pad); }
.lp .wrap--narrow{ width:min(860px,100%); }

/* 3 · TYPE ================================================================ */
.lp h1,.lp h2,.lp h3{ font-family:var(--serif); font-weight:400; letter-spacing:-.01em; margin:0; }
.lp h1{ font-size:clamp(1.95rem,3.6vw,3.1rem); line-height:1.1; }
.lp h2{ font-size:clamp(1.6rem,2.7vw,2.35rem); line-height:1.16; }
.lp h3{ font-size:1.22rem; line-height:1.3; }
.lp p{ margin:0 0 1em; }
.lp .eyebrow{
  font-family:var(--sans); font-size:.68rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--brass);
  margin:0 0 .9rem;
}
.lp .lede{ font-size:clamp(1.02rem,1.3vw,1.14rem); color:var(--ink-soft); max-width:56ch; }
.lp .small{ font-size:.86rem; color:var(--ink-faint); }
.lp .sec__head{ max-width:62ch; margin-bottom:clamp(28px,3.4vw,44px); }
.lp .sec__head p{ color:var(--ink-soft); margin-bottom:0; }

/* 4 · BUTTONS ============================================================= */
.lp .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  min-height:52px; padding:0 1.5em; border:1px solid transparent; border-radius:var(--r);
  font-size:.84rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; transition:background-color .25s var(--ease),
  border-color .25s var(--ease), color .25s var(--ease), transform .1s var(--ease);
}
.lp .btn:active{ transform:translateY(1px); }
.lp .btn--primary{ background:var(--brass); color:#fff; box-shadow:0 10px 26px -12px rgba(154,123,54,.55); }
.lp .btn--primary:hover{ background:#835F1F; transform:translateY(-2px); box-shadow:0 16px 32px -12px rgba(154,123,54,.6); }
.lp .btn--dark{ background:var(--charcoal); color:#fff; }
.lp .btn--dark:hover{ background:#000; transform:translateY(-2px); }
.lp .btn--line{ border-color:var(--line-strong); color:var(--ink); background:#fff; }
.lp .btn--line:hover{ border-color:var(--brass); color:var(--brass); transform:translateY(-2px); box-shadow:0 12px 26px -14px rgba(21,23,27,.2); }
.lp .btn--full{ width:100%; min-height:58px; }
.lp .btn.is-busy{ opacity:.72; cursor:progress; }
.lp .btn:focus-visible,.lp a:focus-visible,.lp input:focus-visible,
.lp select:focus-visible,.lp textarea:focus-visible,.lp summary:focus-visible{
  outline:2px solid var(--brass); outline-offset:2px;
}

/* 5 · HEADER ============================================================== */
.lp .top{
  position:sticky; top:0; z-index:40; background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
}
.lp .top__in{ display:flex; align-items:center; gap:1.2rem; min-height:64px; }
.lp .top__logo{ display:inline-flex; align-items:center; text-decoration:none; }
.lp .top__spacer{ flex:1; }
.lp .top__phone{
  display:inline-flex; align-items:center; gap:.5rem; text-decoration:none;
  font-weight:500; font-size:.95rem; letter-spacing:.01em;
}
.lp .top__phone small{ display:block; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); font-weight:400; }
.lp .top__cta{ min-height:44px; font-size:.74rem; }

/* 6 · HERO + FORM ========================================================= */
.lp .hero{
  background:linear-gradient(180deg,var(--paper-2),var(--paper));
  border-bottom:1px solid var(--line);
  padding-block:clamp(30px,4vw,58px) clamp(34px,4.4vw,64px);
}
.lp .hero__grid{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:clamp(28px,4vw,64px); align-items:start;
}
.lp .hero h1 em{ font-style:italic; color:var(--brass); }
.lp .hero__lede{ margin-top:1rem; }
.lp .ticks{ margin:1.6rem 0 0; display:grid; gap:.7rem; }
.lp .ticks li{ display:flex; gap:.7rem; align-items:flex-start; font-size:.98rem; color:var(--ink-soft); }
.lp .ticks svg{ flex:0 0 18px; margin-top:.28em; color:var(--brass); }
.lp .hero__shot{
  margin-top:clamp(22px,2.6vw,32px); border:1px solid var(--line);
  border-radius:var(--r); overflow:hidden; background:var(--paper-3);
}
.lp .hero__shot img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.lp .hero__shotnote{ font-size:.74rem; color:var(--ink-faint); padding:.6rem .8rem; background:#fff; border-top:1px solid var(--line); margin:0; }

/* the form card */
.lp .lead{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  box-shadow:var(--shadow); overflow:hidden;
  position:sticky; top:84px;
  transition:box-shadow .3s var(--ease);
}
.lp .lead::before{
  content:""; position:absolute; inset:0 0 auto 0; height:4px; z-index:1;
  background:linear-gradient(90deg,var(--brass),#D9BE7E 60%,var(--brass));
}
.lp .lead:focus-within{ box-shadow:var(--shadow-lift); }
.lp .lead__head{ padding:clamp(18px,2vw,24px) clamp(18px,2.2vw,26px) 0; }
.lp .lead__head h2{ font-size:1.5rem; }
.lp .lead__head p{ margin:.5rem 0 0; font-size:.9rem; color:var(--ink-faint); }
.lp .lead__body{ padding:clamp(16px,2vw,22px) clamp(18px,2.2vw,26px) clamp(20px,2.4vw,26px); }
.lp .grid2{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem 1rem; }
.lp .field{ display:flex; flex-direction:column; }
.lp .field--wide{ grid-column:1/-1; }
.lp .field label{
  font-size:.74rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:.38rem;
}
.lp .field label i{ color:#B3381F; font-style:normal; }
.lp .field input,.lp .field select,.lp .field textarea{
  appearance:none; -webkit-appearance:none; width:100%;
  min-height:48px; padding:.6rem .75rem;
  background:#fff; border:1px solid var(--line-strong); border-radius:var(--r);
  font:400 1rem/1.5 var(--sans); color:var(--ink);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.lp .field textarea{ min-height:96px; resize:vertical; }
.lp .field select{
  background-image:
    linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),
    linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px), calc(100% - 14px) calc(50% + 1px);
  background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:2.6rem; cursor:pointer;
}
.lp .field input:hover,.lp .field select:hover,.lp .field textarea:hover{ border-color:#B3AB9D; }
.lp .field input:focus,.lp .field select:focus,.lp .field textarea:focus{
  outline:none; border-color:var(--brass); box-shadow:0 0 0 3px rgba(154,123,54,.16);
}
.lp .field.is-invalid input,.lp .field.is-invalid select,.lp .field.is-invalid textarea{
  border-color:#B3381F; background:#FFF8F6;
}
.lp .err{ font-size:.78rem; color:#A33118; margin-top:.3rem; }
.lp .hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.lp .form__status{ font-size:.9rem; margin:.8rem 0 0; min-height:1.2em; color:var(--good); }
.lp .form__status--error{ color:#A33118; }
.lp .lead__note{ font-size:.78rem; color:var(--ink-faint); margin:.9rem 0 0; }
.lp .lead__note a{ color:var(--brass); }
.lp .lead__trust{
  display:flex; flex-wrap:wrap; gap:.4rem .9rem; margin:1rem 0 0; padding-top:.9rem;
  border-top:1px solid var(--line); font-size:.78rem; color:var(--ink-faint);
}
.lp .lead__trust span{ display:inline-flex; align-items:center; gap:.35rem; }

/* success panel */
.lp .thanks{
  background:#fff; border:1px solid var(--line); border-left:3px solid var(--good);
  border-radius:var(--r); box-shadow:var(--shadow); padding:clamp(22px,2.6vw,32px);
}
.lp .thanks h3{ margin-bottom:.5rem; }
.lp .thanks p{ color:var(--ink-soft); }
.lp .thanks .ref{ font-weight:500; color:var(--ink); }

/* 7 · SECTIONS ============================================================ */
.lp .sec{ padding-block:clamp(44px,5.4vw,84px); border-bottom:1px solid var(--line); }
.lp .sec--tint{ background:var(--paper-2); }
.lp .sec--dark{ background:var(--charcoal); color:#EFEBE4; border-bottom:0; }
.lp .sec--dark h2{ color:#fff; }
.lp .sec--dark .eyebrow{ color:#D3B978; }
.lp .sec--dark .sec__head p,.lp .sec--dark p{ color:rgba(239,235,228,.78); }

/* 8 · CARDS =============================================================== */
.lp .cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(238px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.lp .cards li{ background:#fff; padding:clamp(20px,2.2vw,28px); position:relative; z-index:0; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.lp .cards li:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); z-index:1; }
.lp .cards h3{ margin-bottom:.5rem; }
.lp .cards p{ color:var(--ink-soft); font-size:.94rem; margin:0; }
.lp .cards__n{ display:block; font-size:.72rem; letter-spacing:.18em; color:var(--brass); margin-bottom:.7rem; font-weight:500; }

/* process */
.lp .steps{ counter-reset:s; display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.lp .steps li{
  background:#fff; display:grid; grid-template-columns:3.4rem 12rem 1fr; gap:clamp(.8rem,2vw,2rem);
  align-items:baseline; padding:clamp(16px,2vw,24px); position:relative; z-index:0;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.lp .steps li:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lift); z-index:1; }
.lp .steps li::before{ counter-increment:s; content:"0" counter(s); font-family:var(--serif); font-size:1.5rem; color:var(--brass); }
.lp .steps h3{ font-size:1.15rem; }
.lp .steps p{ margin:0; color:var(--ink-soft); font-size:.94rem; }

/* materials */
.lp .mats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:rgba(239,235,228,.18); border:1px solid rgba(239,235,228,.22); border-radius:var(--r); overflow:hidden; }
.lp .mats li{ background:rgba(255,255,255,.06); padding:clamp(18px,2vw,24px); transition:background-color .3s var(--ease); }
.lp .mats li:hover{ background:rgba(255,255,255,.12); }
.lp .mats h3{ color:#fff; font-size:1.1rem; margin-bottom:.4rem; }
.lp .mats p{ margin:0; font-size:.88rem; color:rgba(239,235,228,.72); }

/* 9 · SCOPE TABLE ========================================================= */
.lp .scope{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:#fff; }
.lp table.scope__t{ width:100%; min-width:640px; border-collapse:collapse; font-size:.94rem; }
.lp .scope__t th,.lp .scope__t td{ text-align:left; padding:.85rem 1rem; border-bottom:1px solid var(--line); vertical-align:top; }
.lp .scope__t thead th{ background:var(--paper-2); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; font-weight:500; color:var(--ink-soft); white-space:nowrap; }
.lp .scope__t tbody th{ font-weight:500; width:16rem; }
.lp .scope__t tr:last-child th,.lp .scope__t tr:last-child td{ border-bottom:0; }
.lp .yes{ color:var(--good); font-weight:500; }
.lp .no{ color:var(--ink-faint); }

/* 10 · GALLERY ============================================================ */
.lp .gal{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.lp .gal figure{ margin:0; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--paper-3); }
.lp .gal img{ width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .6s var(--ease); }
.lp .gal figure:hover img{ transform:scale(1.03); }
.lp .gal figcaption{ font-size:.8rem; color:var(--ink-faint); padding:.55rem .7rem; background:#fff; border-top:1px solid var(--line); }

/* areas */
.lp .areas{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.5rem 1.6rem; }
.lp .areas li{ padding:.45rem 0; border-bottom:1px solid var(--line); font-size:.95rem; color:var(--ink-soft); }

/* 11 · FAQ ================================================================ */
.lp .faq{ border:1px solid var(--line); border-radius:var(--r); background:#fff; overflow:hidden; }
.lp .faq details{ border-bottom:1px solid var(--line); }
.lp .faq details:last-child{ border-bottom:0; }
.lp .faq summary{
  cursor:pointer; padding:1rem clamp(14px,1.8vw,22px); font-weight:500; font-size:1rem;
  display:flex; justify-content:space-between; gap:1rem; align-items:center; list-style:none;
}
.lp .faq summary::-webkit-details-marker{ display:none; }
.lp .faq summary::after{ content:"+"; color:var(--brass); font-size:1.25rem; line-height:1; flex:0 0 auto; }
.lp .faq details[open] summary::after{ content:"–"; }
.lp .faq summary:hover{ background:var(--paper-2); }
.lp .faq .a{ padding:0 clamp(14px,1.8vw,22px) 1.1rem; color:var(--ink-soft); font-size:.95rem; }
.lp .faq .a p:last-child{ margin-bottom:0; }

/* closing band */
.lp .close{ background:var(--paper-2); border-bottom:1px solid var(--line); padding-block:clamp(44px,5.4vw,80px); }
.lp .close__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:start; }

/* 12 · FOOTER ============================================================= */
.lp .foot{ background:var(--charcoal); color:rgba(239,235,228,.72); padding-block:clamp(34px,4vw,56px) clamp(74px,8vw,40px); font-size:.88rem; }
.lp .foot__grid{ display:flex; flex-wrap:wrap; gap:1.6rem 2.4rem; justify-content:space-between; }
.lp .foot a{ color:rgba(239,235,228,.86); text-decoration:none; }
.lp .foot a:hover{ color:#D3B978; }
.lp .foot__logo{ display:block; width:auto; }
.lp .foot__links{ display:flex; gap:1.2rem; flex-wrap:wrap; }
.lp .foot__legal{ margin-top:1.6rem; padding-top:1.2rem; border-top:1px solid rgba(239,235,228,.16); font-size:.78rem; color:rgba(239,235,228,.52); }
.lp .foot__legal p{ max-width:78ch; }

/* 13 · STICKY MOBILE BAR ================================================== */
.lp .bar{
  position:fixed; inset:auto 0 0 0; z-index:50; display:none;
  grid-template-columns:1fr 1fr; border-top:1px solid var(--line-strong);
  box-shadow:0 -6px 20px -12px rgba(21,23,27,.3);
}
.lp .bar a{
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:56px; padding-bottom:env(safe-area-inset-bottom,0);
  font-size:.8rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
}
.lp .bar__cta{ background:var(--brass); color:#fff; }
.lp .bar__call{ background:#fff; color:var(--ink); }

/* 14 · RESPONSIVE ========================================================= */
@media (max-width:1000px){
  .lp .hero__grid,.lp .close__grid{ grid-template-columns:1fr; }
  .lp .lead{ position:static; }
  .lp .hero__shot{ display:none; }          /* the gallery covers this lower down */
  .lp .steps li{ grid-template-columns:2.6rem 1fr; }
  .lp .steps li h3{ grid-column:2; }
  .lp .steps li p{ grid-column:2; }
}
@media (max-width:700px){
  .lp .top__phone small{ display:none; }
  .lp .top__cta{ display:none; }            /* the sticky bar takes over */
  .lp .bar{ display:grid; }
  .lp body,.lp{ padding-bottom:0; }
  .lp .grid2{ grid-template-columns:1fr; }
  .lp .foot{ padding-bottom:84px; }
}
@media (max-width:430px){
  body.lp{ font-size:16px; }
  .lp .lead__trust{ gap:.3rem .7rem; }
}

/* ---- scroll reveal: sections fade and lift into place once, on first view ---- */
.lp .reveal{ opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.lp .reveal.is-in{ opacity:1; transform:none; }

/* 15 · REDUCED MOTION / NO-JAVASCRIPT ===================================== */
@media (prefers-reduced-motion:reduce){
  .lp *,.lp *::before,.lp *::after{ transition:none !important; animation:none !important; }
  .lp .gal figure:hover img{ transform:none; }
  .lp .reveal{ opacity:1; transform:none; }
}
/* Nothing on this page is hidden until JavaScript runs, so there is no
   no-js fallback to write: the form posts to /enquiry.php on its own. */

/* ---- hero ordering: on a phone the form comes straight after the headline,
   and the supporting points follow it, so the ask is never a scroll away. */
.lp .hero__copy{ margin:0; }
@media (max-width:1000px){
  .lp .hero__col{ display:contents; }
  .lp .hero__grid{ display:grid; grid-template-columns:1fr; }
  .lp .hero__copy{ order:1; }
  .lp .lead{ order:2; }
  .lp .hero__more{ order:3; }
  .lp .ticks{ margin-top:0; }
  .lp .hero__more{ margin-top:.4rem; }
}

/* ---- the studio's own address, alongside the areas covered ---- */
.lp .studio{
  margin-top:clamp(26px,3vw,38px); padding:clamp(18px,2.2vw,26px);
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
}
.lp .studio__label{
  font-size:.68rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  color:var(--brass); margin:0 0 .5rem;
}
.lp .studio__addr{ font-style:normal; font-size:1rem; color:var(--ink); max-width:52ch; }
.lp .studio__addr a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.lp .studio__addr a:hover{ color:var(--brass); }
.lp .studio__contact{ margin:.6rem 0 0; font-size:.95rem; }
.lp .studio__contact a{ color:var(--brass); text-decoration:none; }
.lp .studio__contact a:hover{ text-decoration:underline; }
.lp .foot__addr{ font-style:normal; margin:.6rem 0 0; max-width:44ch; line-height:1.55; }
.lp .foot__addr a{ text-decoration:underline; text-underline-offset:3px; }

/* 16 · FLOATING WHATSAPP + QUICK-CONTACT ================================= */
.lp .float-actions{
  position:fixed; right:22px; bottom:26px; z-index:70;
  display:flex; flex-direction:column; align-items:flex-end; gap:14px;
}
.lp .float-btn{
  width:58px; height:58px; border-radius:50%; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; position:relative;
  box-shadow:0 14px 34px -10px rgba(21,23,27,.38);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.lp .float-btn:hover{ transform:translateY(-3px); box-shadow:0 18px 40px -10px rgba(21,23,27,.44); }
.lp .float-btn svg{ width:27px; height:27px; }
.lp .float-btn--whatsapp{ background:#25D366; color:#fff; }
.lp .float-btn--chat{ background:var(--charcoal); color:#fff; }
.lp .float-btn--chat .float-btn__icon-close{ display:none; position:absolute; }
.lp .float-btn--chat.is-open .float-btn__icon-chat{ display:none; }
.lp .float-btn--chat.is-open .float-btn__icon-close{ display:block; }

.lp .float-panel{
  position:absolute; right:0; bottom:calc(100% + 14px);
  width:250px; background:#fff; border:1px solid var(--line);
  border-radius:14px; box-shadow:0 30px 70px -18px rgba(21,23,27,.28);
  padding:8px; display:flex; flex-direction:column;
  animation:tk-float-in .22s var(--ease);
}
.lp .float-panel[hidden]{ display:none; }
.lp .float-panel__head{
  font-size:.66rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-faint); padding:9px 10px 7px;
}
.lp .float-panel__item{
  display:flex; align-items:center; gap:11px; padding:11px 10px; border-radius:9px;
  color:var(--ink); font-size:.9rem; text-decoration:none;
  transition:background-color .2s var(--ease);
}
.lp .float-panel__item:hover{ background:var(--paper-2); }
.lp .float-panel__item svg{ width:19px; height:19px; flex:0 0 auto; color:var(--brass); }

@keyframes tk-float-in{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

@media (max-width:700px){
  .lp .float-actions{ right:16px; bottom:72px; }   /* clears the sticky mobile bar */
}
@media (prefers-reduced-motion:reduce){
  .lp .float-panel{ animation:none; }
}

/* Fallback toast for in-app browsers that block tel:/mailto: navigation */
.lp .float-toast{
  position:fixed; left:50%; bottom:24px; z-index:80;
  transform:translate(-50%,12px); opacity:0; pointer-events:none;
  background:var(--charcoal); color:#fff; border:1px solid var(--line);
  padding:.7rem 1.1rem; border-radius:10px; font-size:.85rem;
  box-shadow:0 20px 50px -16px rgba(21,23,27,.4);
  transition:opacity .25s var(--ease), transform .25s var(--ease);
  max-width:min(86vw,360px); text-align:center;
}
.lp .float-toast.is-shown{ opacity:1; transform:translate(-50%,0); }
@media (max-width:700px){ .lp .float-toast{ bottom:88px; } }
