/* ============================================================
   Blaine Robert Design — Dubai homepage
   Design tokens
   ============================================================ */
:root{
  --ink:#15130f;
  --ink-2:#1e1b16;
  --ink-3:#26221b;
  --cream:#f6f4ef;
  --cream-2:#efece2;
  --gold:#c9a35c;
  --gold-soft:#dcc38c;
  --gold-deep:#a9822f;
  --text-dark:#232019;
  --text-muted:#6f6a5e;
  --text-light:#f4f1e9;
  --text-light-muted:#c9c3b3;
  --rule:rgba(21,19,15,.14);
  --rule-light:rgba(244,241,233,.16);
  --container:1280px;
  --gutter:clamp(20px,5vw,64px);
  --serif:"Playfair Display", Georgia, "Times New Roman", serif;
  --sans:"Jost", "Helvetica Neue", Arial, sans-serif;
  --body:"Inter", "Helvetica Neue", Arial, sans-serif;
  --script:"Dancing Script", cursive;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  font-family:var(--body);
  background:var(--cream);
  color:var(--text-dark);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.6;
}

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
ul{margin:0; padding:0; list-style:none;}
h1,h2,h3,h4{margin:0; font-family:var(--serif); font-weight:600; color:inherit;}
p{margin:0;}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
}

.eyebrow{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  font-weight:500;
  color:var(--gold);
}

.rule{
  border:none;
  border-top:1px solid var(--rule);
}
.rule-light{
  border:none;
  border-top:1px solid var(--rule-light);
}

/* Visible focus state everywhere */
a:focus-visible,
button:focus-visible,
summary:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}

/* Reveal-on-scroll utility */
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

/* ============================================================
   Buttons
   ============================================================ */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.82rem;
  font-weight:500;
  padding:1.05em 1.9em;
  border-radius:2px;
  border:1px solid transparent;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-1px); }

.btn-solid-dark{
  background:var(--ink);
  color:var(--text-light);
  border-color:var(--ink);
}
.btn-solid-dark:hover{
  background:var(--ink-3);
}

.btn-outline-light{
  background:transparent;
  color:var(--text-light);
  border-color:rgba(244,241,233,.55);
}
.btn-outline-light:hover{
  background:rgba(244,241,233,.1);
  border-color:var(--text-light);
}

.btn-outline-dark{
  background:transparent;
  color:var(--ink);
  border-color:rgba(21,19,15,.35);
}
.btn-outline-dark:hover{
  background:rgba(21,19,15,.06);
  border-color:var(--ink);
}

.dot-live{
  width:8px; height:8px; border-radius:50%;
  background:#3fbf6f;
  box-shadow:0 0 0 0 rgba(63,191,111,.6);
  animation:pulse 2.2s infinite;
  flex:none;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(63,191,111,.55); }
  70%{ box-shadow:0 0 0 8px rgba(63,191,111,0); }
  100%{ box-shadow:0 0 0 0 rgba(63,191,111,0); }
}

/* ============================================================
   Header
   ============================================================ */
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  padding:22px 0;
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background:rgba(21,19,15,.92);
  backdrop-filter:blur(10px);
  padding:14px 0;
  border-color:rgba(244,241,233,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:var(--serif);
  font-size:1.18rem;
  letter-spacing:.03em;
  color:var(--text-light);
  white-space:nowrap;
}
.brand img{ height:34px; width:auto; filter:brightness(0) invert(1); }

.main-nav{
  display:flex;
  align-items:center;
  gap:38px;
}
.main-nav > ul{
  display:flex;
  align-items:center;
  gap:34px;
}
.main-nav a.nav-link{
  font-family:var(--sans);
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--text-light);
  opacity:.9;
  position:relative;
  padding:6px 0;
}
.main-nav a.nav-link::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s var(--ease);
}
.main-nav a.nav-link:hover{ opacity:1; }
.main-nav a.nav-link:hover::after{ transform:scaleX(1); }

.has-dropdown{ position:relative; }
.dropdown{
  position:absolute;
  top:calc(100% + 18px);
  left:50%;
  transform:translateX(-50%) translateY(6px);
  min-width:240px;
  background:var(--ink-2);
  border:1px solid rgba(244,241,233,.1);
  border-radius:4px;
  padding:10px;
  opacity:0;
  visibility:hidden;
  transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  box-shadow:0 20px 40px rgba(0,0,0,.35);
}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.dropdown a{
  display:block;
  padding:10px 14px;
  font-family:var(--sans);
  font-size:.82rem;
  letter-spacing:.04em;
  color:var(--text-light-muted);
  border-radius:3px;
  text-transform:none;
}
.dropdown a:hover{
  background:rgba(244,241,233,.06);
  color:var(--text-light);
}

.header-cta{ display:flex; align-items:center; gap:18px; }
.header-cta .btn{ padding:.9em 1.6em; }

