:root{
    --ink:#15110c;
    --ink-soft:#221a12;
    --paper:#faf5ee;
    --paper-dim:#f1e9db;
    --bronze:#6b4426;
    --copper:#c9793f;
    --copper-light:#e0a06a;
    --champagne:#eec89a;
    --tan:#c99871;
    --line: rgba(21,17,12,.12);
    --line-light: rgba(250,245,238,.18);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  /* Uploaded Luxélan font pack: Quiche Sans for all body/UI text, Lora for display headings. */
  body,button,input,select,textarea,option{font-family:'Quiche Sans',sans-serif;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Quiche Sans',sans-serif;
    font-weight:400;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  }
  h1,h2,h3,.serif{font-family:'Lora',serif;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .wrap{max-width:1240px;margin:0 auto;padding:0 6vw;}
  .eyebrow{
    font-family:'Quiche Sans',sans-serif;
    text-transform:uppercase;
    letter-spacing:.32em;
    font-size:.72rem;
    font-weight:600;
    color:var(--copper);
  }
  .eyebrow.light{color:var(--champagne);}
  ::selection{background:var(--copper);color:var(--paper);}

  /* ---------- shard / parallelogram signature ---------- */
  .shard{
    clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%);
  }
  .shard-r{
    clip-path: polygon(0 0, 78% 0, 100% 100%, 22% 100%);
  }
  .gold-sweep{
    background: linear-gradient(120deg, var(--bronze) 0%, var(--copper) 45%, var(--champagne) 75%, var(--tan) 100%);
  }

  /* ---------- nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    display:flex;align-items:center;justify-content:space-between;
    padding:26px 6vw;
    transition:padding .4s ease, background .4s ease, box-shadow .4s ease;
  }
  header.scrolled{
    padding:14px 6vw;
    background:rgba(250,245,238,.86);
    backdrop-filter:blur(10px);
    box-shadow:0 1px 0 var(--line);
  }
  .logo{
    font-family:'Lora',serif;
    font-size:1.35rem;
    letter-spacing:.28em;
    color:var(--paper);
    transition:color .4s ease;
  }
  header.scrolled .logo{color:var(--ink);}
  nav.links{display:flex;gap:2.4rem;align-items:center;}
  nav.links a{
    font-size:.82rem;letter-spacing:.06em;font-weight:600;
    color:var(--paper);opacity:.88;
    position:relative;padding-bottom:4px;
    transition:color .4s ease, opacity .3s ease;
  }
  header.scrolled nav.links a{color:var(--ink);}
  nav.links a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:1px;
    background:currentColor;transition:width .3s ease;
  }
  nav.links a:hover::after{width:100%;}
  .btn{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.85rem 1.7rem;
    font-size:.78rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase;
    border-radius:2px;cursor:pointer;border:1px solid transparent;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, background .35s ease, color .35s ease, border-color .35s ease;
  }
  .btn-copper{background:var(--copper);color:var(--paper);}
  .btn-copper:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(201,121,63,.55);}
  .btn-outline-light{border-color:var(--line-light);color:var(--paper);}
  .btn-outline-light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}
  .btn-outline-dark{border-color:var(--line);color:var(--ink);}
  .btn-outline-dark:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
  .nav-cta{display:none;}
  @media(min-width:860px){.nav-cta{display:inline-flex;}}
  .burger{display:none;background:none;border:none;color:var(--paper);font-size:1.6rem;cursor:pointer;}
  header.scrolled .burger{color:var(--ink);}
  @media(max-width:859px){
    nav.links{display:none;}
    .burger{display:block;}
  }

  /* ---------- hero ---------- */
    .hero{
    position:relative;min-height:100vh;
    display:flex;align-items:flex-end;
    background:linear-gradient(180deg, rgba(20,15,10,.30) 0%, rgba(15,11,7,.48) 55%, rgba(10,7,5,.92) 100%),
      url('../images/hero.jpg') center/cover no-repeat;
    color:var(--paper);
    padding-bottom:0;
    overflow:hidden;
  }
  .hero-inner{
    width:100%;padding:0 5.8vw 4.8rem;
    display:grid;grid-template-columns:minmax(0,1fr) 380px;
    align-items:end;gap:clamp(2.5rem,5vw,6rem);
    max-width:1500px;margin:0 auto;
    position:relative;z-index:2;
  }
  .hero-copy{min-width:0;}
  .hero-kicker{
    opacity:0;transform:translateY(18px);
    animation:riseIn .9s .3s cubic-bezier(.2,.8,.2,1) forwards;
  }
  .hero h1{
    font-family:'Lora',serif;
    font-size:clamp(3.1rem, 5.2vw, 5.5rem);
    line-height:1.02;font-weight:500;
    letter-spacing:-.012em;
    width:100%;max-width:920px;
    overflow:visible;
    margin:.15rem 0 0;
  }
  .hero h1 span{
    display:block;overflow:visible;padding-bottom:.08em;
    white-space:nowrap;
  }
  .hero h1 span em{
    display:block;font-style:normal;
    transform:translateY(110%);
    animation:riseIn .9s cubic-bezier(.2,.8,.2,1) forwards;
  }
  .hero h1 span:nth-child(1) em{animation-delay:.45s;}
  .hero h1 span:nth-child(2) em{animation-delay:.62s;color:var(--champagne);}
  .hero p.sub{
    max-width:34ch;font-size:1.05rem;line-height:1.6;color:rgba(250,245,238,.86);font-weight:400;
    opacity:0;transform:translateY(18px);
    animation:riseIn .9s .85s cubic-bezier(.2,.8,.2,1) forwards;
  }
  .hero-ctas{
    display:flex;gap:1rem;flex-wrap:wrap;margin-top:.4rem;
    opacity:0;transform:translateY(18px);
    animation:riseIn .9s 1.05s cubic-bezier(.2,.8,.2,1) forwards;
  }
  .hero-form{
    width:100%;padding:1.45rem;
    background:rgba(18,13,9,.82);
    border:1px solid rgba(250,245,238,.24);
    backdrop-filter:blur(14px);
    box-shadow:0 24px 60px rgba(0,0,0,.25);
    opacity:0;transform:translateY(18px);
    animation:riseIn .9s 1s cubic-bezier(.2,.8,.2,1) forwards;
  }
  .hero-form-head h2{
    font-family:'Lora',serif;font-size:1.5rem;font-weight:500;
    color:var(--paper);margin:.45rem 0 .35rem;line-height:1.15;
  }
  .hero-form-head p{font-size:.82rem;line-height:1.5;color:rgba(250,245,238,.7);}
  .hero-form-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem;
  }
  .hero-form input,.hero-form select,.hero-form textarea{
    width:100%;background:rgba(250,245,238,.07);
    border:1px solid rgba(250,245,238,.22);color:var(--paper);
    padding:.78rem .82rem;border-radius:1px;
    font-family:'Quiche Sans',sans-serif;font-size:.78rem;
  }
  .hero-form select option{color:#15110c;background:#faf5ee;}
  .hero-form textarea{grid-column:1/-1;resize:vertical;min-height:70px;}
  .hero-form input::placeholder,.hero-form textarea::placeholder{color:rgba(250,245,238,.58);}
  .hero-form input:focus,.hero-form select:focus,.hero-form textarea:focus{
    outline:1px solid var(--champagne);outline-offset:1px;
  }
  .hero-form-submit{width:100%;justify-content:center;margin-top:.8rem;}
  @keyframes riseIn{to{opacity:1;transform:translateY(0);}}
  .scroll-cue{
    position:absolute;right:4vw;bottom:2.2rem;
    display:flex;flex-direction:column;align-items:center;gap:.6rem;
    color:rgba(250,245,238,.7);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;
    opacity:0;animation:riseIn .9s 1.3s forwards;z-index:3;
  }
  .scroll-cue .line{width:1px;height:38px;background:linear-gradient(var(--champagne),transparent);animation:cue 1.8s ease-in-out infinite;}
  @keyframes cue{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}51%{transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

  .hero-shard{
    position:absolute;top:0;right:0;width:34%;height:100%;
    background:linear-gradient(200deg, rgba(201,121,63,.20), rgba(21,17,12,0) 60%);
    clip-path:polygon(38% 0,100% 0,100% 100%,62% 100%);
    pointer-events:none;z-index:1;
  }

  @media (max-width:1200px){
    .hero-inner{grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem;}
    .hero h1{font-size:clamp(2.9rem,5vw,4.6rem);}
  }
  @media (max-width:980px){
    .hero{min-height:100svh;align-items:flex-end;}
    .hero-inner{grid-template-columns:1fr;padding:7rem 7vw 3.8rem;gap:2rem;}
    .hero h1{font-size:clamp(2.7rem,8vw,4.5rem);max-width:850px;}
    .hero h1 span{white-space:normal;}
    .hero-form{max-width:680px;}
    .scroll-cue{display:none;}
  }
  @media (max-width:560px){
    .hero-inner{padding:6.5rem 6vw 2.5rem;gap:1.4rem;}
    .hero h1{font-size:clamp(2.25rem,10.5vw,3.5rem);line-height:1.04;}
    .hero h1 span{white-space:normal;}
    .hero-ctas{width:100%;}
    .hero-ctas .btn{width:100%;text-align:center;}
    .hero-form{padding:1.15rem;}
    .hero-form-grid{grid-template-columns:1fr;}
    .hero-form textarea{grid-column:auto;}
  }

  /* ---------- stats strip ---------- */
  .stats{
    background:var(--ink);color:var(--paper);
    padding:3.4rem 0;position:relative;
  }
  .stats .wrap{
    display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;
  }
  @media(max-width:980px){.stats .wrap{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.stats .wrap{grid-template-columns:1fr;}}
  .stat{text-align:left;border-left:1px solid var(--line-light);padding-left:1.3rem;}
  .stat .num{
    font-family:'Lora',serif;font-size:2.3rem;color:var(--champagne);
    display:flex;align-items:baseline;gap:.15rem;
  }
  .stat .num .plus{font-size:1.3rem;}
  .stat .label{font-size:.78rem;letter-spacing:.03em;color:rgba(250,245,238,.72);margin-top:.35rem;line-height:1.4;}

  /* ---------- section basics ---------- */
  section{position:relative;}
  .section-pad{padding:7.5rem 0;}
  .reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal-delay-1.in{transition-delay:.12s;}
  .reveal-delay-2.in{transition-delay:.24s;}
  .reveal-delay-3.in{transition-delay:.36s;}

  h2.h-serif{
    font-size:clamp(1.9rem,3.4vw,2.9rem);
    font-weight:500;line-height:1.18;letter-spacing:.005em;
  }

  /* ---------- about ---------- */
  .about{display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;}
  .about-copy{padding-right:1vw;}
  .about-title{max-width:15ch;margin-top:.9rem;line-height:1.13;letter-spacing:-.008em;}
  .about-copy p{max-width:43rem;}
  @media(max-width:900px){.about{grid-template-columns:1fr;gap:3rem}.about-title{max-width:none}.about-copy{padding-right:0}}
  .about-copy p{font-size:1.02rem;line-height:1.85;color:#3a3128;margin-top:1.3rem;font-weight:300;}
  .about-copy p.lead{font-size:1.18rem;color:var(--ink);font-weight:400;}
  .about-visual{position:relative;aspect-ratio:4/5;}
  .about-visual .frame{
    position:absolute;inset:0;
    clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);
    overflow:hidden;
  }
  .about-visual img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.03);transition:transform 1.2s cubic-bezier(.2,.8,.2,1);}
  .about-visual:hover img{transform:scale(1);}


  /* ---------- clientele (dark) ---------- */
  .clientele{background:var(--ink);color:var(--paper);}
  .clientele .head{max-width:640px;}
  .clientele h2{color:var(--paper);}
  .clientele .lede{color:rgba(250,245,238,.78);margin-top:1.1rem;font-weight:300;line-height:1.7;font-size:1.02rem;}
  .chip-grid{
    margin-top:3.2rem;
    display:grid;grid-template-columns:repeat(3,1fr);
    background:transparent;
    border:0;
  }
  @media(max-width:760px){.chip-grid{grid-template-columns:1fr;}}
  .chip{background:transparent;
    min-height:142px;
    padding:1.65rem 1.8rem;
    display:flex;align-items:center;gap:1.15rem;
    border-top:0;
    transition:none;
  }
  .chip:nth-child(-n+3){border-top:0;}
  .chip:nth-child(3n+2),
  .chip:nth-child(3n+3){border-left:1px solid rgba(250,245,238,.14);}
  .chip:hover{background:transparent;}
  .chip-icon{
    width:46px;height:46px;
    flex:0 0 46px;
    display:flex;align-items:center;justify-content:center;
    color:var(--copper);
  }
  .chip-icon svg{
    width:42px;height:42px;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .chip > span:last-child{
    font-size:.98rem;font-weight:400;color:var(--paper);
    line-height:1.45;
  }
  @media(max-width:760px){
    .chip{min-height:112px;padding:1.4rem 0;}
    .chip:nth-child(3n+2),.chip:nth-child(3n+3){border-left:0;}
    .chip + .chip{border-top:0;}
  }

  /* ---------- design inspiration ---------- */
  .insp-head{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);align-items:start;gap:4rem;}
  .insp-head p{max-width:34ch;color:#5a4d3f;font-weight:300;line-height:1.7;margin:0;padding-top:.25rem;}
  @media(max-width:900px){.insp-head{grid-template-columns:1fr;gap:1rem;}.insp-head p{max-width:60ch;}}
  .insp-grid{
    margin-top:3.4rem;
    display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;
  }
  @media(max-width:900px){.insp-grid{grid-template-columns:1fr;}}
  .insp-card{
    position:relative;aspect-ratio:3/4;overflow:hidden;
    clip-path:polygon(0 0,100% 0,100% 92%,88% 100%,0 100%);
  }
  .insp-video{width:100%;height:100%;display:block;border:0;object-fit:cover;pointer-events:none;}
  /* Video cards: clean video only, no text overlay. */
  .insp-card::after{display:none;}
  .insp-card .cap{display:none;}

  /* ---------- clearsight ---------- */
  .clearsight{
    background:var(--paper-dim);
    position:relative;overflow:hidden;
  }
  .cs-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;align-items:center;}
  @media(max-width:900px){.cs-grid{grid-template-columns:1fr;}}
  .cs-badge{
    display:inline-block;padding:.5rem 1rem;
    border:1px solid var(--copper);color:var(--copper);
    font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
    margin-bottom:1.4rem;
  }
  .cs-grid h2{max-width:12ch;}
  .cs-lines{margin-top:1.6rem;}
  .cs-lines p{
    padding:.95rem 0;border-bottom:1px solid var(--line);
    font-family:'Lora',serif;font-style:italic;font-size:1.08rem;color:#4a3d30;
  }
  .cs-lines p:first-child{border-top:1px solid var(--line);}
  .cs-panel{
    background:var(--ink);color:var(--paper);
    padding:3rem 2.6rem;position:relative;
    clip-path:polygon(6% 0,100% 0,100% 100%,0 100%);
  }
  .cs-panel h3{font-size:1.6rem;font-weight:500;line-height:1.3;}
  .cs-panel p{margin-top:1rem;color:rgba(250,245,238,.78);font-weight:300;line-height:1.7;}
  .cs-panel .btn{margin-top:1.8rem;}

  /* ---------- trust ---------- */
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3.2rem;}
  @media(max-width:980px){.trust-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.trust-grid{grid-template-columns:1fr;}}
  .trust-card{background:var(--paper);padding:2.6rem 2rem;transition:background .4s ease, transform .4s ease;}
  .trust-card:hover{background:var(--ink);transform:translateY(-4px);}
  .trust-card:hover *{color:var(--paper) !important;}
  .trust-card .idx{color:var(--copper);font-size:1rem;} .trust-card .trust-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:.15rem;} .trust-card .trust-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
  .trust-card h3{font-size:1.12rem;margin-top:1rem;font-weight:600;letter-spacing:.01em;}
  .trust-card p{margin-top:.7rem;font-size:.92rem;line-height:1.65;color:#5a4d3f;font-weight:300;}

  /* ---------- final cta ---------- */
  .final-cta{
    background:
      linear-gradient(160deg, rgba(15,11,7,.86), rgba(15,11,7,.5) 55%, rgba(15,11,7,.9)),
      url('../images/final-cta.jpg') center/cover no-repeat;
    color:var(--paper);text-align:center;
  }
  .final-cta .wrap{display:flex;flex-direction:column;align-items:center;gap:1.6rem;}
  .final-cta h2{max-width:16ch;color:var(--paper);}
  .final-cta p{max-width:42ch;color:rgba(250,245,238,.82);font-weight:300;line-height:1.7;}
  .final-form{
    display:flex;gap:.7rem;margin-top:1rem;flex-wrap:wrap;justify-content:center;
  }
  .final-form input{
    background:transparent;border:1px solid var(--line-light);color:var(--paper);
    padding:.95rem 1.2rem;min-width:260px;font-family:'Quiche Sans',sans-serif;font-size:.92rem;
    border-radius:2px;
  }
  .final-form input::placeholder{color:rgba(250,245,238,.55);}
  .final-form input:focus{outline:2px solid var(--copper);outline-offset:2px;}

  /* ---------- faq ---------- */
  .faq{max-width:820px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%;text-align:left;background:none;border:none;cursor:pointer;
    display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
    padding:1.6rem 0;font-family:'Lora',serif;font-size:1.08rem;color:var(--ink);
  }
  .faq-q:focus-visible{outline:2px solid var(--copper);outline-offset:4px;}
  .faq-q .plus{
    font-family:'Quiche Sans',sans-serif;font-size:1.4rem;color:var(--copper);
    transition:transform .35s ease;flex-shrink:0;
  }
  .faq-item.open .faq-q .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.8,.2,1);}
  .faq-a p{padding:0 0 1.7rem;color:#5a4d3f;line-height:1.75;font-weight:300;max-width:60ch;}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:rgba(250,245,238,.7);padding:4rem 0 2rem;}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap;padding-bottom:3rem;border-bottom:1px solid var(--line-light);}
  .foot-logo{font-family:'Lora',serif;letter-spacing:.28em;font-size:1.3rem;color:var(--paper);}
  .foot-links{display:flex;gap:4rem;flex-wrap:wrap;}
  .foot-col h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne);margin-bottom:1rem;}
  .foot-col a{display:block;font-size:.88rem;margin-bottom:.65rem;color:rgba(250,245,238,.72);transition:color .3s ease;}
  .foot-col a:hover{color:var(--paper);}
  .foot-bottom{padding-top:1.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;}

  .fade-badge{
    position:relative;display:inline-block;padding-left:1.1rem;
  }
  .fade-badge::before{
    content:'';position:absolute;left:0;top:50%;transform:translateY(-50%) rotate(45deg);
    width:6px;height:6px;background:var(--copper);
  }

