:root{
  --maroon:#8a1a2b;
  --maroon-dark:#6c1220;
  --dark:#150809;
  --dark-2:#1d0d0f;
  --white:#ffffff;
  --cream:#f6f2f0;
  --gray:#7a7275;
  --serif:'Georgia','Times New Roman',serif;
  --sans:'Segoe UI',Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--dark);background:var(--white);overflow-x:hidden;line-height:1.6;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{display:block;max-width:100%;}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--maroon);font-weight:600;letter-spacing:3px;text-transform:uppercase;font-size:.78rem;margin-bottom:14px;}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--maroon);display:inline-block;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.2;}
.section-title{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--dark);margin-bottom:18px;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 34px;background:var(--maroon);color:var(--white);font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.8rem;border:1px solid var(--maroon);transition:.35s;cursor:pointer;}
.btn:hover{background:transparent;color:var(--maroon);}
.btn.outline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.5);}
.btn.outline:hover{background:var(--white);color:var(--dark);border-color:var(--white);}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ===== HEADER ===== */
header{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:.4s;padding:26px 0;}
header.scrolled{background:var(--dark);padding:14px 0;box-shadow:0 6px 24px rgba(0,0,0,.25);}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;}
.logo img{height:52px;width:auto;}
nav ul{display:flex;gap:38px;}
nav a{color:var(--white);font-size:.85rem;letter-spacing:.5px;text-transform:uppercase;font-weight:500;position:relative;padding-bottom:6px;}
nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--maroon);transition:.3s;}
nav a:hover::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:10px;color:var(--white);text-decoration:none;}
.nav-cta .ico{width:38px;height:38px;border:1px solid var(--maroon);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);}
.mobile-quick-contact{display:none;gap:12px;margin-left:auto;}
.mobile-quick-contact a{width:44px;height:44px;border:1px solid var(--maroon);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--white);}
.mobile-quick-contact a svg{width:20px;height:20px;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1100;}
.burger span{width:26px;height:2px;background:var(--white);}

/* ===== HERO / SLIDER ===== */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;color:var(--white);}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;background-size:cover;background-position:center;}
.slide.active{opacity:1;}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,8,9,.55) 0%,rgba(21,8,9,.55) 40%,rgba(21,8,9,.88) 100%);}
.hero-content{position:relative;z-index:5;height:100%;width:100%;max-width:1200px;padding:0 24px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;text-align:left;}
.hero-inner{max-width:660px;}
.hero-content .eyebrow{color:#d9a1ab;}
.hero-content .eyebrow::before{background:#d9a1ab;}
.hero-content h1{font-size:clamp(1.7rem,3.2vw,2.6rem);margin-bottom:20px;}
.hero-content h1 em{font-style:normal;color:var(--maroon);}
.hero-content p{max-width:520px;color:rgba(255,255,255,.85);margin-bottom:34px;font-size:1.02rem;}
.hero-btns{display:flex;gap:18px;flex-wrap:wrap;}
.scroll-cue{position:absolute;right:44px;bottom:46px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.7);font-size:.7rem;letter-spacing:3px;text-transform:uppercase;}
.scroll-cue .line{width:1px;height:50px;background:rgba(255,255,255,.4);position:relative;overflow:hidden;}
.scroll-cue .line::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--maroon);animation:scrollline 1.8s infinite;}
@keyframes scrollline{0%{top:-50%}100%{top:100%}}