.nav-toggle{
  display:none;
  background:none;
  border:1px solid rgba(244,241,233,.4);
  color:var(--text-light);
  width:42px; height:42px;
  border-radius:2px;
  align-items:center;
  justify-content:center;
}
.nav-toggle svg{ width:18px; height:18px; }

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  color:var(--text-light);
  overflow:hidden;
  padding-top:140px;
}
.hero__bg{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero__bg img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:62% 42%;
}
.hero__bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(10,9,7,.55) 0%, rgba(10,9,7,.15) 30%, rgba(10,9,7,.35) 62%, rgba(8,7,5,.92) 100%),
    linear-gradient(90deg, rgba(8,7,5,.55) 0%, rgba(8,7,5,.1) 45%, rgba(8,7,5,.1) 100%);
}
.hero .container{
  padding-left:clamp(60px, 9vw, 170px);
}
.hero__content{
  position:relative;
  z-index:1;
  max-width:920px;
  margin-left:0;
  margin-right:auto;
  padding-bottom:96px;
}
.hero__eyebrow{
  margin-bottom:22px;
  display:inline-block;
  text-shadow:0 0 10px rgba(220,195,140,.75), 0 0 26px rgba(220,195,140,.4), 0 0 46px rgba(220,195,140,.2);
  color:var(--gold-soft);
  animation:eyebrowGlow 3.6s ease-in-out infinite;
}
@keyframes eyebrowGlow{
  0%, 100%{ text-shadow:0 0 10px rgba(220,195,140,.75), 0 0 26px rgba(220,195,140,.4), 0 0 46px rgba(220,195,140,.2); }
  50%{ text-shadow:0 0 14px rgba(220,195,140,.95), 0 0 34px rgba(220,195,140,.55), 0 0 60px rgba(220,195,140,.3); }
}
.hero h1{
  font-size:clamp(2.2rem, 3.6vw, 3.15rem);
  line-height:1.16;
  font-weight:600;
  margin-bottom:26px;
  letter-spacing:.005em;
}
.hero p.lede{
  font-family:var(--body);
  font-size:1.08rem;
  line-height:1.7;
  color:var(--text-light-muted);
  max-width:620px;
  margin-bottom:40px;
}
.hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.scroll-cue{
  position:absolute;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  z-index:1;
  width:1px;
  height:52px;
  background:linear-gradient(180deg, rgba(244,241,233,0), rgba(244,241,233,.7));
}
.scroll-cue::after{
  content:"";
  position:absolute;
  left:50%; top:0;
  width:5px; height:5px;
  margin-left:-2px;
  background:var(--gold);
  border-radius:50%;
  animation:scrollDot 2.4s infinite;
}
@keyframes scrollDot{
  0%{ top:0; opacity:0; }
  20%{ opacity:1; }
  80%{ opacity:1; }
  100%{ top:100%; opacity:0; }
}

/* ============================================================
   Trust strip
   ============================================================ */
.trust{
  background:var(--ink);
  padding:56px 0;
}
.trust__panel{
  border:1px solid rgba(201,163,92,.4);
  border-radius:10px;
  padding:40px clamp(20px,4vw,56px);
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:clamp(16px,3vw,40px);
  align-items:center;
}
.trust__item{
  display:flex;
  flex-direction:column;
  gap:6px;
  text-align:center;
}
.trust__top{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.trust__top svg, .trust__top img{ width:34px; height:34px; flex:none; }
.trust__number{
  font-family:var(--serif);
  font-size:2.1rem;
  color:var(--gold-soft);
  line-height:1;
}
.trust__stars{
  display:flex;
  gap:3px;
  justify-content:center;
  color:var(--gold);
}
.trust__stars svg{ width:15px; height:15px; }
.trust__label{
  font-family:var(--body);
  font-size:.98rem;
  color:var(--text-light);
  font-weight:600;
}
.trust__sub{
  font-family:var(--body);
  font-size:.86rem;
  color:var(--text-light-muted);
}
.trust__divider{
  width:1px;
  align-self:stretch;
  background:rgba(244,241,233,.16);
}

@media (max-width: 860px){
  .trust__panel{
    grid-template-columns:1fr;
    gap:28px;
  }
  .trust__divider{
    width:100%; height:1px;
  }
}

/* ============================================================
   Founder
   ============================================================ */
.founder{
  background:var(--cream);
  color:var(--text-dark);
  padding:clamp(70px,10vw,130px) 0;
}
.founder__grid{
  display:grid;
  grid-template-columns:0.86fr 1.14fr;
  gap:clamp(36px,6vw,90px);
  align-items:center;
}
.founder__grid--top{
  align-items:start;
}
.founder__photo{
  border:1px solid rgba(201,163,92,.5);
  border-radius:12px;
  padding:16px;
  aspect-ratio:3/4;
  background:var(--ink);
  align-self:start;
}
.founder__photo-inner{
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:6px;
}
.founder__photo-inner img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 15%;
  display:block;
}
.founder__photo-inner--contain{
  background:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
}
.founder__photo-inner--contain img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.founder__eyebrow{ margin-bottom:18px; }
.founder h2{
  font-size:clamp(2.2rem, 4vw, 3.2rem);
  margin-bottom:24px;
}
.founder p.bio{
  font-family:var(--body);
  color:var(--text-muted);
  font-size:1.02rem;
  line-height:1.85;
  max-width:560px;
  margin-bottom:38px;
}
.founder__sig-img{
  width:300px;
  height:auto;
  display:block;
}

@media (max-width: 860px){
  .founder__grid{
    grid-template-columns:1fr;
  }
  .founder__photo{ max-width:360px; margin:0 auto; }
}