/* ---------- final hero CTA + logo + journey popup ---------- */
.logo{display:inline-flex;align-items:center;}
.logo img{width:166px;height:auto;max-height:42px;object-fit:contain;}
header.scrolled .logo img{filter:brightness(.72) saturate(.8);}
.hero-ctas .btn{border:0;}

.popup{
  position:fixed;inset:0;z-index:500;
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  background:rgba(8,6,4,.72);
  backdrop-filter:blur(8px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
}
.popup.show{opacity:1;visibility:visible;pointer-events:auto;}
body.popup-open{overflow:hidden;}
.popup-card{
  position:relative;width:min(560px,100%);max-height:92vh;overflow-y:auto;
  background:var(--paper);color:var(--ink);
  padding:2.1rem;
  border:1px solid rgba(201,121,63,.35);
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  transform:translateY(18px) scale(.98);
  transition:transform .3s ease;
}
.popup.show .popup-card{transform:translateY(0) scale(1);}
.popup-close{
  position:absolute;right:14px;top:10px;width:38px;height:38px;
  border:0;background:transparent;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;
}
.journey-popup-card h2{
  font-family:'Lora',serif;font-weight:500;font-size:clamp(1.8rem,4vw,2.45rem);
  line-height:1.1;margin:.55rem 2rem .45rem 0;
}
.journey-popup-card > div:first-of-type > p{
  color:rgba(21,17,12,.68);line-height:1.6;font-size:.9rem;margin-bottom:1rem;
}
.journey-popup-card .form-label{
  display:block;margin:13px 0 6px;font-size:.68rem;letter-spacing:.16em;font-weight:700;color:var(--bronze);
}
.journey-popup-card .form-input{
  width:100%;padding:.85rem .9rem;border:1px solid rgba(21,17,12,.2);background:#fff;
  color:var(--ink);font-family:'Quiche Sans',sans-serif;font-size:.86rem;border-radius:1px;
}
.journey-popup-card .form-input:focus{outline:1px solid var(--copper);outline-offset:1px;}
.journey-popup-card .journey-message{resize:vertical;min-height:110px;}
.journey-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.journey-field{min-width:0;}
.journey-form-grid .form-label{margin-top:10px;}
.journey-popup-card select.form-input{appearance:auto;-webkit-appearance:auto;background:#fff;}
@media(max-width:560px){
  .journey-form-grid{grid-template-columns:1fr;}
}

.journey-submit{width:100%;justify-content:center;margin-top:18px;border:0;}
.form-note{font-size:.72rem;color:rgba(21,17,12,.55);margin-top:10px;text-align:center;}
.hero-phone-error{grid-column:1/-1;color:#ffb3a7;font-size:.76rem;line-height:1.35;margin-top:-.25rem;}
.phone-error{min-height:0;color:#a52f2f;font-size:.74rem;margin-top:5px;}
.form-input.phone-invalid{border-color:#b33a3a!important;outline:1px solid rgba(179,58,58,.18)!important;}
.journey-success{text-align:center;padding:30px 8px 10px;}
.journey-success h2{font-family:'Lora',serif;font-size:2.3rem;margin-bottom:10px;}
.journey-success p{color:rgba(21,17,12,.68);line-height:1.6;margin-bottom:20px;}

@media(max-width:980px){
  .logo img{width:145px;max-height:36px;}
  .hero h1{max-width:100%;}
}
@media(max-width:560px){
  .logo img{width:130px;max-height:32px;}
  .popup{padding:14px;align-items:flex-end;}
  .popup-card{max-height:94vh;padding:1.35rem;border-radius:2px;}
  .journey-popup-card h2{font-size:1.8rem;}
  .hero-ctas .btn{width:100%;justify-content:center;}
}

/* ---------- final CTA journey popup ---------- */
.journey-simple-popup-card{width:min(560px,100%);}
.journey-simple-popup-card h2{margin-bottom:.45rem;}
.journey-simple-popup-card .journey-form-grid{margin-top:.15rem;}
@media(max-width:560px){
  .journey-simple-popup-card{width:100%;}
}


/* Luxelan: remove only the upper line above clientele cards */
.clientele-grid, .clientele-list, .clientele-items, .clientele-cards { border-top: none !important; }


/* Luxelan clientele final cleanup:
   - no line above the first row
   - internal row/column lines remain
   - no hover background effect
*/
.clientele .chip-grid { border-top: 0 !important; }
.clientele .chip:nth-child(-n+3) { border-top: 0 !important; }
.clientele .chip:hover { background: transparent !important; }
.clientele .chip { transition: none !important; }


/* Luxelan clientele: restore only the middle horizontal divider */
.clientele .chip:nth-child(n+4) {
  border-top: 1px solid rgba(250,245,238,.14) !important;
}
.clientele .chip:nth-child(-n+3) {
  border-top: 0 !important;
}

/* Keep hover disabled */
.clientele .chip:hover {
  background: transparent !important;
}


/* Luxelan hero: lift and properly space the left text block */
@media (min-width: 981px){
  .hero-copy{
    transform: translateY(-72px);
  }

  .hero-kicker{
    margin-bottom: 18px;
  }

  .hero h1{
    margin: 0 0 22px;
  }

  .hero p.sub{
    margin: 0 0 22px;
  }

  .hero-ctas{
    margin-top: 0;
  }
}

/* Keep the mobile layout natural */
@media (max-width: 980px){
  .hero-copy{
    transform: none;
  }
}


/* Luxelan readability pass — section labels / kickers */
.section-kicker,
.eyebrow,
.hero-kicker,
.kicker,
.section-label,
.about-kicker,
.design-kicker,
.why-kicker,
.faq-kicker {
  font-family: "Lora", Georgia, serif !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.22em !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

/* Catch small uppercase labels that use the existing kicker class */
[class*="kicker"],
[class*="eyebrow"],
[class*="label"] {
  font-family: "Lora", Georgia, serif;
  font-size: 17px;
  line-height: 1.5;
  opacity: 1;
}

/* Keep navigation/buttons from being unintentionally changed */
nav [class*="label"],
button [class*="label"],
.btn [class*="label"] {
  font-family: inherit;
}

/* Better readability on smaller screens */
@media (max-width: 980px){
  .section-kicker,
  .eyebrow,
  .hero-kicker,
  .kicker,
  .section-label,
  .about-kicker,
  .design-kicker,
  .why-kicker,
  .faq-kicker,
  [class*="kicker"],
  [class*="eyebrow"] {
    font-size: 15px !important;
    letter-spacing: 0.16em !important;
  }
}


/* Final readability sizing — 2px smaller, including ClearSight badges */
.section-kicker,
.eyebrow,
.hero-kicker,
.kicker,
.section-label,
.about-kicker,
.design-kicker,
.why-kicker,
.faq-kicker,
.cs-badge {
  font-family: "Lora", Georgia, serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.20em !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

@media (max-width: 980px){
  .section-kicker,
  .eyebrow,
  .hero-kicker,
  .kicker,
  .section-label,
  .about-kicker,
  .design-kicker,
  .why-kicker,
  .faq-kicker,
  .cs-badge {
    font-size: 13px !important;
    letter-spacing: 0.15em !important;
  }
}


/* Luxelan: ClearSight question lines should use regular Lora, not italic */
.cs-lines p {
  font-style: normal !important;
}


/* Final CTA: keep the title white and on one line */
.final-cta .h-serif {
  color: #fff !important;
  white-space: nowrap !important;
  font-size: clamp(2.2rem, 4.2vw, 4.4rem) !important;
  line-height: 1.08 !important;
}

/* On smaller screens, allow a controlled wrap rather than overflow */
@media (max-width: 700px) {
  .final-cta .h-serif {
    white-space: normal !important;
    font-size: clamp(2rem, 9vw, 3rem) !important;
  }
}


/* Final CTA — precise vertical and horizontal alignment */
.final-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.final-cta .final-cta-inner,
.final-cta .cta-inner,
.final-cta > div {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.final-cta .h-serif {
  display: block !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.final-cta p,
.final-cta .cta-copy {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.final-cta .btn,
.final-cta a {
  display: inline-flex !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 700px) {
  .final-cta .h-serif {
    white-space: normal !important;
  }
}


/* Final CTA title — force the white heading to the exact viewport center */
.final-cta .wrap > .reveal {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.final-cta .wrap > .reveal > .h-serif {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: center !important;
  align-self: stretch !important;
  position: static !important;
  transform: none !important;
}

.final-cta .wrap > .reveal > .eyebrow,
.final-cta .wrap > .reveal > p,
.final-cta .wrap > .reveal > .final-form {
  align-self: center !important;
  text-align: center !important;
}

@media (max-width: 700px) {
  .final-cta .wrap > .reveal > .h-serif {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
}

/* ---------- simplified contact footer ---------- */
.site-footer{
  background:#111;
  color:rgba(250,245,238,.78);
  padding:3.2rem 0;
}
.footer-contact-wrap{width:100%;}
.footer-contact{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  align-items:center;
  gap:3rem;
}
.footer-brand{display:flex;align-items:center;}
.footer-contact .foot-logo{
  font-family:'Lora',serif;
  letter-spacing:.06em;
  font-size:1.45rem;
  color:var(--paper);
  margin:0;
}
.footer-address,
.footer-details{
  font-family:'Quiche Sans',sans-serif;
  font-size:.82rem;
  line-height:1.65;
  color:rgba(250,245,238,.68);
}
.footer-details{display:flex;flex-direction:column;gap:.2rem;}
.footer-details a{color:rgba(250,245,238,.72);}
.footer-details a:hover{color:var(--paper);}
.footer-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#25D366;
  color:#fff;
  font-family:'Quiche Sans',sans-serif;
  font-size:.85rem;
  font-weight:700;
  text-decoration:none;
  z-index:250;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  transition:transform .2s ease;
}
.footer-whatsapp:hover{transform:translateY(-2px);color:#fff;}

@media(max-width:760px){
  .site-footer{padding:2.5rem 0 5rem;}
  .footer-contact{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .footer-whatsapp{
    width:54px;
    height:54px;
    right:16px;
    bottom:76px;
  }
}

/* Luxelan thought section: left-aligned copy with video placeholder */
.clientele .clientele-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
}

.clientele .clientele-copy {
  max-width: 660px;
  text-align: left;
}

.clientele .clientele-copy .lede {
  max-width: 62ch;
}

.clientele .clientele-video {
  width: 100%;
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(250,245,238,.18);
  background:
    radial-gradient(circle at 50% 45%, rgba(201,121,63,.16), transparent 38%),
    linear-gradient(135deg, rgba(250,245,238,.055), rgba(250,245,238,.015));
  clip-path: none;
}

.clientele-video-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  color: rgba(250,245,238,.58);
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.clientele-video-play {
  width: 54px;
  height: 54px;
  border: 1px solid var(--copper);
  border-radius: 50%;
  position: relative;
}

.clientele-video-play::after {
  content: "";
  position: absolute;
  left: 21px;
  top: 16px;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid var(--copper);
}

.clientele-video iframe,
.clientele-video video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

@media (max-width: 900px) {
  .clientele .clientele-layout {
    grid-template-columns: 1fr;
    gap: 2.6rem;
  }
  .clientele .clientele-copy {
    max-width: 100%;
  }
}

@media (max-width: 760px) {
  .clientele .clientele-video {
    clip-path: none;
  }
}


/* ClearSight branded logo */
.cs-logo-title{max-width:none !important;line-height:0 !important;margin:0 !important;}
.cs-logo-title img{display:block;width:min(100%,390px);height:auto;max-height:120px;object-fit:contain;object-position:left center;}
@media(max-width:900px){.cs-logo-title img{width:min(100%,340px);max-height:105px;}}


/* Luxélan footer brand logo */
.footer-brand .foot-logo {
  display: block;
  width: 150px;
  height: auto;
  max-width: 100%;
  margin: 0;
  object-fit: contain;
  object-position: left center;
}



/* Footer legal policy links */
.footer-legal{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2.5rem;
  margin-top:2.6rem;
  padding-top:1.35rem;
  border-top:1px solid rgba(250,245,238,.24);
  font-family:'Quiche Sans',sans-serif;
  font-size:.82rem;
}
.footer-legal a{
  color:rgba(250,245,238,.78);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:color .2s ease;
}
.footer-legal a:hover{
  color:var(--paper);
}
@media(max-width:760px){
  .footer-legal{
    justify-content:flex-start;
    gap:1.5rem;
    flex-wrap:wrap;
    margin-top:2rem;
  }
}

