:root{
    --red:#D82103;
    --red-dark:#b51608;
    --cream:#fbf8ef;
    --paper:#f6f0e3;
    --gold:#c79437;
    --ink:#28231f;
    --muted:#706861;
    --white:#fff;
    --border:#e5d9c7;
    --serif:"Libre Baskerville",serif;
    --sans:"Inter",sans-serif;
    --shadow:0 18px 45px rgba(56,35,18,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--sans);background:#fff;font-size:16px;line-height:1.7}
body.modal-open{overflow:hidden}
img{max-width:100%;display:block}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.container{width:min(1320px,calc(100% - 40px));margin:auto}
.section{padding:80px 0}
.paper{background:var(--cream)}
.eyebrow{display:inline-block;color:#000;font-size:15px;font-weight:400;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.eyebrow.light{color:#fff}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--sans);font-weight:700;line-height:1.25}
h1{font-size:clamp(42px,5.2vw,61px);margin-bottom:20px}
h2{font-size:clamp(34px,4vw,38px);margin-bottom:18px; color: #B41900;}
h3{font-size:22px}
p{color:#000}
.btn{border:0;border-radius:50px;padding:16px 22px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:16px;transition:.25s ease}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-dark)}
.btn-white{background:#fff;color:#000}
.btn.full{width:100%}
.text-link{border:0;background:transparent;color:var(--red);font-size:16px;font-weight:700;padding:0}
.pre_header{background-color: #03214d;padding: 10px 0;text-align: center;}
.pre_header p{margin-bottom: 0;color: #fff;font-size: 17px;}
.site-header{height:90px;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #eee}
.logo_image{height: 60px;}
.nav-wrap{height:90px;display:flex;align-items:center;gap:28px}
.brand{align-items:center;gap:9px;min-width:190px}
.brand-mark{width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:10px;color:var(--gold);font-weight:700}
.brand strong{display:block;font-size:16px;letter-spacing:1px;line-height:1}
.brand small{display:block;font-size:7px;letter-spacing:2px;color:#9c8b73;margin-top:4px}
.main-nav{display:flex;align-items:center;justify-content:center;gap:22px;flex:1}
.main-nav a{font-size:17px;color:#000; font-weight: 500; padding: 0px 15px 0px 15px;}
.main-nav a:hover{color:var(--red)}
.nav-book{white-space:nowrap;padding:8px 18px;font-size:16px}
.nav-toggle{display:none;border:0;background:none;font-size:24px}
.hero{background:var(--red);color:#fff;padding:78px 0 82px;overflow:hidden}
.hero {
    background-image: url(../images/hero-banner.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
}
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #B41900;
    opacity: 0.7;
    z-index: 0;
}

.testimonials {
    background-image: url(../images/Map-a.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    /* background-attachment: fixed; */
    /* height: 400px; */
    position: relative;
}
.testimonials::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #ffffff;
    opacity: 0.7;
    z-index: 0;
}
.how {
    background-image: url(../images/how-bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    /* height: 400px; */
    position: relative;
}
.how::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #FAF7EB;
    opacity: 0.95;
    z-index: 0;
}
.faq {
    background-image: url(../images/how-bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    /* height: 400px; */
    position: relative;
}
.faq::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #FAF7EB;
    opacity: 0.95;
    z-index: 0;
}


.section-copy h2{font-size: 32px;color: var(--red);}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:65px;align-items:center;z-index: 1;position: relative;}
.curve{font-family: var(--serif);font-style: italic;color: #FFB655; font-weight:400 ;}
.hero-copy p{max-width:600px;color:#fff;}
.hero-copy h2{font-size: 3em; color: #fff;}
.hero-copy p{font-size: 19px;font-weight: 500; color: #fff;}
.hero-stats{font-size:17px;margin:24px 0 27px;color: #FFB655;font-weight: 700;}
.hero-stats span{margin:0 7px}
.booking-card{background:#fff;border:1px solid #eadfd0;border-radius:8px;padding:30px;color:var(--ink);box-shadow:var(--shadow)}
.hero-booking{position:relative;padding:38px}
.card-topline{height:4px;background:var(--red);position:absolute;left:0;right:0;top:0;border-radius:8px 8px 0 0}
.booking-card p{font-size:16px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.image-frame{border-radius:30px;overflow:hidden;border-left:16px solid var(--red);border-bottom:16px solid var(--red); box-shadow:var(--shadow)}
.image-frame img{width:100%;aspect-ratio:1.08/1;object-fit:cover}
.section-copy p{font-size:16px}
.mini-points{margin:28px 0;display:grid;gap:18px}
.mini-points div{border-left:2px solid var(--red);padding-left:15px}
.mini-points b{display:block;font-size:20px;margin-bottom:3px}
.mini-points span{display:block;color:#000;font-size:16px}
.quote-row{display:grid;grid-template-columns:25px 1fr 480px;gap:18px;align-items:center;margin-top:60px}
.quote-line{width:3px;height:70px;background:var(--red)}
.quote-row p{font-size:22px;font-style:italic;margin:0}
.quote-row p b{color:var(--red)}
.experience{text-align:center;background-color: var(--border);padding: 30px;border-radius: 30px;width: fit-content;margin: auto;}
.experience strong{display:block;font-family:var(--serif);font-size:90px;color:var(--red);line-height:1}
.experience span{font-size:20px;display:block;font-weight: 600;}
.center-head{text-align:center;max-width:850px;margin:0 auto 48px}
.center-head p{font-size:16px;color: #000;}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{background:#fff;border: 2px dashed var(--red);border-radius:30px;overflow:hidden;box-shadow:0 8px 25px rgba(50,35,20,.05);transition:.25s;height: 485px;}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.service-card>img{width:100%;aspect-ratio:1.45/1;object-fit:cover}
.service-content{padding:20px;text-align: center;}
.service-content h3{font-size:20px;color:var(--red);margin-bottom:8px}
.service-content p{font-size:16px;line-height:1.65;margin-bottom:14px}
.offer{background:#fff}
.offer-grid{display:grid;grid-template-columns:1.05fr .65fr;gap:90px;align-items:center}
.offer-image{width:100%;max-width:370px;justify-self:end;border-radius:30px}
.pill-row{display:flex;gap:10px;margin:24px 0}
.pill-row span{border:1px solid var(--border);border-radius:30px;padding:5px 14px;font-size:16px}
.red-panel{background:var(--red);color:#fff}
.red-panel p{color:#fff;opacity:.92}
.expert-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:65px;align-items:center}
.expert-grid>img{width:100%;border-radius:30px;aspect-ratio:1/1.39;object-fit:cover;margin-top: -115px;}
.expert-copy h2{color:#fff}
.expert-copy p{font-size:16px}
.why{background:#fff}
.check-list{list-style:none;margin:25px 0;padding:0;display:grid;gap:15px}
.check-list li{padding-left:35px;position:relative}
.check-list li:before{content:"✓";position:absolute;left:0;top:1px;color:var(--red);font-weight:700;font-size: 30px;}
.check-list b{display:block;font-size:16px}
.check-list span{display:block;color:#000;font-size:16px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.step{text-align:center;padding:10px}
.step>span{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 15px;border:1px solid var(--red);border-radius:50%;color:var(--red);font-size:16px;font-weight:700}
.how p{font-size: 22px;}
.how .container{
    position: relative;
    z-index: 1;
}
.step h3{font-family:var(--sans);font-size:18px;font-weight:700}
.step > img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    flex-shrink: 0;
    margin: auto;
    margin-bottom: 20px;
}
.step p{font-size:15px}
.center-button{text-align:center;margin-top:35px}
.testimonials .center-head{
    position: relative;
    z-index: 1;
}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testimonial-grid article{border:1px solid var(--border);padding:25px;background:#fff;position:relative}
.testimonial-grid article:before{content:"“";font-family:var(--serif);font-size:55px;color:var(--red);position:absolute;top:4px;right:15px}
.testimonial-grid p{font-size:16px;min-height:105px}
.testimonial-grid strong{display:block;font-size:16px}
.testimonial-grid small{color:#000;font-size:13px}
.narrow{max-width:900px}
.faq .narrow{position: relative;z-index: 1;}
.faq p{font-size: 20px;}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{width:100%;background:none;border:0;padding:19px 0;text-align:left;font-weight:600;font-size:18px;display:flex;justify-content:space-between}
.faq-question span{font-size:20px;color:var(--red);transition:.2s}
.faq-item.open .faq-question span{transform:rotate(45deg)}
.faq-answer{display:none;padding:0 35px 18px 0}
.faq-item.open .faq-answer{display:block}
.faq-answer p{font-size:16px;margin:0}
.final-cta {
    background-image: url(../images/how-bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    /* height: 400px; */
    position: relative;
}
.final-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #B41900;
    opacity: 0.95;
    z-index: 0;
}


.final-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;position: relative;z-index: 1;}
.final-cta h2{color:#fff}
.final-bullets{display:grid;gap:8px;margin-top:25px;font-size:16px}
.light-card{background:#fff}
.footer{background:#fff;color:#000;padding-top:60px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:45px;padding-bottom:50px}
.footer p{color:#000;font-size:16px;max-width:350px;margin-top:18px}
.footer h4{font-size:18px;text-transform:uppercase;letter-spacing:1px;margin:0 0 15px;color:#000;text-decoration: underline;}
.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:7px}
.footer-grid a,.footer-link{font-size:16px;color:#000;background:none;border:0;text-align:left;padding:0}
.footer-bottom{text-align: center; border-top:1px solid rgba(255,255,255,.1);padding:15px 0;color:#fff;font-size:16px;background-color: #000;}
.social_login a{
    background:var(--red);
    height: 40px;
    width: 40px;
    padding: 13px;
    border-radius: 50px;
    display: inline-flex;
    color: #fff;
}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.modal.show{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(20,14,10,.72)}
.modal-dialog{position:relative;z-index:2;width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:10px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.modal-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:30px;color:#777}
.modal-step h2{margin-bottom:10px}
.price-box{display:flex;justify-content:space-between;align-items:center;background:var(--cream);border:1px solid var(--border);padding:18px;margin:25px 0}
.price-box span{font-size:16px}
.price-box strong{font-family:var(--serif);font-size:28px;color:var(--red)}
.secure-note{text-align:center;font-size:15px;color:#888;margin:15px 0 0}
.hidden{display:none!important}
.payment-success{color:#168044!important;font-weight:600}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600}
.form-grid input,.form-grid select{height:44px;border:1px solid #ddd8d0;border-radius:5px;padding:0 16px;outline:none;background:#fff}
.form-grid input:focus,.form-grid select:focus{border-color:var(--red)}
.consent{display:flex;gap:8px;align-items:flex-start;margin:18px 0;font-size:10px;color:#777}
.consent input{margin-top:4px}
.form-message{font-size:16px;margin-top:16px}
.form-message.error{color:#c21c10}
.form-message.success{color:#168044}
.success-icon{width:62px;height:62px;border-radius:50%;background:#eaf7ef;color:#168044;display:grid;place-items:center;font-size:28px;margin-bottom:18px}
@media(max-width:980px){
    .main-nav{gap:16px}.main-nav a{font-size:10px}
    .hero-grid,.final-grid,.offer-grid{grid-template-columns:1fr 1fr;gap:35px}
    .service-grid{grid-template-columns:repeat(2,1fr)}
    .expert-grid{gap:35px}
    .steps{grid-template-columns:repeat(3,1fr)}
    .footer-grid{grid-template-columns:1.5fr 1fr 1fr}
}
@media(max-width:760px){
    .container{width:min(100% - 28px,560px)}
    .site-header,.nav-wrap{height:62px}
    .main-nav{display:none;position:absolute;left:0;right:0;top:62px;background:#fff;padding:18px;flex-direction:column;box-shadow:0 16px 25px rgba(0,0,0,.08)}
    .main-nav.open{display:flex}
    .nav-toggle{display:block;margin-left:auto}
    .nav-book{display:none}
    .hero{padding:55px 0}.hero-grid,.two-col,.offer-grid,.expert-grid,.final-grid{grid-template-columns:1fr}
    .hero-copy{text-align:left}
    .hero-booking{margin-top:10px}
    .section{padding:65px 0}
    .service-grid,.testimonial-grid{grid-template-columns:1fr}
    .steps{grid-template-columns:1fr 1fr}
    .quote-row{grid-template-columns:15px 1fr}.experience{grid-column:2;text-align:left}
    .footer-grid{grid-template-columns:1fr 1fr}
    .form-grid{grid-template-columns:1fr}
    .modal-dialog{padding:28px 20px}
}
@media(max-width:480px){
    h1{font-size:32px}.steps{grid-template-columns:1fr}.footer-grid{display:inline;}
    .hero-stats{font-size:9px}
    .hero-copy h2 {
        font-size: 25px;
        
    }
}