/* ============================================================
   Process (Vision / Design / Realisation)
   ============================================================ */
.process{
  background:var(--cream);
  padding:clamp(70px,9vw,120px) 0 60px;
}
.process__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(24px,4vw,48px);
}
.process__item{
  border-top:1px solid var(--rule);
  padding-top:22px;
}
.process__num{
  font-family:var(--serif);
  color:var(--gold-deep);
  font-size:1.1rem;
  margin-bottom:14px;
  display:block;
}
.process__item h3{
  font-size:1.5rem;
  margin-bottom:14px;
}
.process__item p{
  color:var(--text-muted);
  font-size:.98rem;
  line-height:1.75;
}

@media (max-width: 760px){
  .process__grid{ grid-template-columns:1fr; }
}

/* ============================================================
   Selected work / Portfolio grid
   ============================================================ */
.work{
  background:var(--cream);
  padding:60px 0 clamp(70px,9vw,120px);
}
.work__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:48px;
  flex-wrap:wrap;
}
.work__head h2{
  font-size:clamp(2rem, 3.6vw, 2.9rem);
  margin-top:14px;
  max-width:560px;
}
.work__link{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.84rem;
  color:var(--ink);
  border-bottom:1px solid var(--ink);
  padding-bottom:4px;
  white-space:nowrap;
}
.work__link:hover{ color:var(--gold-deep); border-color:var(--gold-deep); }

.work__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:28px;
}
.work__card{
  display:block;
  background:#fff;
  border:1px solid var(--rule);
  overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.work__card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 46px rgba(21,19,15,.14);
}
.work__thumb{
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--cream-2);
}
.work__thumb img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease);
}
.work__card:hover .work__thumb img{ transform:scale(1.06); }
.work__meta{
  padding:20px 22px 24px;
}
.work__meta h3{
  font-size:1.25rem;
  margin-bottom:8px;
}
.work__meta span{
  font-family:var(--sans);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--text-muted);
}
.work__foot{
  margin-top:44px;
}

/* ============================================================
   The measure of bespoke (now with photographic background)
   ============================================================ */
.bespoke{
  position:relative;
  color:var(--text-light);
  overflow:hidden;
}
.bespoke__bg{
  position:absolute; inset:0; z-index:0;
}
.bespoke__bg img{
  width:100%; height:100%; object-fit:cover; object-position:center 62%;
}
.bespoke__bg::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,10,8,.86) 0%, rgba(12,10,8,.82) 55%, rgba(12,10,8,.94) 100%);
}
.bespoke__content{
  position:relative; z-index:1;
  padding:clamp(80px,11vw,150px) 0 clamp(70px,9vw,120px);
}
.bespoke__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(32px,6vw,80px);
}
.bespoke__eyebrow{ margin-bottom:20px; }
.bespoke h2{
  font-size:clamp(1.9rem, 3.6vw, 2.7rem);
  line-height:1.2;
}
.bespoke__points p{
  font-family:var(--body);
  color:var(--text-light-muted);
  font-size:.98rem;
  line-height:1.8;
  margin-bottom:26px;
}
.bespoke__points p:last-child{ margin-bottom:0; }
.bespoke__points strong{
  color:var(--text-light);
  font-family:var(--sans);
  font-weight:600;
  letter-spacing:.01em;
}

.credentials{
  position:relative; z-index:1;
  border-top:1px solid rgba(244,241,233,.18);
  border-bottom:1px solid rgba(244,241,233,.18);
}
.credentials .container{
  padding:26px var(--gutter);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:14px 34px;
  font-family:var(--sans);
  font-size:.84rem;
  letter-spacing:.04em;
  color:var(--text-light-muted);
  text-align:center;
}
.credentials strong{ color:var(--gold-soft); }
.credentials .sep{ opacity:.35; }

.testimonial{
  position:relative; z-index:1;
  background:var(--ink-2);
  padding:clamp(70px,9vw,120px) 0;
  text-align:center;
}
.testimonial blockquote{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(1.35rem, 2.6vw, 1.9rem);
  line-height:1.55;
  color:var(--text-light);
  max-width:820px;
  margin:0 auto 26px;
}
.testimonial cite{
  font-style:normal;
  font-family:var(--sans);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.8rem;
  color:var(--gold-soft);
}

/* ============================================================
   FAQ
   ============================================================ */
/* ============================================================
   Featured Social Reels
   ============================================================ */
/* ============================================================
   Inline CTA banner (mid-page conversion prompts)
   ============================================================ */
.inline-cta{
  background:#fff;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:clamp(28px,4vw,40px) 0;
}
.inline-cta__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.inline-cta p{
  font-family:var(--serif);
  font-size:clamp(1.05rem,1.8vw,1.3rem);
  color:var(--text-dark);
  margin:0;
  max-width:620px;
}
.inline-cta .btn{ flex-shrink:0; }
@media (max-width:600px){
  .inline-cta__inner{ flex-direction:column; align-items:flex-start; text-align:left; }
}

