@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@600;700&display=swap');

:root{
  --bg:#0b0907;
  --bg-2:#14110f;
  --bg-3:#1d1814;
  --card:rgba(255,255,255,.05);
  --card-2:rgba(255,255,255,.03);
  --text:#f5ecdf;
  --muted:#d7c7b4;
  --line:rgba(232,196,138,.14);
  --line-strong:rgba(232,196,138,.24);
  --gold-1:#f3ddb3;
  --gold-2:#e1b774;
  --gold-3:#b98549;
  --gold-gradient:linear-gradient(135deg,var(--gold-1),var(--gold-2) 45%,var(--gold-3));
  --panel-gradient:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  --section-gradient:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
  --shadow:0 18px 40px rgba(0,0,0,.28);
  --shadow-soft:0 10px 24px rgba(0,0,0,.18);
  --radius:26px;
  --radius-sm:20px;
  --header-h:96px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 0%, rgba(225,183,116,.12), transparent 22%),
    radial-gradient(circle at 90% 12%, rgba(185,133,73,.1), transparent 20%),
    linear-gradient(180deg,#0a0907 0%, #13100e 24%, #0d0b09 54%, #070605 100%);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
input,textarea,select{outline:none}
.container{width:min(1180px, calc(100% - 32px));margin:0 auto}
.section{position:relative;padding:100px 0}
.section-dark{background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,0))}
.section-mid{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01))}
.section-heading,.section-intro{max-width:780px}
.section-heading{margin:0 0 2.4rem}
.two-col,.contact-grid,.hero-layout{display:grid;gap:2rem}
.two-col{grid-template-columns:1.1fr .9fr;align-items:start}
.contact-grid{grid-template-columns:1fr 1fr;align-items:start}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:14px;top:14px;z-index:1000;background:#fff;color:#111;padding:10px 14px;border-radius:10px}

.top-offer-bar{
  position:relative;
  z-index:20;
  background:linear-gradient(90deg, rgba(243,221,179,.12), rgba(185,133,73,.08), rgba(243,221,179,.12));
  border-bottom:1px solid var(--line);
}
.offer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 0}
.offer-inner p{margin:0;color:#f5e7cf;font-size:.95rem}
.offer-inner a{color:#14110f;background:var(--gold-gradient);padding:.6rem 1rem;border-radius:999px;font-weight:700}

.site-header{
  position:sticky;top:0;z-index:60;
  backdrop-filter:blur(16px);
  background:linear-gradient(180deg, rgba(8,7,6,.92), rgba(8,7,6,.7));
  border-bottom:1px solid rgba(255,255,255,.04);
}
.site-header.scrolled{box-shadow:0 16px 30px rgba(0,0,0,.18)}
.header-inner{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand-logo{
  width:clamp(160px, 18vw, 240px);
  height:auto;
  max-height:76px;
  object-fit:contain;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.18));
}
.site-nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end}
.site-nav a{position:relative;color:#f7ecd7;font-size:.95rem;font-weight:500;opacity:.92;transition:.25s}
.site-nav a::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:var(--gold-gradient);transition:transform .28s ease}
.site-nav a:hover,.site-nav a.active{color:#fff;opacity:1}
.site-nav a:hover::after,.site-nav a.active::after{transform:scaleX(1)}
.nav-cta{margin-left:.3rem}
.nav-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:16px;background:var(--panel-gradient);padding:10px;cursor:pointer}
.nav-toggle span{display:block;height:2px;width:100%;margin:6px 0;background:var(--gold-gradient)}

.hero{min-height:calc(100svh - 44px);display:grid;align-items:center;overflow:hidden;isolation:isolate}
.hero-backdrop,.hero-overlay{position:absolute;inset:0}
.hero-backdrop img{width:100%;height:100%;object-fit:cover;filter:brightness(.32) saturate(.95)}
.hero-overlay{
  background:
    radial-gradient(circle at 18% 35%, rgba(243,221,179,.16), transparent 26%),
    radial-gradient(circle at 82% 15%, rgba(185,133,73,.18), transparent 22%),
    linear-gradient(90deg, rgba(6,5,4,.94) 0%, rgba(12,10,8,.88) 34%, rgba(12,10,8,.54) 100%);
}
.hero-content{position:relative;z-index:1;padding:62px 0 80px}
.hero-layout{grid-template-columns:1.03fr .97fr;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 16px;text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;color:#f1d9af}
.eyebrow::before{content:"";width:42px;height:1px;background:var(--gold-gradient)}
h1,h2,h3{margin:0 0 18px;font-family:'Cormorant Garamond',Georgia,serif;line-height:.98;font-weight:700}
h1{font-size:clamp(3.1rem,6vw,5.6rem);max-width:10.8ch;text-shadow:0 4px 30px rgba(0,0,0,.24)}
h2{font-size:clamp(2.2rem,4.3vw,4rem)}
h3{font-size:clamp(1.55rem,2.3vw,2rem)}
p{margin:0 0 1rem}
.hero-copy{max-width:60ch;color:#f3e7d5;font-size:1.05rem}
.hero-actions,.contact-actions,.popup-actions,.cta-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-actions{margin-top:1.7rem}
.hero-proof{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.3rem}
.hero-proof span,.trust-grid div,.slider-labels span{padding:.75rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--panel-gradient);box-shadow:var(--shadow-soft)}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 1.45rem;border-radius:999px;border:1px solid transparent;font-weight:700;transition:.25s;cursor:pointer}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.35) 50%,transparent 80%);transform:translateX(-140%);transition:transform .7s ease}
.btn:hover{transform:translateY(-2px)}
.btn:hover::before{transform:translateX(140%)}
.btn-gold{color:#1b1208;background:var(--gold-gradient);box-shadow:0 16px 30px rgba(185,132,73,.22), inset 0 1px 0 rgba(255,255,255,.38)}
.btn-outline{color:var(--text);border-color:var(--line-strong);background:var(--panel-gradient)}
.btn-soft{color:var(--text);border-color:rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(40,33,25,.78), rgba(20,16,12,.82))}
.btn-full{width:100%}