/* ===== ABOUT ===== */
.about{padding:130px 0 110px;background:var(--white);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.about-imgs{position:relative;min-height:540px;}
.about-imgs img{position:absolute;object-fit:cover;box-shadow:0 20px 50px rgba(0,0,0,.2);}
.about-imgs iframe{position:absolute;border:0;box-shadow:0 20px 50px rgba(0,0,0,.2);}
.about-imgs .img-top{width:100%;height:250px;top:0;left:0;z-index:1;}
.about-imgs .img-a{width:48%;height:260px;top:270px;left:0;z-index:2;}
.about-imgs .img-b{width:48%;height:260px;top:270px;right:0;z-index:2;}
.badge-exp{position:absolute;bottom:-30px;left:20px;z-index:4;background:var(--maroon);color:var(--white);padding:22px 26px;text-align:center;box-shadow:0 15px 30px rgba(138,26,43,.35);}
.badge-exp strong{display:block;font-family:var(--serif);font-size:2.2rem;line-height:1;}
.badge-exp span{font-size:.68rem;letter-spacing:2px;text-transform:uppercase;}
.about-text p{color:var(--gray);margin-bottom:18px;max-width:540px;}
.about-text p.about-sub{font-family:var(--serif);font-size:1.15rem;color:var(--maroon);margin-bottom:24px;}
.about-list{margin-bottom:32px;}
.about-list li{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;color:var(--dark);font-weight:500;}
.about-list li .dot{width:20px;height:20px;border-radius:50%;background:rgba(138,26,43,.12);color:var(--maroon);display:flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0;margin-top:3px;}

/* ===== SERVICES ===== */
.services{padding:110px 0;background:var(--cream);text-align:center;}
.services .eyebrow,.services .section-title{justify-content:center;text-align:center;}
.services .eyebrow{display:inline-flex;}
.services-head{display:flex;flex-direction:column;align-items:center;margin-bottom:60px;}
.services-head .eyebrow{display:inline-flex;justify-content:center;text-align:center;}
.services-head .section-title{max-width:700px;text-wrap:balance;text-align:center;}
.services-sub{color:var(--gray);max-width:480px;margin-top:-6px;text-wrap:balance;text-align:center;}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;text-align:left;}
.service-card{background:var(--white);overflow:hidden;border-bottom:3px solid transparent;transition:.35s;position:relative;}
.service-card:hover{border-bottom-color:var(--maroon);transform:translateY(-8px);box-shadow:0 25px 45px rgba(0,0,0,.08);}
.service-card:hover .card-img img{transform:scale(1.08);}
.service-card .card-img{position:relative;height:220px;overflow:hidden;}
.service-card .card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.service-card .num{position:absolute;top:16px;left:16px;width:36px;height:36px;border-radius:50%;background:var(--maroon);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.85rem;z-index:2;}
.service-card .card-body{padding:32px 30px 36px;}
.service-card h3{font-size:1.3rem;margin-bottom:14px;color:var(--dark);}
.service-card p{color:var(--gray);font-size:.93rem;}

/* ===== PROCESS ===== */
.process{padding:110px 0;background:var(--cream);text-align:center;}
.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:60px;}
.process-item{background:var(--white);text-align:left;padding:42px 28px 36px;transition:.4s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 14px rgba(20,8,9,.05);}
.process-item::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--maroon);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.process-item:hover{transform:translateY(-10px);box-shadow:0 30px 50px rgba(20,8,9,.14);}
.process-item:hover::before{transform:scaleX(1);}
.process-item .ghost-num{position:absolute;top:-6px;right:10px;font-family:var(--serif);font-size:4.6rem;line-height:1;color:rgba(138,26,43,.07);z-index:0;}
.process-item .p-icon{position:relative;z-index:1;width:58px;height:58px;border-radius:50%;background:rgba(138,26,43,.08);color:var(--maroon);display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:.4s;}
.process-item .p-icon svg{width:26px;height:26px;}
.process-item:hover .p-icon{background:var(--maroon);color:var(--white);transform:scale(1.08) rotate(-4deg);}
.process-item h3{position:relative;z-index:1;color:var(--dark);font-family:var(--sans);font-weight:600;font-size:1.02rem;line-height:1.5;}
.process-item:not(:last-child)::after{content:"";position:absolute;top:50%;right:-28px;width:28px;height:1px;background:rgba(138,26,43,.25);z-index:2;}