.reels{
  background:var(--cream);
  padding:clamp(70px,9vw,120px) 0;
}
.reels__head{
  text-align:center;
  max-width:640px;
  margin:0 auto 48px;
}
.reels__head h2{
  margin-top:12px;
  font-size:clamp(1.8rem,3.2vw,2.4rem);
}
.reels__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  max-width:920px;
  margin:0 auto;
}
.reels__item{
  background:#fff;
  border:1px solid var(--rule);
  border-radius:8px;
  overflow:hidden;
  padding:10px 10px 18px;
}
.reels__item video{
  width:100%;
  display:block;
  border-radius:4px;
  background:var(--ink);
}
.reels__caption{
  margin:14px 4px 0;
  font-family:var(--sans);
  font-size:.85rem;
  color:var(--text-muted);
  text-align:center;
}
@media (max-width:760px){
  .reels__grid{ grid-template-columns:1fr; max-width:420px; }
}

.faq{
  background:var(--cream);
  padding:clamp(70px,9vw,120px) 0;
}
.faq__head{ max-width:640px; margin-bottom:52px; }
.faq__head h2{ font-size:clamp(2rem,3.6vw,2.8rem); margin-top:14px; }
.faq__list{ max-width:900px; }
.faq__item{
  border-top:1px solid var(--rule);
}
.faq__item:last-child{ border-bottom:1px solid var(--rule); }
.faq__item summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:26px 0;
  font-family:var(--serif);
  font-size:1.18rem;
  color:var(--ink);
}
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__icon{
  position:relative;
  width:20px; height:20px;
  flex:none;
}
.faq__icon::before, .faq__icon::after{
  content:"";
  position:absolute;
  background:var(--ink);
  transition:transform .3s var(--ease), opacity .3s var(--ease);
}
.faq__icon::before{ top:50%; left:0; right:0; height:1px; transform:translateY(-50%); }
.faq__icon::after{ left:50%; top:0; bottom:0; width:1px; transform:translateX(-50%); }
details[open] .faq__icon::after{ opacity:0; transform:translateX(-50%) rotate(90deg); }
.faq__item p{
  color:var(--text-muted);
  font-size:.98rem;
  line-height:1.8;
  padding:0 0 30px;
  max-width:760px;
}

/* ============================================================
   Final CTA
   ============================================================ */
.cta{
  background:var(--ink);
  color:var(--text-light);
  padding:clamp(80px,10vw,140px) 0;
  text-align:center;
}
.cta__crest{
  width:52px; height:auto;
  margin:0 auto 28px;
  opacity:.9;
}
.cta__eyebrow{ margin-bottom:20px; }
.cta h2{
  font-size:clamp(2rem, 4vw, 3rem);
  max-width:680px;
  margin:0 auto 20px;
}
.cta p{
  color:var(--text-light-muted);
  max-width:520px;
  margin:0 auto 40px;
  font-size:1.02rem;
}
.cta__actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{
  background:var(--ink-2);
  color:var(--text-light-muted);
  padding:clamp(60px,7vw,90px) 0 0;
}
.footer__top{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1.2fr;
  gap:clamp(30px,4vw,60px);
  padding-bottom:56px;
  border-bottom:1px solid rgba(244,241,233,.1);
}
.footer__brand img{ width:80px; height:auto; margin-bottom:18px; }
.footer__brand p{
  font-size:.92rem;
  line-height:1.75;
  max-width:280px;
}
.footer h4{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.78rem;
  color:var(--text-light);
  margin-bottom:20px;
}
.footer__col ul{ display:flex; flex-direction:column; gap:12px; }
.footer__col a, .footer__col span{
  font-size:.92rem;
}
.footer__col li a[href^="tel:"]{ white-space:nowrap; }
.footer__col a:hover{ color:var(--gold-soft); }
.footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding:26px 0;
  font-size:.82rem;
}
.footer__bottom a:hover{ color:var(--gold-soft); }

.mobile-bar{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:90;
  display:none;
  background:var(--ink);
  border-top:1px solid rgba(244,241,233,.14);
}
.mobile-bar ul{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.mobile-bar a{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:12px 6px 14px;
  font-family:var(--sans);
  font-size:.68rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-light);
  text-align:center;
}
.mobile-bar svg{ width:18px; height:18px; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 980px){
  .main-nav{ display:none; }
  .nav-toggle{ display:flex; }
  .header-cta .btn{ display:none; }
  .hero{ padding-top:120px; }
  .bespoke__grid{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr 1fr; }
  .mobile-bar{ display:block; }
  body{ padding-bottom:64px; }
}

@media (max-width: 640px){
  .hero__actions .btn{ width:100%; justify-content:center; }
  .hero__actions{ flex-direction:column; }
  .work__head{ flex-direction:column; align-items:flex-start; }
  .footer__top{ grid-template-columns:1fr; }
  .hero .container{ padding-left:24px; padding-right:24px; } .hero{ min-height:100vh; } .hero__bg img{ object-position:50% 38%; }
  .hero__eyebrow{
    font-size:.68rem;
    letter-spacing:.08em;
    white-space:nowrap;
  }
  .hero h1{
    font-size:1.7rem;
    line-height:1.22;
    margin-bottom:18px;
  }
  .hero p.lede{
    font-size:.88rem;
    line-height:1.65;
    margin-bottom:28px;
  }
}