.card-panel,.glass-card,.service-card,.advantage,.project-card,.testimonial,.timeline-step,.faq-item,.form-card,.transformation-card,.cta-banner{
  position:relative;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)
}
.glass-card,.form-card,.transformation-card,.cta-banner{padding:1.65rem}
.feature-list{padding-left:1.2rem;margin:0 0 1.2rem}
.feature-list li{margin-bottom:.65rem;color:var(--muted)}
.text-link{color:#f3ddb3;font-weight:700}

.hero-collage{display:grid;grid-template-columns:1.18fr .82fr;gap:1rem}
.hero-collage-main,.mini-card{overflow:hidden}
.hero-collage-main img,.mini-card img{width:100%;height:100%;object-fit:cover}
.hero-collage-main{min-height:500px}
.hero-collage-main img{min-height:500px}
.hero-collage-copy{position:absolute;left:18px;right:18px;bottom:18px;padding:1rem 1.1rem;border-radius:18px;background:linear-gradient(180deg, rgba(8,7,6,.25), rgba(8,7,6,.68));backdrop-filter:blur(8px)}
.hero-collage-copy p,.mini-card p{margin:0 0 .3rem;color:#f2dcb0;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}
.hero-collage-copy strong,.mini-card strong{font-size:1rem}
.hero-collage-stack{display:grid;gap:1rem}
.mini-card{display:grid;grid-template-rows:180px auto}
.mini-card div{padding:1rem}

.trust-bar{padding:18px 0;background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.trust-grid div{text-align:center;color:#f6e9d2;font-weight:600}

.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.service-card,.advantage,.timeline-step,.testimonial{padding:1.4rem}
.icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--gold-gradient);color:#1a1208;font-weight:800;margin-bottom:1rem}
.service-card p,.advantage p,.testimonial p,.timeline-step p,.project-copy p,.section-heading p,.section-intro p,.contact-points p{color:var(--muted)}
.advantages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}

.project-list{display:grid;gap:1.45rem}
.project-card{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.project-card.reverse{direction:rtl}
.project-card.reverse > *{direction:ltr}
.project-image img{width:100%;height:100%;min-height:380px;object-fit:cover}
.project-copy{padding:1.8rem}
.project-meta{color:#f3ddb3;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.2rem 0 1.4rem}
.story-grid div{padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--card-2)}
.story-grid strong{display:block;margin-bottom:.4rem;color:#fff0d0}
.story-grid p{margin:0;font-size:.95rem}

.before-after-slider{position:relative;border-radius:var(--radius);overflow:hidden;min-height:420px;background:#111}
.before-after-slider img{width:100%;height:420px;object-fit:cover}
.slider-base{display:block}
.slider-overlay{position:absolute;inset:0;overflow:hidden;width:50%}
.slider-overlay img{width:100%;height:100%;object-fit:cover}
.slider-divider{position:absolute;top:0;bottom:0;left:50%;width:3px;background:linear-gradient(180deg,var(--gold-1),var(--gold-3));box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.slider-range{position:absolute;inset:0;opacity:0;cursor:ew-resize;width:100%;height:100%}
.slider-labels{display:flex;justify-content:space-between;margin-top:1rem}

.cta-banner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.cta-banner p:last-child{max-width:52ch;color:var(--muted)}

.gallery-filters{display:flex;gap:.85rem;flex-wrap:wrap;margin-bottom:1.4rem}
.filter-btn{padding:.82rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--panel-gradient);color:var(--text);cursor:pointer}
.filter-btn.active{background:var(--gold-gradient);color:#1b1208;border-color:transparent}
.gallery-grid{columns:4 240px;column-gap:1rem}
.gallery-item{break-inside:avoid;margin:0 0 1rem;position:relative;overflow:hidden;border-radius:24px;cursor:pointer;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.gallery-item img{width:100%;height:auto;transition:transform .45s ease}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:.9rem 1rem;border-radius:16px;background:linear-gradient(180deg, rgba(8,7,6,.25), rgba(8,7,6,.72));backdrop-filter:blur(8px);font-size:.92rem}

.timeline-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.timeline-step span{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--gold-gradient);color:#1a1208;font-weight:800;margin-bottom:1rem}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.faq-list{display:grid;gap:1rem}
.faq-item summary{cursor:pointer;list-style:none;font-weight:700;padding:1.2rem 1.4rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item p{padding:0 1.4rem 1.2rem}

.form-row{margin-bottom:1rem}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-card input,.form-card textarea,.form-card select{width:100%;padding:1rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--text)}
.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.form-status{min-height:24px;margin:.85rem 0 0;font-weight:600}
.form-status.success{color:#9fe4b0}.form-status.error{color:#ffb3b3}

.site-footer{padding:60px 0 100px;background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(0,0,0,.06));border-top:1px solid rgba(255,255,255,.04)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem}
.footer-logo{width:200px;max-width:100%;margin-bottom:1rem}
.footer-grid ul{padding:0;margin:0;list-style:none}
.footer-grid li{margin:.45rem 0;color:var(--muted)}
.footer-bottom{padding-top:1rem;margin-top:1rem;border-top:1px solid rgba(255,255,255,.05);color:var(--muted)}

.floating-whatsapp{
  position:fixed;right:18px;bottom:92px;z-index:55;padding:1rem 1.15rem;border-radius:999px;background:var(--gold-gradient);color:#1b1208;font-weight:800;box-shadow:0 18px 30px rgba(185,132,73,.24);animation:pulse 2.2s infinite
}
.mobile-cta-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:54;background:linear-gradient(180deg, rgba(14,12,10,.98), rgba(8,7,6,.98));border-top:1px solid rgba(255,255,255,.06);grid-template-columns:1fr 1fr}
.mobile-cta-bar a{text-align:center;padding:1rem .75rem;font-weight:800}
.mobile-cta-bar a:first-child{background:var(--panel-gradient)}
.mobile-cta-bar a:last-child{background:var(--gold-gradient);color:#1b1208}

.lead-popup{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.64);padding:1rem;opacity:0;pointer-events:none;transition:.25s;z-index:70}
.lead-popup.open{opacity:1;pointer-events:auto}
.lead-popup-box{position:relative;width:min(560px,100%);padding:2rem;border-radius:28px;background:linear-gradient(180deg, rgba(22,18,14,.98), rgba(14,12,10,.98));border:1px solid var(--line);box-shadow:var(--shadow)}
.lead-popup-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:none;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:1.5rem;cursor:pointer}

.lightbox{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.88);padding:2rem;opacity:0;pointer-events:none;transition:.25s;z-index:80}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox img{max-width:min(1000px,100%);max-height:78vh;border-radius:20px}
.lightbox-caption{margin-top:1rem;color:#f0dfbf;text-align:center}
.lightbox-close{position:absolute;top:18px;right:18px;width:48px;height:48px;border:none;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.6rem;cursor:pointer}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease, transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-delay{transition-delay:.12s}

@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}

@media (max-width: 1080px){
  .hero-layout,.contact-grid,.two-col,.project-card,.project-card.reverse,.cta-banner{grid-template-columns:1fr;direction:ltr}
  .cards-grid,.advantages-grid{grid-template-columns:repeat(2,1fr)}
  .testimonial-grid{grid-template-columns:1fr 1fr}
  .timeline-grid{grid-template-columns:repeat(3,1fr)}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .story-grid{grid-template-columns:1fr}
  .hero-collage{grid-template-columns:1fr}
  .hero-collage-main,.hero-collage-main img{min-height:360px}
}

@media (max-width: 860px){
  .top-offer-bar{display:none}
  :root{--header-h:84px}
  .nav-toggle{display:block}
  .site-nav{
    position:absolute;top:calc(100% + 8px);left:16px;right:16px;display:none;flex-direction:column;align-items:flex-start;padding:1rem;border-radius:22px;background:linear-gradient(180deg, rgba(14,12,10,.98), rgba(10,9,8,.98));border:1px solid var(--line)
  }
  .site-nav.open{display:flex}
  .brand-logo{width:clamp(150px, 40vw, 210px);max-height:70px}
  .section{padding:84px 0}
  h1{max-width:12ch}
  .hero-content{padding:50px 0 72px}
  .cards-grid,.advantages-grid,.testimonial-grid,.timeline-grid,.footer-grid,.form-row.two{grid-template-columns:1fr}
  .gallery-grid{columns:2 220px}
}

@media (max-width: 560px){
  .container{width:min(100% - 22px, 1180px)}
  .hero-proof,.offer-inner,.hero-actions,.contact-actions,.cta-actions,.popup-actions{flex-direction:column;align-items:stretch}
  .trust-grid{grid-template-columns:1fr}
  .gallery-grid{columns:1}
  .floating-whatsapp{bottom:78px;right:12px;padding:.9rem 1rem}
  .mobile-cta-bar{display:grid}
  .before-after-slider,.before-after-slider img{min-height:300px;height:300px}
  .hero-collage-main,.hero-collage-main img{min-height:280px}
  .section{padding:72px 0}
}