/* ===== TIMELINE ===== */
.timeline-section{position:relative;padding:110px 0;background:#120708 url('../images/timeline-bg.webp') center/cover no-repeat;}
.timeline-section::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,7,8,.12) 0%,rgba(18,7,8,.4) 55%,rgba(18,7,8,.8) 100%);}
.timeline-section .container{position:relative;z-index:1;}
.timeline-section .eyebrow{color:#d9a1ab;}
.timeline-section .eyebrow::before{background:#d9a1ab;}
.timeline-section .section-title{color:var(--white);}
.timeline-section .services-sub{color:rgba(255,255,255,.6);}
.timeline-label{display:flex;align-items:center;justify-content:center;gap:16px;color:#d9a1ab;font-size:.72rem;letter-spacing:3px;text-transform:uppercase;font-weight:600;margin:64px 0 0;}
.timeline-label span{width:40px;height:1px;background:rgba(217,161,171,.35);}
.timeline{position:relative;max-width:1160px;margin:64px auto 0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.tl-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;}
.tl-item:not(:last-child)::after{content:"";position:absolute;top:28px;left:50%;width:100%;height:1px;background:rgba(255,255,255,.15);z-index:-1;}
.tl-marker{flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--maroon);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.05rem;box-shadow:0 0 0 8px #120708;}
.tl-content h3{color:var(--white);font-family:var(--serif);font-weight:400;font-size:1.08rem;margin-bottom:10px;line-height:1.4;}
.tl-content p{color:rgba(255,255,255,.6);font-size:.88rem;line-height:1.6;}

/* ===== PORTFOLIO ===== */
.portfolio{padding:110px 0;background:var(--dark);color:var(--white);}
.portfolio .eyebrow{color:#d9a1ab;}
.portfolio .eyebrow::before{background:#d9a1ab;}
.portfolio-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;flex-wrap:wrap;gap:24px;}
.portfolio-head h2{color:var(--white);}
.filters{display:flex;gap:10px;flex-wrap:wrap;}
.filters button{background:transparent;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.75);padding:10px 20px;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.3s;}
.filters button.active,.filters button:hover{background:var(--maroon);border-color:var(--maroon);color:var(--white);}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:20px;}
.pf-item{position:relative;overflow:hidden;grid-column:span 1;grid-row:span 1;}
.pf-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.pf-item:hover img{transform:scale(1.1);}

/* ===== TEAM ===== */
.team{padding:120px 0;background:var(--white);}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.team-text p{color:var(--gray);margin-top:22px;margin-bottom:32px;max-width:480px;}
.team-img{position:relative;}
.team-img::before{content:"";position:absolute;top:-22px;right:-22px;width:65%;height:65%;border:2px solid var(--maroon);z-index:0;}
.team-img img{position:relative;z-index:1;width:100%;height:460px;object-fit:cover;box-shadow:0 25px 50px rgba(0,0,0,.15);}

/* ===== TESTIMONIALS ===== */
.testimonials{padding:120px 0;background:var(--cream);position:relative;}
.google-badge{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:10px 20px;border:1px solid #e4dcd8;background:var(--white);font-size:.85rem;color:var(--gray);text-decoration:none;transition:.3s;}
.google-badge:hover{border-color:var(--maroon);color:var(--dark);}
.google-badge .g-stars{color:var(--maroon);letter-spacing:2px;font-size:.8rem;}
.test-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:900px;margin:56px auto 0;text-align:left;}
.test-card{background:var(--white);padding:38px 34px;border-bottom:3px solid transparent;transition:.35s;}
.test-card:hover{border-bottom-color:var(--maroon);box-shadow:0 25px 45px rgba(0,0,0,.08);transform:translateY(-6px);}
.test-top{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.avatar-initial{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-family:var(--serif);font-size:1.15rem;flex-shrink:0;}
.test-who strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.02rem;color:var(--dark);}
.test-who span{font-size:.78rem;color:var(--gray);}
.test-card .stars{color:var(--maroon);letter-spacing:3px;margin-bottom:16px;font-size:.9rem;}
.test-card .txt{color:var(--dark);font-size:.98rem;line-height:1.6;}

/* ===== CONTACT / CTA ===== */
.contact{position:relative;padding:110px 0 0;background:var(--dark) url('../images/contact-bg.webp') center/cover no-repeat;color:var(--white);}
.contact::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,8,9,.35) 0%,rgba(21,8,9,.55) 55%,rgba(21,8,9,.85) 100%);}
.contact .container,.contact footer{position:relative;z-index:1;}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;padding-bottom:100px;}
.contact-info p{color:rgba(255,255,255,.7);max-width:460px;margin-bottom:36px;}
.info-row{display:flex;gap:18px;margin-bottom:26px;align-items:flex-start;}
.info-row .icon{width:46px;height:46px;border:1px solid var(--maroon);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--maroon);flex-shrink:0;}
.info-row strong{display:block;font-family:var(--serif);font-size:1.05rem;margin-bottom:2px;}
.info-row span{color:rgba(255,255,255,.65);font-size:.9rem;}
.contact-form{background:var(--dark-2);padding:44px;border-top:3px solid var(--maroon);}
.contact-form h3{color:var(--white);margin-bottom:12px;font-size:1.5rem;line-height:1.3;}
.contact-form p.sub{color:rgba(255,255,255,.55);font-size:.88rem;margin-bottom:26px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:transparent;border:1px solid rgba(255,255,255,.25);color:var(--white);padding:14px 16px;font-family:var(--sans);font-size:.9rem;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.45);}
.contact-form textarea{margin-bottom:22px;resize:vertical;min-height:100px;}
.contact-form .btn{width:100%;justify-content:center;}
footer{border-top:1px solid rgba(255,255,255,.1);padding:56px 0 0;}
.footer-top{display:flex;justify-content:space-between;gap:50px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-about{max-width:380px;}
.footer-logo{height:44px;width:auto;margin-bottom:16px;}
.footer-about p{color:rgba(255,255,255,.6);font-size:.92rem;}
.footer-contacts{display:flex;gap:44px;flex-wrap:wrap;}
.footer-contacts div{display:flex;flex-direction:column;gap:6px;}
.footer-contacts span{font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);}
.footer-contacts strong{font-family:var(--serif);font-weight:400;color:var(--white);font-size:1.05rem;}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;color:rgba(255,255,255,.5);font-size:.82rem;padding:24px 0;}
.footer-row a{color:rgba(255,255,255,.5);}
.footer-row a:hover{color:var(--maroon);}