/* Mobile off-canvas nav */
.mobile-nav{
  position:fixed;
  inset:0;
  z-index:99;
  background:var(--ink);
  display:flex;
  flex-direction:column;
  padding:110px 32px 40px;
  transform:translateX(100%);
  transition:transform .45s var(--ease);
}
.mobile-nav.is-open{ transform:translateX(0); }
.mobile-nav ul{ display:flex; flex-direction:column; gap:8px; }
.mobile-nav a{
  font-family:var(--serif);
  font-size:1.6rem;
  color:var(--text-light);
  padding:14px 0;
  border-bottom:1px solid rgba(244,241,233,.1);
}
.mobile-nav-close{
  position:absolute;
  top:26px; right:26px;
  background:none;
  border:1px solid rgba(244,241,233,.4);
  color:var(--text-light);
  width:42px; height:42px;
  border-radius:2px;
  display:flex; align-items:center; justify-content:center;
}

/* ============================================================
   Portfolio — page banner + breadcrumb (shared by index & detail)
   ============================================================ */
.page-banner{
  background:var(--ink);
  color:var(--text-light);
  padding:150px 0 56px;
}
.breadcrumb{
  font-family:var(--sans);
  font-size:.8rem;
  letter-spacing:.03em;
  color:var(--text-light-muted);
  margin-bottom:22px;
}
.breadcrumb a{ color:var(--text-light-muted); }
.breadcrumb a:hover{ color:var(--gold-soft); }
.page-banner .eyebrow{ margin-bottom:16px; }
.page-banner h1{
  font-size:clamp(2rem, 4vw, 3rem);
  max-width:700px;
}
.page-banner p.lede{
  font-family:var(--body);
  color:var(--text-light-muted);
  max-width:640px;
  margin-top:20px;
  font-size:1.02rem;
  line-height:1.75;
}

/* ============================================================
   Portfolio index grid
   ============================================================ */
.portfolio-grid-section{
  background:var(--cream);
  padding:70px 0 clamp(70px,9vw,120px);
}
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:30px;
}
.portfolio-card{
  display:block;
  background:#fff;
  border:1px solid var(--rule);
  overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.portfolio-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 46px rgba(21,19,15,.14);
}
.portfolio-card__thumb{
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--cream-2);
}
.portfolio-card__thumb img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease);
}
.portfolio-card:hover .portfolio-card__thumb img{ transform:scale(1.06); }
.portfolio-card__meta{ padding:22px 24px 26px; }
.portfolio-card__meta h3{ font-size:1.3rem; margin-bottom:8px; }
.portfolio-card__meta span{
  font-family:var(--sans);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--text-muted);
}

/* ============================================================
   Project detail page
   ============================================================ */
.project-meta{
  display:flex;
  flex-wrap:wrap;
  gap:36px;
  margin-top:32px;
  padding-top:28px;
  border-top:1px solid rgba(244,241,233,.18);
}
.project-meta__item{ display:flex; flex-direction:column; gap:6px; }
.project-meta__item span:first-child{
  font-family:var(--sans);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--gold-soft);
}
.project-meta__item span:last-child{
  font-family:var(--body);
  font-size:.95rem;
  color:var(--text-light);
}

.project-cover{
  background:var(--cream);
  padding:32px 0 0;
}
.project-cover .container{
  max-width:1100px;
}
.project-cover a{
  display:block;
  cursor:zoom-in;
  border-radius:4px;
  overflow:hidden;
}
.project-cover img{
  width:100%;
  max-height:560px;
  object-fit:cover;
  display:block;
}

.project-intro{
  background:var(--cream);
  padding:clamp(56px,8vw,90px) 0 20px;
}
.project-intro__inner{ max-width:820px; }
.project-intro h2{
  font-size:clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom:24px;
  line-height:1.3;
}
.project-intro p{
  font-family:var(--body);
  color:var(--text-muted);
  font-size:1.02rem;
  line-height:1.85;
  margin-bottom:22px;
}
.project-intro p:last-child{ margin-bottom:0; }

.project-gallery{
  background:var(--cream);
  padding:36px 0 clamp(70px,9vw,110px);
}
.project-gallery__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:18px;
}
.project-gallery__grid img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:2px;
  display:block;
  transition:transform .5s var(--ease);
}
.project-gallery__grid a{ overflow:hidden; display:block; border-radius:2px; cursor:zoom-in; }
.project-gallery__grid a:hover img{ transform:scale(1.04); }

/* ============================================================
   Lightbox (click a project photo to enlarge, instead of new tab)
   ============================================================ */
.lightbox{
  position:fixed;
  inset:0;
  z-index:200;
  background:rgba(10,9,7,.94);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5vh 5vw;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s var(--ease), visibility .3s;
}
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox img{
  max-width:100%;
  max-height:90vh;
  object-fit:contain;
  border-radius:2px;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.lightbox__close{
  position:absolute;
  top:24px; right:24px;
  width:44px; height:44px;
  border:1px solid rgba(244,241,233,.4);
  background:rgba(21,19,15,.5);
  color:var(--text-light);
  border-radius:2px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.lightbox__close:hover{ border-color:var(--gold-soft); color:var(--gold-soft); }

/* ============================================================
   Matterport 3D tour embed (project detail pages)
   ============================================================ */
.matterport-section{ background:var(--cream); padding:0 0 clamp(56px,7vw,90px); }
.matterport-embed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border:1px solid var(--rule);
  border-radius:4px;
  overflow:hidden;
  background:var(--cream-2);
}
.matterport-embed iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:0;
}
.matterport-label{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  color:var(--gold-deep);
  margin-bottom:16px;
  display:block;
}

.project-pagenav{
  background:var(--ink);
  padding:26px 0;
}
.project-pagenav .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  font-family:var(--sans);
  font-size:.82rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.project-pagenav a{
  color:var(--text-light-muted);
  transition:color .25s var(--ease);
}
.project-pagenav a:hover{ color:var(--gold-soft); }
.project-pagenav .all-link{ color:var(--gold-soft); }

@media (max-width: 640px){
  .page-banner{ padding-top:120px; }
  .project-meta{ gap:22px; }
}

/* ============================================================
   Photo hero banner (Services index, Villa page) — full-bleed image
   with dark overlay, reusing the same visual language as the homepage hero
   ============================================================ */
.photo-hero{
  position:relative;
  color:var(--text-light);
  overflow:hidden;
  min-height:64vh;
  display:flex;
  align-items:flex-end;
  padding-top:140px;
}
.photo-hero__bg{ position:absolute; inset:0; z-index:0; }
.photo-hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.photo-hero__bg::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(10,9,7,.55) 0%, rgba(10,9,7,.2) 30%, rgba(10,9,7,.4) 62%, rgba(8,7,5,.92) 100%),
    linear-gradient(90deg, rgba(8,7,5,.5) 0%, rgba(8,7,5,.05) 45%, rgba(8,7,5,.05) 100%);
}
.photo-hero__content{ position:relative; z-index:1; max-width:760px; padding-bottom:80px; }
.photo-hero__eyebrow{ margin-bottom:20px; }
.photo-hero h1{
  font-size:clamp(2.1rem, 4.6vw, 3.6rem);
  line-height:1.15;
  margin-bottom:18px;
}
.photo-hero__sub{
  font-family:var(--sans);
  color:var(--gold-soft);
  font-size:1.05rem;
  letter-spacing:.02em;
  margin-bottom:18px;
  display:block;
}
.photo-hero p.lede{
  font-family:var(--body);
  color:var(--text-light-muted);
  max-width:600px;
  font-size:1.02rem;
  line-height:1.75;
}

/* Simple full-width photo band (used mid-page, e.g. Villa page below the banner) */
.photo-band{ background:var(--cream); }
.photo-band img{ width:100%; max-height:520px; object-fit:cover; display:block; }

/* ============================================================
   Services grid (3 bordered cards with icon + number)
   ============================================================ */
.services-grid-section{
  background:var(--cream);
  padding:clamp(70px,9vw,120px) 0;
}
.services-grid-section__head{ text-align:center; max-width:640px; margin:0 auto 50px; }
.services-grid-section__head .eyebrow{ display:block; margin-bottom:14px; }
.services-grid-section__head h2{ font-size:clamp(1.8rem, 3.2vw, 2.4rem); }
.service-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:26px;
}
.service-card{
  border:1px solid var(--rule);
  padding:36px 30px 32px;
  background:#fff;
}
.service-card__icon{
  width:44px; height:44px;
  color:var(--gold-deep);
  margin-bottom:22px;
}
.service-card__icon svg{ width:100%; height:100%; }
.service-card__num{
  font-family:var(--serif);
  color:var(--gold-deep);
  font-size:.95rem;
  display:block;
  margin-bottom:8px;
}
.service-card h3{ font-size:1.3rem; margin-bottom:14px; }
.service-card p{
  color:var(--text-muted);
  font-size:.95rem;
  line-height:1.75;
  margin-bottom:20px;
}
.service-card a{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.78rem;
  color:var(--gold-deep);
  border-bottom:1px solid rgba(169,130,47,.4);
  padding-bottom:3px;
}
.service-card a:hover{ color:var(--ink); border-color:var(--ink); }

@media (max-width:860px){ .service-cards{ grid-template-columns:1fr; } }

/* ============================================================
   Spaces We Design — 6-image labelled grid
   ============================================================ */
.spaces-section{ background:var(--cream); padding:0 0 clamp(70px,9vw,120px); }
.spaces-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(220px, 300px));
  gap:4px;
  justify-content:center;
}
.spaces-grid a{
  position:relative;
  display:block;
  aspect-ratio:3/4;
  overflow:hidden;
}
.spaces-grid img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s var(--ease);
}
.spaces-grid a:hover img{ transform:scale(1.06); }
.spaces-grid a::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(10,9,7,.85) 100%);
}
.spaces-grid span{
  position:absolute;
  left:12px; bottom:12px;
  z-index:1;
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.7rem;
  color:var(--gold-soft);
  font-weight:600;
}
@media (max-width:860px){ .spaces-grid{ grid-template-columns:repeat(3, minmax(160px, 220px)); } }
@media (max-width:500px){ .spaces-grid{ grid-template-columns:repeat(2, minmax(140px, 1fr)); justify-content:stretch; } }

/* ============================================================
   Founder quote (dark split section — photo + pull-quote)
   ============================================================ */