@media(max-width:960px){
  nav,.nav-cta{display:none;}
  .burger{display:none;}
  .mobile-quick-contact{display:flex;}
  .hero-btns{flex-direction:column;align-items:stretch;}
  .hero-btns .btn{width:100%;justify-content:center;text-align:center;}
  .about-grid,.contact-grid,.team-grid{grid-template-columns:1fr;}
  .team-grid{gap:50px;}
  .team-img{order:-1;}
  .services-grid{grid-template-columns:1fr 1fr;}
  .portfolio-grid{grid-template-columns:1fr 1fr;}
  .process-grid{grid-template-columns:1fr 1fr;}
  .process-item:nth-child(2)::after{content:none;}
  .timeline{display:block;max-width:640px;}
  .timeline::before{content:"";position:absolute;top:28px;bottom:28px;left:27px;width:1px;background:rgba(255,255,255,.15);}
  .tl-item{flex-direction:row;align-items:flex-start;text-align:left;margin-bottom:46px;}
  .tl-item:last-child{margin-bottom:0;}
  .tl-item:not(:last-child)::after{content:none;}
  .tl-content p{max-width:480px;}
}
@media(max-width:600px){
  .services-grid,.portfolio-grid,.process-grid,.test-grid{grid-template-columns:1fr;}
  .process-item::after{content:none !important;}
  .form-row{grid-template-columns:1fr;}
  .tl-item{gap:18px;}
  .tl-marker{width:44px;height:44px;font-size:.9rem;}
  .timeline::before{left:21px;}
}