.founder-quote__text{
  border-left:1px solid rgba(244,241,233,.25);
  padding-left:34px;
}
.founder-quote__text p{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(1.2rem, 2.2vw, 1.5rem);
  line-height:1.6;
  color:var(--text-light);
}
@media (max-width:640px){
  .founder-quote__text{ border-left:none; padding-left:0; margin-top:26px; }
}

/* Pill-shaped gold CTA button (Services page reference) */
.btn-pill-gold{
  background:var(--gold);
  color:var(--ink);
  border-color:var(--gold);
  border-radius:999px;
  font-weight:600;
}
.btn-pill-gold:hover{ background:var(--gold-soft); border-color:var(--gold-soft); }

/* ============================================================
   Generic content section (Villa / About body copy blocks)
   ============================================================ */
.content-section{ background:var(--cream); padding:56px 0; }
.content-section__inner{ max-width:820px; }
.content-section h2{ font-size:clamp(1.6rem, 3vw, 2.2rem); margin-bottom:22px; }
.content-section p{
  font-family:var(--body);
  color:var(--text-muted);
  font-size:1.02rem;
  line-height:1.85;
  margin-bottom:20px;
}
.content-section p:last-child{ margin-bottom:0; }
.content-section ul.feature-list{ margin-top:24px; }
.content-section ul.feature-list li{
  font-family:var(--body);
  color:var(--text-muted);
  font-size:.98rem;
  line-height:1.8;
  padding:16px 0;
  border-top:1px solid var(--rule);
}
.content-section ul.feature-list li:last-child{ border-bottom:1px solid var(--rule); }
.content-section ul.feature-list strong{ color:var(--text-dark); font-family:var(--sans); }

.stat-strip{
  background:var(--ink);
  color:var(--text-light);
  padding:30px 0;
  text-align:center;
}
.stat-strip .container{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 30px;
  font-family:var(--sans); font-size:.88rem; letter-spacing:.03em; color:var(--text-light-muted);
}
.stat-strip strong{ color:var(--gold-soft); }
.stat-strip .sep{ opacity:.35; }

/* ============================================================
   Founder panel (Services page) — bordered box matching reference:
   photo + signature + quote + button, all inside one gold-outlined frame
   ============================================================ */
.founder-panel{ background:var(--ink); padding:clamp(60px,8vw,100px) 0; }
.founder-panel__box{
  border:1px solid rgba(201,163,92,.45);
  border-radius:14px;
  padding:clamp(22px,4vw,48px);
}
.founder-panel__grid{
  display:grid;
  grid-template-columns:0.8fr 1.2fr;
  gap:clamp(30px,5vw,70px);
  align-items:center;
}
.founder-panel__photo{
  border:1px solid rgba(201,163,92,.4);
  border-radius:8px;
  overflow:hidden;
  aspect-ratio:3/4;
}
.founder-panel__photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 15%;
  display:block;
}
.founder-panel__sig{ width:200px; height:auto; margin-bottom:24px; display:block; }
.founder-panel__quote{
  font-family:var(--serif);
  font-style:italic;
  color:var(--text-light);
  font-size:clamp(1.25rem, 2.3vw, 1.65rem);
  line-height:1.5;
  margin-bottom:26px;
}
.founder-panel__rule{ width:50px; height:1px; background:rgba(201,163,92,.55); margin-bottom:28px; }

@media (max-width:760px){
  .founder-panel__grid{ grid-template-columns:1fr; }
  .founder-panel__photo{ max-width:280px; margin:0 auto; }
  .founder-panel__grid > div:last-child{ min-width:0; }
  .founder-panel .btn{ white-space:normal; width:100%; text-align:center; justify-content:center; }
}
.contact-section{ background:var(--cream); padding:56px 0 clamp(70px,9vw,110px); }
.contact-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:60px;
  align-items:start;
}
.contact-form{ display:flex; flex-direction:column; gap:16px; }
.contact-form label{
  font-family:var(--sans);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--text-muted);
  display:block;
  margin-bottom:6px;
}
.contact-form input, .contact-form textarea{
  width:100%;
  font-family:var(--body);
  font-size:.98rem;
  padding:12px 14px;
  border:1px solid var(--rule);
  border-radius:2px;
  background:#fff;
  color:var(--text-dark);
}
.contact-form textarea{ min-height:110px; resize:vertical; }
.contact-form .btn{ align-self:flex-start; margin-top:8px; }
.contact-form small{ color:var(--text-muted); font-size:.82rem; }

.contact-direct h4{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  color:var(--text-muted);
  margin:26px 0 6px;
}
.contact-direct h4:first-child{ margin-top:0; }
.contact-direct p, .contact-direct a{
  font-family:var(--body);
  font-size:1rem;
  color:var(--text-dark);
}
.contact-direct a:hover{ color:var(--gold-deep); }

@media (max-width:860px){
  .contact-grid{ grid-template-columns:1fr; }
}



/* Founder's Story split layout (About page) */
.content-section__inner--split{
  max-width:1180px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.content-section__inner--split .content-section__text p:last-child{ margin-bottom:0; }
.content-section__photos{ display:flex; align-items:flex-start; gap:20px; min-width:0; }
.content-section__photos img{
  width:50%;
  max-width:340px;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center 20%;
  border-radius:2px;
  display:block;
}
.content-section__photos img:nth-child(2){ margin-top:56px; }
@media (max-width:980px){
  .content-section__inner--split{ grid-template-columns:1fr; gap:28px; }
  .content-section__photos{ justify-content:center; max-width:640px; margin:0 auto; }
  .content-section__photos img{ max-width:320px; }
  .content-section__photos img:nth-child(2){ margin-top:48px; }
}
@media (max-width:560px){
  .content-section__photos{ flex-direction:column; align-items:center; max-width:300px; }
  .content-section__photos img{ width:100%; max-width:300px; aspect-ratio:4/5; }
  .content-section__photos img:nth-child(2){ margin-top:0; }
}

/* Dubai atelier photos (About page) */
.atelier-photos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:32px 0 14px;
}
.atelier-photos figure{ margin:0; }
.atelier-photos img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:2px;
  display:block;
}
.atelier-photos__caption{
  margin-top:0;
  margin-bottom:28px;
  font-size:0.82rem;
  font-style:italic;
  color:var(--text-muted);
  text-align:center;
}
.atelier-wide-photo{ margin:32px 0 0; }
.atelier-wide-photo img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:2px;
  display:block;
}
.atelier-wide-photo .atelier-photos__caption{ margin-top:10px; margin-bottom:0; }
@media (max-width:640px){
  .atelier-photos{ grid-template-columns:1fr; }
}

/* ============================================================
   INSIGHTS — journal listing + article typography
   (reuses .work / .work__head / .work__grid / .work__card /
   .work__thumb / .work__meta for card grids — see above)
   ============================================================ */
.article-tag{
  display:inline-block;
  font-family:var(--sans);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--gold-deep);
  background:rgba(201,163,92,.14);
  padding:5px 12px;
  border-radius:20px;
  margin-bottom:14px;
}
.work__card .article-tag{ margin:18px 22px 0; }
.work__meta .article-tag{ margin:0 0 10px; }
.article-meta{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  align-items:center;
  font-family:var(--sans);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--text-light-muted);
  margin-top:18px;
}
.page-banner .article-meta{ color:var(--text-light-muted); }
.content-section .article-meta{ color:var(--text-muted); margin-bottom:8px; }
.pull-quote{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(1.3rem,2.2vw,1.6rem);
  line-height:1.45;
  color:var(--ink);
  border-left:3px solid var(--gold);
  padding:2px 0 2px 28px;
  margin:38px 0;
}
.content-section__inner h3{
  font-family:var(--serif);
  font-size:1.3rem;
  margin:32px 0 14px;
}
.content-section__inner img.article-inline-img{
  width:100%;
  border-radius:4px;
  margin:8px 0 28px;
  aspect-ratio:16/10;
  object-fit:cover;
}
.content-section__inner figure{
  margin:0;
}
.content-section__inner figcaption{
  font-family:var(--sans);
  font-size:.78rem;
  color:var(--text-muted);
  margin:-20px 0 28px;
}
.content-section__inner ol{
  margin:18px 0 26px 22px;
}
.content-section__inner ol li{
  font-family:var(--body);
  font-size:1.02rem;
  line-height:1.75;
  color:var(--text-dark);
  margin-bottom:10px;
}
.insights-empty-note{
  font-family:var(--body);
  color:var(--text-muted);
  max-width:640px;
}

/* ============================================================
   USP cards — landing-page CRO (image-led feature cards)
   ============================================================ */
.usp-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:26px;
}
.usp-card{
  border:1px solid var(--rule);
  background:#fff;
  overflow:hidden;
}
.usp-card__img{
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--cream-2);
}
.usp-card__img img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.usp-card h3{
  font-size:1.15rem;
  margin:22px 24px 10px;
}
.usp-card p{
  font-family:var(--body);
  font-size:.96rem;
  line-height:1.65;
  color:var(--text-muted);
  margin:0 24px 24px;
}
@media (max-width:860px){ .usp-grid{ grid-template-columns:1fr; } }

/* ============================================================
   CTA — Red accent buttons (landing pages)
   ============================================================ */
.btn-solid-red{
  background:#d90e43;
  color:#fff;
  border-color:#d90e43;
  box-shadow:0 6px 20px rgba(217,14,67,.32);
}
.btn-solid-red:hover{
  background:#b80c38;
  border-color:#b80c38;
  box-shadow:0 10px 26px rgba(217,14,67,.42);
}

/* ============================================================
   Floating WhatsApp button (site-wide) — pill style
   ============================================================ */
.wa-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:95;
  display:flex;
  align-items:center;
  gap:10px;
  background:#25D366;
  color:#fff;
  padding:10px 22px 10px 10px;
  border-radius:999px;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.wa-float:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 12px 30px rgba(0,0,0,.36);
}
.wa-float__icon{
  width:38px;
  height:38px;
  border-radius:50%;
  border:2px solid #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.wa-float__icon svg{ width:20px; height:20px; fill:#fff; }
.wa-float__text{
  font-family:var(--sans);
  font-weight:700;
  font-size:1.02rem;
  white-space:nowrap;
  color:#fff;
}
@media (max-width:980px){
  .wa-float{ bottom:80px; padding:8px 18px 8px 8px; }
  .wa-float__icon{ width:32px; height:32px; }
  .wa-float__icon svg{ width:17px; height:17px; }
  .wa-float__text{ font-size:.9rem; }
}
