:root{
--navy:#101d35;
--navy2:#172945;
--navy3:#203755;
--gold:#c9a66b;
--gold-light:#e6ca97;
--cream:#faf7f0;
--white:#fff;
--text:#101d35;
--muted:#4e5b70;
--line:#dededc;
--surface:#fff;
--shadow:0 12px 35px rgba(16,29,53,.09);
--container:1200px;
}

*{margin:0;padding:0;box-sizing:border-box}

html{
scroll-behavior:smooth;
scroll-padding-top:95px;
}

body{
font-family:'DM Sans',sans-serif;
background:var(--cream);
color:var(--text);
line-height:1.7;
overflow-x:hidden;
font-weight:500;
transition:background .3s,color .3s;
}



a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img{width:100%;display:block;object-fit:cover}
ul{list-style:none}

.container{
width:min(var(--container),calc(100% - 48px));
margin-inline:auto;
}

.section{padding-block:68px}

h1,h2,h3,h4{
font-family:'Playfair Display',serif;
line-height:1.2;
font-weight:700;
color:var(--text);
text-wrap:balance;
}

p{color:var(--muted)}

.eyebrow{
display:inline-flex;
align-items:center;
gap:10px;
color:var(--gold);
font-size:12px;
font-weight:800;
text-transform:uppercase;
letter-spacing:2px;
margin-bottom:13px;
}

.eyebrow:before{
content:"";
width:28px;
height:2px;
background:var(--gold);
}

.section-heading{
max-width:700px;
margin-bottom:35px;
}

.section-heading.center{
text-align:center;
margin-inline:auto;
}

.section-heading h2{
font-size:clamp(29px,4vw,43px);
margin-bottom:15px;
}

.section-heading p{
font-size:15px;
line-height:1.85;
}

/* HEADER */

.site-header{
position:sticky;
top:0;
z-index:1000;
background:var(--white);
border-bottom:1px solid var(--line);
box-shadow:0 4px 20px rgba(16,29,53,.06);
}

.header-inner{
min-height:82px;
display:grid;
grid-template-columns:auto 1fr auto;
align-items:center;
gap:22px;
}

.brand{
display:inline-flex;
align-items:center;
gap:11px;
min-width:0;
}

.brand-icon{
width:44px;
height:44px;
flex-shrink:0;
border-radius:10px;
display:grid;
place-items:center;
color:var(--navy);
background:var(--gold);
font-size:20px;
}

.brand-text{
display:flex;
flex-direction:column;
line-height:1.15;
}

.brand-text strong{
font-family:'Manrope',sans-serif;
font-size:20px;
font-weight:800;
letter-spacing:.3px;
color:var(--text);
}

.brand-text span{
font-size:9px;
font-weight:800;
letter-spacing:1.6px;
color:var(--gold);
margin-top:5px;
}

.desktop-nav{
display:flex;
align-items:center;
justify-content:center;
gap:21px;
}

.nav-link{
position:relative;
display:inline-flex;
align-items:center;
gap:7px;
padding:12px 0;
font-size:13px;
font-weight:800;
color:var(--text);
white-space:nowrap;
transition:.25s;
}

.nav-link:hover,.nav-link.active{color:var(--gold)}

.nav-link.active:after{
content:"";
position:absolute;
bottom:3px;
left:0;
width:100%;
height:2px;
background:var(--gold);
}

.nav-dropdown{position:relative}

.dropdown-menu{
position:absolute;
top:calc(100% + 8px);
left:0;
width:235px;
padding:10px;
background:var(--white);
border:1px solid var(--line);
border-radius:10px;
box-shadow:var(--shadow);
opacity:0;
visibility:hidden;
transform:translateY(8px);
transition:.25s;
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.dropdown-menu a{
display:block;
padding:11px 12px;
border-radius:7px;
font-size:13px;
font-weight:700;
}

.dropdown-menu a:hover{
background:var(--cream);
color:var(--gold);
}

.header-actions{
display:flex;
align-items:center;
justify-content:flex-end;
gap:8px;
}

.icon-button{
width:40px;
height:40px;
flex-shrink:0;
display:grid;
place-items:center;
border:1px solid var(--line);
background:var(--white);
color:var(--text);
border-radius:8px;
transition:.25s;
}

.icon-button:hover{
background:var(--gold);
color:var(--navy);
border-color:var(--gold);
}

.login-button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:7px;
padding:11px 14px;
border:1px solid var(--line);
border-radius:8px;
font-size:13px;
font-weight:800;
white-space:nowrap;
}

.login-button:hover{
border-color:var(--gold);
color:var(--gold);
}

.book-button{
display:inline-flex;
justify-content:center;
align-items:center;
gap:9px;
border:0;
border-radius:8px;
padding:13px 19px;
background:var(--gold);
color:var(--navy);
font-weight:800;
font-size:13px;
transition:.25s;
white-space:nowrap;
}

.book-button:hover{
background:var(--gold-light);
transform:translateY(-2px);
}

.desktop-book{display:inline-flex}
.mobile-book{display:none}

.hamburger{
display:none;
width:40px;
height:40px;
border:1px solid var(--line);
border-radius:8px;
background:var(--white);
color:var(--text);
font-size:19px;
align-items:center;
justify-content:center;
}

/* HERO */

.about-hero{
position:relative;
min-height:350px;
display:flex;
align-items:center;
overflow:hidden;
background:var(--navy);
isolation:isolate;
}

.about-hero:before{
content:"";
position:absolute;
inset:0;
z-index:-2;
background:
linear-gradient(90deg,rgba(10,22,42,.95),rgba(10,22,42,.73)),
url("../images/car.jpg")
center/cover no-repeat;
}

.about-hero:after{
content:"";
position:absolute;
width:350px;
height:350px;
border:1px solid rgba(201,166,107,.3);
border-radius:50%;
right:-100px;
bottom:-230px;
z-index:-1;
}

.hero-content{
padding-block:65px;
max-width:750px;
}

.hero-content .eyebrow{color:var(--gold-light)}

.hero-content h1{
font-size:clamp(36px,5.5vw,61px);
color:#fff;
margin-bottom:18px;
}

.hero-content p{
max-width:680px;
color:#e0e5ed;
font-size:16px;
line-height:1.9;
}

.breadcrumb{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:11px;
margin-top:23px;
color:#d9deea;
font-size:13px;
}

.breadcrumb a{
color:var(--gold-light);
font-weight:800;
}

/* INTRODUCTION */

.about-intro{background:var(--cream)}

.intro-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:center;
}

.intro-images{
position:relative;
padding:0 30px 30px 0;
}

.intro-main-image{
height:420px;
border-radius:12px;
overflow:hidden;
box-shadow:var(--shadow);
}

.intro-main-image img{
height:100%;
transition:transform .6s;
}

.intro-main-image:hover img{transform:scale(1.04)}

.intro-small-image{
position:absolute;
right:0;
bottom:0;
width:44%;
height:170px;
border:7px solid var(--cream);
border-radius:10px;
overflow:hidden;
}

.intro-small-image img{height:100%}

.intro-content h2{
font-size:clamp(29px,3.5vw,42px);
margin-bottom:18px;
}

.intro-content>p{
margin-bottom:14px;
font-size:15px;
line-height:1.9;
}

.intro-points{
display:grid;
gap:15px;
margin-top:23px;
}

.intro-point{
display:flex;
gap:13px;
align-items:flex-start;
}

.point-icon{
width:43px;
height:43px;
flex-shrink:0;
display:grid;
place-items:center;
color:var(--navy);
background:var(--gold);
border-radius:9px;
font-size:17px;
}

.intro-point h3{
font-family:'Manrope',sans-serif;
font-size:16px;
margin-bottom:4px;
}

.intro-point p{font-size:13px;line-height:1.7}

/* HISTORY */

.history-section{background:var(--white)}

.history-grid{
display:grid;
grid-template-columns:.85fr 1.15fr;
gap:45px;
align-items:center;
}

.history-image{
height:410px;
border-radius:12px;
overflow:hidden;
}

.history-image img{
height:100%;
transition:transform .6s;
}

.history-image:hover img{transform:scale(1.04)}

.timeline{
position:relative;
padding-left:25px;
border-left:2px solid var(--gold);
display:grid;
gap:24px;
}

.timeline-item{
position:relative;
padding:0 0 0 14px;
}

.timeline-item:before{
content:"";
position:absolute;
left:-33px;
top:5px;
width:14px;
height:14px;
border-radius:50%;
background:var(--gold);
border:3px solid var(--white);
box-shadow:0 0 0 2px var(--gold);
}

.timeline-item span{
color:var(--gold);
font-size:12px;
font-weight:800;
letter-spacing:1px;
}

.timeline-item h3{
font-family:'Manrope',sans-serif;
font-size:18px;
margin:6px 0;
}

.timeline-item p{
font-size:14px;
line-height:1.8;
}

/* STATS */

.stats-section{
background:var(--navy);
padding-block:40px;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.stat-item{
text-align:center;
padding:12px;
border-right:1px solid rgba(255,255,255,.15);
}

.stat-item:last-child{border:0}

.stat-item h3{
font-family:'Manrope',sans-serif;
font-size:clamp(29px,4vw,43px);
color:var(--gold-light);
margin-bottom:5px;
}

.stat-item p{
color:#d9e0ec;
font-size:13px;
font-weight:700;
}

/* MISSION AND VISION */

.mission-section{background:var(--cream)}

.mission-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:22px;
}

.mission-card{
position:relative;
overflow:hidden;
background:var(--white);
border:1px solid var(--line);
border-radius:12px;
padding:32px;
transition:.3s;
}

.mission-card:hover{
transform:translateY(-5px);
box-shadow:var(--shadow);
border-color:var(--gold);
}

.card-icon{
width:53px;
height:53px;
border-radius:10px;
background:var(--gold);
color:var(--navy);
display:grid;
place-items:center;
font-size:22px;
margin-bottom:20px;
}

.mission-card h3{
font-size:25px;
margin-bottom:12px;
}

.mission-card p{
font-size:14px;
line-height:1.9;
}

/* CORE VALUES */

.values-section{background:var(--white)}

.values-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
}

.value-card{
padding:25px 22px;
border:1px solid var(--line);
border-radius:11px;
background:var(--cream);
transition:.3s;
}

.value-card:hover{
transform:translateY(-5px);
box-shadow:var(--shadow);
border-color:var(--gold);
}

.value-card .card-icon{
width:47px;
height:47px;
font-size:19px;
margin-bottom:17px;
}

.value-card h3{
font-family:'Manrope',sans-serif;
font-size:17px;
margin-bottom:9px;
}

.value-card p{
font-size:13px;
line-height:1.8;
}

/* SERVICES */

.services-section{background:var(--cream)}

.services-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.service-card{
position:relative;
padding:27px;
background:var(--white);
border:1px solid var(--line);
border-radius:12px;
overflow:hidden;
transition:.3s;
}

.service-card:hover{
transform:translateY(-5px);
box-shadow:var(--shadow);
border-color:var(--gold);
}

.service-card .card-icon{
background:var(--navy);
color:var(--gold-light);
}

.service-card h3{
font-family:'Manrope',sans-serif;
font-size:19px;
margin-bottom:10px;
}

.service-card p{
font-size:14px;
line-height:1.8;
}

.service-card a{
display:inline-flex;
align-items:center;
gap:8px;
margin-top:17px;
font-size:13px;
font-weight:800;
color:var(--gold);
}

/* TEAM */

.team-section{background:var(--white)}

.team-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:23px;
}

.team-card{
overflow:hidden;
border:1px solid var(--line);
border-radius:12px;
background:var(--cream);
transition:.3s;
}

.team-card:hover{
transform:translateY(-6px);
box-shadow:var(--shadow);
}

.team-photo{
height:250px;
overflow:hidden;
background:var(--navy);
}

.team-photo img{
height:100%;
transition:transform .6s;
}

.team-card:hover .team-photo img{transform:scale(1.05)}

.team-info{padding:23px}

.team-info h3{
font-family:'Manrope',sans-serif;
font-size:19px;
margin-bottom:5px;
}

.team-role{
display:block;
font-size:12px;
font-weight:800;
color:var(--gold);
margin-bottom:13px;
}

.team-info p{
font-size:13px;
line-height:1.8;
}

.team-social{
display:flex;
gap:9px;
margin-top:17px;
}

.team-social a{
width:33px;
height:33px;
display:grid;
place-items:center;
border:1px solid var(--line);
border-radius:7px;
color:var(--text);
font-size:13px;
}

.team-social a:hover{
background:var(--gold);
color:var(--navy);
}

/* PROCESS */

.process-section{background:var(--cream)}

.process-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.process-card{
padding:28px;
border:1px solid var(--line);
border-radius:12px;
background:var(--white);
transition:.3s;
}

.process-card:hover{
transform:translateY(-5px);
box-shadow:var(--shadow);
}

.process-number{
width:52px;
height:52px;
border-radius:10px;
display:grid;
place-items:center;
background:var(--gold);
color:var(--navy);
font-size:21px;
margin-bottom:20px;
}

.process-card h3{
font-family:'Manrope',sans-serif;
font-size:19px;
margin-bottom:10px;
}

.process-card p{
font-size:14px;
line-height:1.8;
}

/* TESTIMONIALS */

.testimonials-section{background:var(--navy)}

.testimonials-section .section-heading h2{color:#fff}
.testimonials-section .section-heading p{color:#c7d0de}
.testimonials-section .eyebrow{color:var(--gold-light)}

.testimonials-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.testimonial-card{
background:#172945;
border:1px solid rgba(255,255,255,.13);
border-radius:12px;
padding:27px;
transition:.3s;
}

.testimonial-card:hover{
transform:translateY(-5px);
border-color:var(--gold);
}

.stars{
color:var(--gold-light);
font-size:14px;
letter-spacing:3px;
margin-bottom:15px;
}

.testimonial-card blockquote{
color:#e1e7ef;
font-size:14px;
line-height:1.9;
margin-bottom:20px;
}

.testimonial-person{
display:flex;
align-items:center;
gap:12px;
}

.person-avatar{
width:43px;
height:43px;
border-radius:50%;
background:var(--gold);
color:var(--navy);
display:grid;
place-items:center;
font-weight:800;
}

.testimonial-person h3{
font-family:'Manrope',sans-serif;
font-size:15px;
color:#fff;
}

.testimonial-person p{
font-size:12px;
color:#c2ccda;
}

/* CTA */

.cta-section{
background:var(--cream);
padding-block:55px;
}

.cta-box{
position:relative;
overflow:hidden;
background:var(--navy);
border-radius:14px;
padding:42px;
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
}

.cta-content{max-width:670px}

.cta-content h2{
font-size:clamp(27px,4vw,40px);
color:#fff;
margin-bottom:13px;
}

.cta-content p{
color:#d9e0ec;
font-size:15px;
}

.cta-box .book-button{flex-shrink:0}

/* FOOTER */

.site-footer{
background:#0a1425;
color:#fff;
}

.footer-main{
padding-block:55px 40px;
display:grid;
grid-template-columns:1.3fr 1fr 1fr 1.1fr;
gap:30px;
}

.footer-brand .brand-text strong{color:#fff}

.footer-brand>p{
color:#bdc7d5;
font-size:13px;
line-height:1.9;
margin-top:18px;
}

.footer-heading{
font-family:'Manrope',sans-serif;
color:#fff;
font-size:17px;
margin-bottom:19px;
}

.footer-links{
display:grid;
gap:11px;
}

.footer-links a{
display:inline-flex;
align-items:center;
gap:9px;
font-size:13px;
color:#bdc7d5;
transition:.25s;
}

.footer-links a:hover{
color:var(--gold-light);
transform:translateX(4px);
}

.footer-links i{
color:var(--gold);
width:15px;
}

.footer-contact{
display:grid;
gap:15px;
}

.footer-contact-item{
display:flex;
gap:11px;
align-items:flex-start;
}

.footer-contact-item>i{
width:36px;
height:36px;
flex-shrink:0;
display:grid;
place-items:center;
background:rgba(201,166,107,.15);
color:var(--gold-light);
border-radius:8px;
}

.footer-contact-item p,
.footer-contact-item a{
color:#bdc7d5;
font-size:13px;
line-height:1.7;
overflow-wrap:anywhere;
}

.social-links{
display:flex;
gap:9px;
}

.social-links a{
width:36px;
height:36px;
display:grid;
place-items:center;
border:1px solid rgba(255,255,255,.18);
border-radius:8px;
color:#fff;
transition:.25s;
}

.social-links a:hover{
background:var(--gold);
color:var(--navy);
}

.footer-bottom{
border-top:1px solid rgba(255,255,255,.12);
padding-block:19px;
}

.footer-bottom-inner{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
}

.footer-bottom p{
font-size:12px;
color:#aeb9c9;
}

/* BOOKING POPUP */

.booking-overlay{
position:fixed;
inset:0;
z-index:2000;
display:none;
align-items:center;
justify-content:center;
padding:18px;
background:rgba(4,12,25,.75);
backdrop-filter:blur(5px);
}

.booking-overlay.show{display:flex}

.booking-modal{
position:relative;
width:min(540px,100%);
max-height:90vh;
overflow-y:auto;
background:var(--white);
color:var(--text);
padding:30px;
border-radius:13px;
box-shadow:var(--shadow);
}

.booking-modal h2{
font-size:28px;
margin-bottom:8px;
}

.booking-modal>p{
font-size:14px;
margin-bottom:22px;
}

.modal-close{
position:absolute;
top:13px;
right:13px;
width:35px;
height:35px;
display:grid;
place-items:center;
border:1px solid var(--line);
border-radius:8px;
background:var(--cream);
color:var(--text);
}

.booking-form{
display:grid;
gap:14px;
}

.form-group{display:grid;gap:6px}

.form-group label{
font-size:13px;
font-weight:800;
color:var(--text);
}

.form-group input,
.form-group select,
.form-group textarea{
width:100%;
padding:12px;
border:1px solid var(--line);
background:var(--cream);
color:var(--text);
border-radius:8px;
outline:none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
border-color:var(--gold);
}

.form-group textarea{
min-height:90px;
resize:vertical;
}

.booking-form .book-button{width:100%}

.form-message{
display:none;
padding:12px;
border-radius:8px;
background:#e5f5e8;
color:#155724;
font-size:13px;
font-weight:700;
}

/* BACK TO TOP */

.back-to-top{
position:fixed;
right:20px;
bottom:20px;
z-index:900;
width:44px;
height:44px;
display:grid;
place-items:center;
border:0;
border-radius:9px;
background:var(--gold);
color:var(--navy);
font-size:17px;
box-shadow:var(--shadow);
opacity:0;
visibility:hidden;
transform:translateY(10px);
transition:.3s;
}

.back-to-top.show{
opacity:1;
visibility:visible;
transform:translateY(0);
}

/* ANIMATIONS */

.reveal{
opacity:0;
transform:translateY(22px);
transition:opacity .65s ease,transform .65s ease;
}

.reveal.visible{
opacity:1;
transform:translateY(0);
}

@keyframes fadeIn{
from{opacity:0;transform:translateY(15px)}
to{opacity:1;transform:translateY(0)}
}

.hero-content{animation:fadeIn .8s ease both}

@media(prefers-reduced-motion:reduce){
*,*::before,*::after{
scroll-behavior:auto!important;
animation-duration:.01ms!important;
transition-duration:.01ms!important;
}
.reveal{opacity:1;transform:none}
}

/* TABLET */

@media(max-width:1100px){
.container{width:calc(100% - 40px)}
.header-inner{gap:13px}
.desktop-nav{gap:13px}
.nav-link{font-size:12px}
.brand-text strong{font-size:18px}
.brand-icon{width:40px;height:40px}
.header-actions{gap:6px}
.login-button{padding:10px}
.desktop-book{padding:12px}
.footer-main{grid-template-columns:repeat(2,1fr)}
.intro-grid{gap:30px}
.values-grid{grid-template-columns:repeat(2,1fr)}
}

/* MOBILE NAVIGATION AND TABLET */

@media(max-width:900px){
.header-inner{
grid-template-columns:1fr auto;
min-height:76px;
}

.desktop-nav{
position:fixed;
top:76px;
left:20px;
right:20px;
width:auto;
max-height:calc(100dvh - 95px);
overflow-y:auto;
background:var(--white);
border:1px solid var(--line);
border-radius:12px;
box-shadow:var(--shadow);
padding:14px;
display:flex;
flex-direction:column;
align-items:stretch;
justify-content:flex-start;
gap:3px;
opacity:0;
visibility:hidden;
transform:translateY(-8px);
transition:.25s;
}

.desktop-nav.open{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.nav-link{
width:100%;
padding:12px;
font-size:14px;
border-radius:7px;
}

.nav-link.active:after{display:none}

.nav-link.active{background:rgba(201,166,107,.17)}

.nav-dropdown{width:100%}

.dropdown-menu{
position:static;
display:none;
width:100%;
opacity:1;
visibility:visible;
transform:none;
box-shadow:none;
border:0;
padding:0 0 5px 15px;
background:transparent;
}

.nav-dropdown.open .dropdown-menu{display:block}

.dropdown-menu a{padding:11px}

.hamburger{display:flex}
.desktop-book{display:none}
.mobile-book{display:flex;width:100%;margin-top:8px}
.login-button{display:none}

.intro-grid{grid-template-columns:1fr}
.intro-images{max-width:650px;width:100%;margin-inline:auto}
.history-grid{grid-template-columns:1fr}
.history-image{height:350px}
.team-grid{grid-template-columns:repeat(2,1fr)}
.services-grid{grid-template-columns:repeat(2,1fr)}
.testimonials-grid{grid-template-columns:repeat(2,1fr)}
.process-grid{grid-template-columns:repeat(2,1fr)}
.cta-box{padding:32px}
}

/* MOBILE */

@media(max-width:600px){
html{scroll-padding-top:75px}

.container{width:calc(100% - 32px)}
.section{padding-block:48px}

.header-inner{min-height:70px;gap:8px}
.brand{gap:8px}
.brand-icon{width:35px;height:35px;font-size:16px}
.brand-text strong{font-size:15px}
.brand-text span{font-size:7px;letter-spacing:1.2px}
.header-actions{gap:5px}
.icon-button,.hamburger{
width:34px;
height:34px;
font-size:14px;
}

.desktop-nav{
top:70px;
left:16px;
right:16px;
max-height:calc(100dvh - 86px);
}

.about-hero{min-height:330px}
.hero-content{padding-block:55px}
.hero-content h1{font-size:36px}
.hero-content p{font-size:14px}
.breadcrumb{font-size:12px}

.section-heading{margin-bottom:27px}
.section-heading h2,.intro-content h2{font-size:29px}
.section-heading p{font-size:14px}

.intro-grid{gap:30px}
.intro-images{padding:0 20px 22px 0}
.intro-main-image{height:290px}
.intro-small-image{
width:45%;
height:125px;
border-width:5px;
}
.intro-content>p{font-size:14px}
.intro-point h3{font-size:15px}
.intro-point p{font-size:12px}
.point-icon{width:39px;height:39px;font-size:15px}

.history-grid{gap:27px}
.history-image{height:280px}
.timeline{gap:20px}

.stats-section{padding-block:30px}
.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}
.stat-item{
padding:13px 5px;
border-right:0;
border-bottom:1px solid rgba(255,255,255,.15);
}
.stat-item h3{font-size:30px}
.stat-item p{font-size:11px}

.mission-grid,
.values-grid,
.services-grid,
.team-grid,
.process-grid,
.testimonials-grid{
grid-template-columns:1fr;
gap:16px;
}

.mission-card{padding:25px}
.mission-card h3{font-size:23px}
.mission-card p{font-size:14px}

.value-card,.service-card,.process-card{padding:23px}
.value-card p,.service-card p,.process-card p{font-size:13px}

.team-photo{height:260px}
.team-info{padding:21px}

.testimonial-card{padding:23px}
.testimonial-card blockquote{font-size:13px}

.cta-section{padding-block:40px}
.cta-box{
padding:27px 22px;
flex-direction:column;
align-items:flex-start;
gap:22px;
}
.cta-content h2{font-size:28px}
.cta-content p{font-size:14px}
.cta-box .book-button{width:100%}

.footer-main{
grid-template-columns:1fr;
gap:28px;
padding-block:40px 30px;
}

.footer-heading{margin-bottom:14px}
.footer-bottom-inner{
flex-direction:column;
text-align:center;
gap:8px;
}

.booking-modal{padding:25px 18px}
.booking-modal h2{font-size:24px;padding-right:30px}
.back-to-top{
width:40px;
height:40px;
right:13px;
bottom:13px;
}
}

/* SMALL MOBILE */

@media(max-width:380px){
.container{width:calc(100% - 26px)}
.brand-text strong{font-size:14px}
.brand-text span{font-size:6px}
.brand-icon{width:32px;height:32px}
.header-actions{gap:4px}
.icon-button,.hamburger{width:31px;height:31px}
.hero-content h1{font-size:31px}
.intro-main-image{height:250px}
}

/* ===== ABOUT PAGE POLISHED MOTION + DISTINCT SECTION LAYOUTS ===== */
:root{--motion-ease:cubic-bezier(.2,.75,.25,1)}
html{scroll-behavior:smooth}
.about-hero:before{animation:heroDrift 22s ease-in-out infinite alternate;will-change:transform}
.about-hero:after{animation:orbitFloat 12s ease-in-out infinite alternate}
@keyframes heroDrift{from{transform:scale(1) translateX(0)}to{transform:scale(1.08) translateX(-1.2%)}}
@keyframes orbitFloat{from{transform:translate(0,0) rotate(0)}to{transform:translate(-22px,-18px) rotate(12deg)}}
/* Cards no longer share one generic treatment */
.mission-grid{align-items:stretch;gap:26px}
.mission-card{border:0;border-radius:4px 22px 4px 22px;background:linear-gradient(135deg,var(--white),color-mix(in srgb,var(--gold) 9%,var(--white)));box-shadow:var(--shadow);border-top:4px solid var(--gold);transition:transform .45s var(--motion-ease),box-shadow .45s}
.mission-card:nth-child(2){border-top:0;border-bottom:4px solid var(--navy3);border-radius:22px 4px 22px 4px;background:var(--navy);color:#fff}
.mission-card:nth-child(2) h3,.mission-card:nth-child(2) p{color:#fff}
.mission-card:hover{transform:translateY(-9px);box-shadow:0 22px 48px rgba(16,29,53,.16)}
.values-grid{align-items:stretch;gap:0;border-block:1px solid var(--line)}
.value-card{background:transparent!important;border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;padding:28px 24px!important;transition:background .35s,transform .35s}
.value-card:last-child{border-right:0!important}
.value-card:hover{background:color-mix(in srgb,var(--gold) 10%,transparent)!important;transform:translateY(-5px)}
.services-grid{gap:20px}
.service-card{border:1px solid var(--line)!important;border-radius:16px 4px 16px 4px!important;box-shadow:none!important;transition:transform .45s var(--motion-ease),box-shadow .45s,border-color .3s!important}
.service-card:nth-child(even){border-radius:4px 16px 4px 16px!important;transform:translateY(16px)}
.service-card:hover{transform:translateY(-8px)!important;box-shadow:var(--shadow)!important;border-color:var(--gold)!important}
.team-grid{gap:26px}
.team-card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.team-card img{border-radius:48% 48% 12px 12px!important;transition:transform .65s var(--motion-ease),filter .5s}
.team-card:hover img{transform:translateY(-8px) scale(1.025);filter:saturate(1.08)}
.process-grid{display:flex!important;flex-wrap:wrap;gap:18px!important;counter-reset:driveStep}
.process-card{flex:1 1 190px;background:transparent!important;border:0!important;border-top:2px solid var(--gold)!important;border-radius:0!important;box-shadow:none!important;padding:25px 18px!important;position:relative;transition:transform .4s var(--motion-ease)}
.process-card:before{counter-increment:driveStep;content:'0' counter(driveStep);font:800 34px 'Manrope',sans-serif;color:var(--gold);display:block;margin-bottom:12px;opacity:.8}
.process-card:hover{transform:translateY(-7px)}
.testimonials-grid{gap:22px}
.testimonial-card{border:0!important;border-radius:18px 4px 18px 4px!important;background:var(--white)!important;box-shadow:var(--shadow)!important;position:relative;transition:transform .4s var(--motion-ease)}
.testimonial-card:nth-child(2){transform:translateY(18px);border-radius:4px 18px 4px 18px!important}
.testimonial-card:hover{transform:translateY(-8px)!important}
/* Rich, accessible reveal motion */
.reveal{opacity:0;transform:translate3d(0,34px,0);filter:blur(3px);transition:opacity .8s var(--motion-ease),transform .8s var(--motion-ease),filter .8s var(--motion-ease);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform,filter}
.reveal.visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.reveal.from-left{transform:translate3d(-42px,12px,0);}
.reveal.from-right{transform:translate3d(42px,12px,0)}
.reveal.zoom-in{transform:scale(.94);}
.reveal.visible.from-left,.reveal.visible.from-right{transform:translate3d(0,0,0)}
.reveal.visible.zoom-in{transform:scale(1)}
.intro-main-image img,.history-image img{transition:transform 1s var(--motion-ease),filter .8s}
.intro-main-image:hover img,.history-image:hover img{transform:scale(1.055);filter:saturate(1.08)}
.book-button,.icon-button,.login-button{transition:transform .3s var(--motion-ease),background .3s,color .3s,box-shadow .3s}
.book-button:hover{box-shadow:0 10px 24px rgba(201,166,107,.25)}
@media(max-width:900px){.service-card:nth-child(even),.testimonial-card:nth-child(2){transform:none}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.value-card:nth-child(2){border-right:0!important}.value-card:nth-child(-n+2){border-bottom:1px solid var(--line)!important}}
@media(max-width:600px){.mission-card{padding:24px!important}.values-grid{grid-template-columns:1fr}.value-card,.value-card:nth-child(2){border-right:0!important;border-bottom:1px solid var(--line)!important}.value-card:last-child{border-bottom:0!important}.process-card{flex-basis:100%}.reveal,.reveal.from-left,.reveal.from-right{transform:translate3d(0,22px,0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal,.reveal.from-left,.reveal.from-right,.reveal.zoom-in{opacity:1;transform:none;filter:none}}


/* FINAL VISIBILITY + STRONGER HEADER FIX */
.site-header .brand-text strong{font-weight:900!important;letter-spacing:.45px!important}
.site-header .nav-link{font-weight:900!important;font-size:13.5px!important;text-shadow:0 0 .01px currentColor}
.site-header .login-button,.site-header .book-button{font-weight:900!important}
/* Keep card copy readable in both themes, including any nested box/card */
.mission-card,.value-card,.service-card,.team-card,.process-card,.testimonial-card,
.mission-card p,.value-card p,.service-card p,.team-card p,.process-card p,.testimonial-card p,
.mission-card li,.value-card li,.service-card li,.team-card li,.process-card li,.testimonial-card li{
 color:var(--text)!important;opacity:1!important}
.mission-card p,.value-card p,.service-card p,.team-card p,.process-card p,.testimonial-card p{color:var(--muted)!important}
body:not(.dark-mode) .mission-card,body:not(.dark-mode) .value-card,body:not(.dark-mode) .service-card,
body:not(.dark-mode) .team-card,body:not(.dark-mode) .process-card,body:not(.dark-mode) .testimonial-card{
 background:#fff!important;color:#101d35!important}
body:not(.dark-mode) .mission-card p,body:not(.dark-mode) .value-card p,body:not(.dark-mode) .service-card p,
body:not(.dark-mode) .team-card p,body:not(.dark-mode) .process-card p,body:not(.dark-mode) .testimonial-card p{color:#4e5b70!important}




/* ===== UPDATED HEADER DROPDOWN ICONS ===== */
.dropdown-menu a{
  display:flex;
  align-items:center;
  gap:10px;
}
.dropdown-menu a i{
  width:17px;
  color:var(--gold);
  flex-shrink:0;
}
.dropdown-toggle > i:first-child{color:var(--gold);font-size:12px;}
@media(max-width:900px){
  .dropdown-toggle > i:first-child{display:inline-block;}
}


/* DOCUMENT PAGE STYLES */
.document-page{
overflow:hidden
}

.doc-section{
min-height:560px;padding-block:56px;display:flex;align-items:center;position:relative
}

.doc-section>.container{
width:min(var(--container),calc(100% - 48px))
}

.doc-hero{
min-height:570px;background:var(--navy);color:#fff
}

.doc-hero:before{
content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 50%,rgba(201,166,107,.18),transparent 34%),linear-gradient(110deg,#101d35 0%,#172945 60%,#203755 100%);z-index:0
}

.doc-hero-grid{
position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center
}

.doc-hero-copy h1{
font-size:clamp(38px,5vw,60px);color:#fff;margin-bottom:17px
}

.doc-hero-copy p{
max-width:650px;color:#dce3ec;font-size:16px;line-height:1.85
}

.doc-hero .eyebrow{
color:var(--gold-light)
}

.doc-hero-actions{
display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:26px
}

.doc-text-link{
font-size:13px;font-weight:800;color:var(--gold-light);display:inline-flex;gap:8px;align-items:center
}

.document-visual{
height:390px;position:relative;display:grid;place-items:center
}

.paper{
position:absolute;width:280px;height:355px;border-radius:12px;box-shadow:0 25px 55px rgba(0,0,0,.28)
}

.paper-back{
background:#c7a56e;transform:rotate(-8deg) translate(-15px,8px);opacity:.45
}

.paper-mid{
background:#e7dfd0;transform:rotate(6deg) translate(12px,2px)
}

.paper-main{
background:#fff;padding:25px 25px;color:var(--navy);transform:rotate(-1deg);z-index:2
}

.paper-top{
display:flex;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:1.5px;color:var(--gold)
}

.paper-main h3{
font-family:"Manrope",sans-serif;font-size:21px;margin:28px 0 12px;color:var(--navy)
}

.paper-line{
height:1px;background:#d9dce0;margin-bottom:17px
}

.check-row{
display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e6e8eb;font-size:13px;font-weight:700
}

.check-row i{
color:#6f8b62
}

.paper-stamp{
position:absolute;right:20px;bottom:18px;border:2px solid var(--gold);color:#9b783b;padding:5px 9px;border-radius:5px;font-size:10px;font-weight:900;letter-spacing:1px;transform:rotate(-8deg)
}

.doc-steps{
background:var(--cream)
}

.doc-heading{
text-align:center;max-width:680px;margin:0 auto 30px
}

.doc-heading h2,.special-heading h2,.review-copy h2,.dossier-copy h2,.checklist-intro h2,.doc-cta-box h2{
font-size:clamp(30px,4vw,44px);margin-bottom:12px
}

.doc-heading p{
font-size:14px;line-height:1.8
}

.steps-line{
display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)
}

.step-item{
padding:25px 22px;border-right:1px solid var(--line);position:relative
}

.step-item:last-child{
border-right:0
}

.step-no{
position:absolute;top:-13px;left:20px;background:var(--gold);color:var(--navy);padding:4px 9px;border-radius:20px;font-size:10px;font-weight:900
}

.step-item i{
font-size:23px;color:var(--gold);margin-bottom:12px
}

.step-item h3{
font-family:"Manrope",sans-serif;font-size:18px;margin-bottom:7px
}

.step-item p{
font-size:13px;line-height:1.75
}

.doc-checklist{
background:var(--white)
}

.checklist-layout{
display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center
}

.checklist-intro>p{
font-size:14px;line-height:1.85
}

.check-note{
margin-top:20px;padding:13px 15px;border-left:3px solid var(--gold);background:var(--cream);display:flex;gap:10px;font-size:12px;color:var(--muted)
}

.check-note i{
color:var(--gold);margin-top:3px
}

.check-board{
display:grid;grid-template-columns:repeat(2,1fr);gap:14px
}

.check-card{
padding:21px;background:var(--cream);border:1px solid var(--line);border-radius:11px;display:flex;gap:14px;transition:.3s
}

.check-card:hover{
transform:translateY(-5px);border-color:var(--gold);box-shadow:var(--shadow)
}

.check-card-icon{
width:43px;height:43px;flex-shrink:0;border-radius:9px;background:var(--navy);color:var(--gold-light);display:grid;place-items:center
}

.check-card h3{
font-family:"Manrope",sans-serif;font-size:16px;margin-bottom:5px
}

.check-card p{
font-size:12px;line-height:1.65
}

.check-card small{
display:block;margin-top:8px;color:var(--gold);font-size:10px;font-weight:800;line-height:1.5
}

.doc-dossier{
background:#f1ece3
}

.dossier-layout{
display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center
}

.folder-visual{
height:360px;position:relative;display:grid;place-items:center
}

.folder-tab{
position:absolute;top:25px;left:15%;background:var(--gold);color:var(--navy);font-size:10px;font-weight:900;padding:8px 16px;border-radius:7px 7px 0 0;z-index:2
}

.folder-sheet{
width:300px;height:280px;background:#fff;border:1px solid #d8d0c3;border-radius:4px 10px 10px 10px;padding:25px;box-shadow:15px 20px 35px rgba(16,29,53,.12);transform:rotate(-3deg)
}

.sheet-head{
display:flex;gap:10px;align-items:center;color:var(--navy);font-weight:900;font-size:12px;border-bottom:1px solid #ddd5c8;padding-bottom:15px;margin-bottom:13px
}

.sheet-head i{
color:var(--gold);font-size:20px
}

.mini-row{
padding:10px 0;border-bottom:1px dashed #ddd5c8;font-size:12px;font-weight:700;color:var(--muted)
}

.mini-row i{
color:#718765;margin-right:8px
}

.mini-sign{
margin-top:18px;display:inline-block;border:1px solid var(--gold);padding:5px 8px;color:#9b783b;font-size:9px;font-weight:900;letter-spacing:1px
}

.dossier-copy>p{
font-size:14px;line-height:1.85
}

.dossier-list{
display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:22px
}

.dossier-list>div{
display:flex;gap:10px;align-items:flex-start
}

.dossier-list span{
font-size:11px;color:var(--gold);font-weight:900
}

.dossier-list p{
font-size:12px;line-height:1.6
}

.dossier-list strong{
font-family:"Manrope",sans-serif;color:var(--text)
}

.doc-special{
background:var(--navy);color:#fff
}

.special-wrap{
width:100%
}

.special-heading{
text-align:center;max-width:680px;margin:0 auto 30px
}

.special-heading h2{
color:#fff
}

.special-heading p{
color:#cbd4df;font-size:14px
}

.special-heading .eyebrow{
color:var(--gold-light)
}

.special-grid{
display:grid;grid-template-columns:repeat(2,1fr);gap:15px
}

.special-item{
display:flex;gap:15px;padding:22px;background:#172945;border:1px solid rgba(255,255,255,.1);border-radius:10px;transition:.3s
}

.special-item:hover{
transform:translateY(-4px);border-color:var(--gold)
}

.special-item>i{
color:var(--gold-light);font-size:22px;width:32px
}

.special-item h3{
font-family:"Manrope",sans-serif;font-size:17px;color:#fff;margin-bottom:5px
}

.special-item p{
font-size:12px;color:#c4cedb;line-height:1.7
}

.doc-review{
background:var(--cream)
}

.review-layout{
display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center
}

.review-copy>p{
font-size:14px;line-height:1.85;margin-bottom:22px
}

.doc-outline-button{
display:inline-flex;align-items:center;gap:9px;border:1px solid var(--gold);padding:12px 16px;border-radius:8px;color:var(--text);font-size:12px;font-weight:800
}

.doc-outline-button:hover{
background:var(--gold);color:var(--navy)
}

.review-board{
background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow)
}

.review-title{
display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:5px
}

.review-title>i{
width:42px;height:42px;background:var(--gold);color:var(--navy);border-radius:8px;display:grid;place-items:center
}

.review-title strong{
display:block;font-family:"Manrope",sans-serif;font-size:14px
}

.review-title span{
display:block;color:var(--muted);font-size:11px;margin-top:3px
}

.review-row{
display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;padding:12px 3px;border-bottom:1px solid var(--line);font-size:12px
}

.review-row:last-child{
border-bottom:0
}

.review-row i{
color:#718765
}

.review-row b{
font-size:9px;color:#718765;border:1px solid #9eaf96;padding:3px 6px;border-radius:10px
}

.doc-cta{
background:var(--white);min-height:420px
}

.doc-cta-box{
width:100%;background:var(--navy);border-radius:14px;padding:45px;display:flex;justify-content:space-between;align-items:center;gap:30px
}

.doc-cta-box h2{
color:#fff
}

.doc-cta-box p{
color:#d2dae5;max-width:650px;font-size:14px;line-height:1.8
}

.doc-cta-box .eyebrow{
color:var(--gold-light)
}

body:has(.document-page) .dropdown-menu a{
display:block;padding:11px 12px;border-radius:7px;font-size:13px;font-weight:700
}

@media(max-width:900px){
.doc-section{min-height:auto;padding-block:48px}.doc-hero{min-height:620px}.doc-hero-grid,.checklist-layout,.dossier-layout,.review-layout{grid-template-columns:1fr;gap:30px}.document-visual{height:360px}.steps-line{grid-template-columns:1fr 1fr}.step-item:nth-child(2){border-right:0}.step-item:nth-child(3),.step-item:nth-child(4){border-top:1px solid var(--line)}.check-board,.special-grid,.dossier-list{grid-template-columns:1fr 1fr}.doc-cta{min-height:auto}.doc-cta-box{padding:32px;flex-direction:column;align-items:flex-start}.doc-cta-box .book-button{width:100%}
}

@media(max-width:600px){
.doc-section>.container{width:calc(100% - 32px)}.doc-hero{min-height:680px}.doc-hero-copy h1{font-size:36px}.doc-hero-copy p{font-size:14px}.document-visual{height:320px}.paper{width:235px;height:300px}.paper-main{padding:20px}.paper-main h3{font-size:17px;margin-top:22px}.steps-line,.check-board,.special-grid,.dossier-list{grid-template-columns:1fr}.step-item{border-right:0!important;border-bottom:1px solid var(--line)}.step-item:last-child{border-bottom:0}.folder-sheet{width:270px;height:270px}.folder-visual{height:320px}.doc-cta-box{padding:28px 22px}.doc-cta-box h2{font-size:29px}
}


/* === CLEANED PAGE-SPECIFIC STYLES === */

/* === PAGE INDEX (scoped) === */
/* =========================================================
   ROOT
========================================================= */
body.page-index{
    --navy:#101d35;
    --navy2:#172945;
    --navy3:#203755;

    --gold:#c9a66b;
    --gold-light:#e6ca97;

    --cream:#faf7f0;
    --white:#ffffff;

    --text:#101d35;
    --muted:#4e5b70;

    --line:#dededc;

    --shadow:0 15px 40px rgba(16,29,53,.10);

    --container:1200px;

    --ease:cubic-bezier(.2,.75,.25,1);
}


/* =========================================================
   RESET
========================================================= */


html{
    scroll-behavior:smooth;
}

body.page-index{
    margin:0;
    font-family:"DM Sans",sans-serif;
    color:var(--text);
    background:var(--white);
    overflow-x:hidden;
}

body.page-index img{
    width:100%;
    display:block;
}





body.page-index button{
    cursor:pointer;
}

body.page-index .container{
    width:min(var(--container),calc(100% - 48px));
    margin:auto;
}

body.page-index .section{
    padding:90px 0;
}

body.page-index .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;

    color:var(--gold);

    font-size:11px;
    font-weight:800;

    letter-spacing:2px;
    text-transform:uppercase;

    margin-bottom:14px;
}

body.page-index .eyebrow:before{
    content:"";

    width:30px;
    height:1px;

    background:var(--gold);
}

body.page-index h1,
body.page-index h2,
body.page-index h3,
body.page-index h4{
    font-family:"Playfair Display",serif;
}

body.page-index h2{
    font-size:clamp(36px,4vw,56px);
    line-height:1.08;
}

body.page-index p{
    color:var(--muted);
    line-height:1.75;
}

body.page-index .book-btn{
    display:flex;
    align-items:center;
    gap:8px;

    padding:12px 17px;

    background:var(--navy);
    color:white;

    font-size:11px;
    font-weight:800;

    transition:.3s;
}

body.page-index .book-btn:hover{
    background:var(--gold);
    color:var(--navy);

    transform:translateY(-2px);
}

body.page-index .menu-toggle{
    display:none;

    width:40px;
    height:40px;

    background:var(--navy);
    color:white;

    border:0;
}


/* =========================================================
   HERO
========================================================= */
body.page-index .hero{
    position:relative;

    min-height:760px;

    padding-top:82px;

    background:
        linear-gradient(
            90deg,
            var(--navy) 0%,
            var(--navy) 46%,
            var(--navy2) 46%,
            var(--navy2) 100%
        );

    overflow:hidden;
}

body.page-index .hero-ring{
    position:absolute;

    width:600px;
    height:600px;

    right:-230px;
    top:-180px;

    border:1px solid rgba(201,166,107,.25);

    border-radius:50%;

    animation:dc-index-spin 18s linear infinite;
}

body.page-index .hero-ring.two{
    width:390px;
    height:390px;

    right:-60px;
    top:-65px;

    border-color:rgba(201,166,107,.12);

    animation-duration:12s;
    animation-direction:reverse;
}

@keyframes dc-index-spin{
    from{
        transform:rotate(0);
    }

    to{
        transform:rotate(360deg);
    }
}

body.page-index .hero-grid{
    min-height:678px;

    display:grid;

    grid-template-columns:.92fr 1.08fr;

    align-items:center;

    gap:60px;

    position:relative;
    z-index:2;
}

body.page-index .hero-copy{
    color:white;
}

body.page-index .hero-copy .eyebrow{
    color:var(--gold-light);
}

body.page-index .hero-copy h1{
    font-size:clamp(50px,6vw,82px);

    line-height:.98;

    letter-spacing:-2px;

    margin-bottom:25px;
}

body.page-index .hero-copy h1 span{
    color:var(--gold-light);
}

body.page-index .hero-copy>p{
    max-width:570px;

    color:rgba(255,255,255,.72);

    font-size:16px;

    margin-bottom:30px;
}

body.page-index .hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:11px;
}

body.page-index .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:9px;

    min-height:48px;

    padding:0 20px;

    font-size:11px;
    font-weight:800;

    transition:.35s var(--ease);
}

body.page-index .btn-primary{
    background:var(--gold);
    color:var(--navy);
}

body.page-index .btn-primary:hover{
    background:var(--gold-light);

    transform:translateY(-4px);
}

body.page-index .btn-outline{
    border:1px solid rgba(255,255,255,.35);
    color:white;
}

body.page-index .btn-outline:hover{
    background:white;
    color:var(--navy);

    transform:translateY(-4px);
}

body.page-index .hero-visual{
    height:570px;

    position:relative;
}

body.page-index .hero-image{
    position:absolute;

    right:0;
    top:20px;

    width:88%;
    height:500px;

    overflow:hidden;

    border-radius:4px 75px 4px 75px;

    box-shadow:0 35px 75px rgba(0,0,0,.3);

    animation:dc-index-heroFloat 7s ease-in-out infinite;
}

body.page-index .hero-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    transform:scale(1.04);
}

body.page-index .hero-image:after{
    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        180deg,
        rgba(16,29,53,.02),
        rgba(16,29,53,.55)
    );
}

body.page-index .hero-frame{
    position:absolute;

    right:-17px;
    top:5px;

    width:88%;
    height:500px;

    border:1px solid rgba(201,166,107,.65);

    border-radius:4px 75px 4px 75px;
}

@keyframes dc-index-heroFloat{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

}

body.page-index .hero-badge{
    position:absolute;

    z-index:5;

    display:flex;
    align-items:center;

    gap:11px;

    padding:13px 16px;

    background:white;

    color:var(--navy);

    box-shadow:0 18px 45px rgba(0,0,0,.22);

    font-size:11px;
    font-weight:800;

    animation:dc-index-badgeFloat 5s ease-in-out infinite;
}

body.page-index .hero-badge i{
    color:var(--gold);

    font-size:18px;
}

body.page-index .badge-one{
    left:-20px;
    top:105px;
}

body.page-index .badge-two{
    right:-25px;
    bottom:110px;

    animation-delay:1.1s;
}

@keyframes dc-index-badgeFloat{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

}

body.page-index .hero-circle{
    position:absolute;

    left:-30px;
    bottom:0;

    width:115px;
    height:115px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--gold);
    color:var(--navy);

    box-shadow:0 18px 40px rgba(0,0,0,.2);

    animation:dc-index-circlePulse 4s ease-in-out infinite;
}

body.page-index .hero-circle strong{
    font-family:"Playfair Display",serif;

    font-size:31px;
}

body.page-index .hero-circle span{
    font-size:8px;
    font-weight:800;

    letter-spacing:1px;
    text-transform:uppercase;
}

@keyframes dc-index-circlePulse{

    0%,
    100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.06);
    }

}


/* =========================================================
   INTRO
========================================================= */
body.page-index .intro{
    background:var(--cream);
}

body.page-index .intro-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:75px;

    align-items:center;
}

body.page-index .intro-images{
    min-height:510px;

    position:relative;
}

body.page-index .intro-main-image{
    width:78%;
    height:440px;

    overflow:hidden;

    border-radius:70px 4px 70px 4px;

    box-shadow:var(--shadow);
}

body.page-index .intro-main-image img{
    height:100%;
    object-fit:cover;

    transition:1s var(--ease);
}

body.page-index .intro-images:hover .intro-main-image img{
    transform:scale(1.07);
}

body.page-index .intro-small-image{
    position:absolute;

    right:0;
    bottom:0;

    width:45%;
    height:210px;

    overflow:hidden;

    border:8px solid var(--cream);

    border-radius:4px 45px 4px 45px;

    box-shadow:var(--shadow);
}

body.page-index .intro-small-image img{
    height:100%;
    object-fit:cover;
}

body.page-index .intro-label{
    position:absolute;

    left:-15px;
    bottom:65px;

    padding:16px 20px;

    background:var(--navy);
    color:white;

    box-shadow:var(--shadow);

    font-size:11px;
    font-weight:700;
}

body.page-index .intro-label strong{
    display:block;

    color:var(--gold-light);

    font-family:"Playfair Display",serif;

    font-size:25px;
}

body.page-index .intro-copy h2{
    margin-bottom:20px;
}

body.page-index .intro-copy p{
    margin-bottom:15px;
}

body.page-index .check-list{
    display:grid;

    gap:13px;

    margin-top:27px;
}

body.page-index .check-item{
    display:flex;
    align-items:center;

    gap:12px;

    font-size:12px;
    font-weight:700;
}

body.page-index .check-item i{
    width:31px;
    height:31px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:rgba(201,166,107,.16);

    color:var(--gold);
}


/* =========================================================
   SERVICE INTRO
========================================================= */
body.page-index .service-section{
    background:white;
}

body.page-index .heading-row{
    display:flex;

    justify-content:space-between;
    align-items:flex-end;

    gap:35px;

    margin-bottom:45px;
}

body.page-index .heading-row .section-heading{
    margin:0;
}

body.page-index .section-heading{
    max-width:720px;
}

body.page-index .section-heading p{
    margin-top:15px;
}

body.page-index .big-number{
    font-family:"Playfair Display",serif;

    font-size:100px;

    line-height:.7;

    color:rgba(201,166,107,.16);
}


/* =========================================================
   SERVICES
========================================================= */
body.page-index .services-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;
}

body.page-index .service-card{
    min-height:450px;

    position:relative;

    overflow:hidden;

    color:white;

    background:var(--navy);
}

body.page-index .service-card:nth-child(1){
    border-radius:70px 4px 4px 4px;
}

body.page-index .service-card:nth-child(2){
    border-radius:4px 70px 4px 4px;
}

body.page-index .service-card:nth-child(3){
    border-radius:4px 4px 4px 70px;
}

body.page-index .service-card:nth-child(4){
    border-radius:4px 4px 70px 4px;
}

body.page-index .service-image{
    position:absolute;
    inset:0;
}

body.page-index .service-image img{
    height:100%;
    object-fit:cover;

    opacity:.65;

    transition:
        transform .9s var(--ease),
        opacity .5s ease;
}

body.page-index .service-card:hover .service-image img{
    transform:scale(1.1);

    opacity:.42;
}

body.page-index .service-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(16,29,53,.05) 15%,
            rgba(16,29,53,.96) 100%
        );
}

body.page-index .service-content{
    position:absolute;

    left:30px;
    right:30px;
    bottom:29px;

    z-index:3;
}

body.page-index .service-icon{
    width:48px;
    height:48px;

    display:grid;
    place-items:center;

    background:var(--gold);

    color:var(--navy);

    margin-bottom:17px;

    transition:.4s var(--ease);
}

body.page-index .service-card:hover .service-icon{
    transform:rotate(-8deg) scale(1.1);
}

body.page-index .service-content h3{
    font-size:31px;

    margin-bottom:8px;
}

body.page-index .service-content p{
    max-width:470px;

    color:rgba(255,255,255,.72);

    font-size:12px;
}

body.page-index .service-content a{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-top:17px;

    color:var(--gold-light);

    font-size:10px;
    font-weight:800;

    text-transform:uppercase;
    letter-spacing:1px;
}

body.page-index .service-content a i{
    transition:.3s;
}

body.page-index .service-content a:hover i{
    transform:translateX(6px);
}


/* =========================================================
   SERVICE STORY
========================================================= */
body.page-index .service-story{
    background:var(--navy);

    color:white;
}

body.page-index .service-story-grid{
    display:grid;

    grid-template-columns:.82fr 1.18fr;

    gap:75px;

    align-items:center;
}

body.page-index .service-story-copy h2{
    font-size:clamp(40px,4vw,60px);

    margin-bottom:20px;
}

body.page-index .service-story-copy p{
    color:rgba(255,255,255,.65);
}

body.page-index .gold-button{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-top:27px;

    padding:14px 20px;

    background:var(--gold);
    color:var(--navy);

    font-size:10px;
    font-weight:800;

    transition:.3s;
}

body.page-index .gold-button:hover{
    background:var(--gold-light);

    transform:translateY(-3px);
}

body.page-index .story-list{
    border-top:1px solid rgba(255,255,255,.15);
}

body.page-index .story-item{
    display:grid;

    grid-template-columns:65px 1fr 40px;

    align-items:center;

    min-height:105px;

    gap:17px;

    border-bottom:1px solid rgba(255,255,255,.15);

    transition:.35s;
}

body.page-index .story-item:hover{
    padding-left:12px;

    background:rgba(255,255,255,.035);
}

body.page-index .story-number{
    font-family:"Playfair Display",serif;

    font-size:28px;

    color:var(--gold);
}

body.page-index .story-item h3{
    font-family:"Manrope",sans-serif;

    font-size:15px;

    margin-bottom:4px;
}

body.page-index .story-item p{
    color:rgba(255,255,255,.5);

    font-size:11px;
}

body.page-index .story-arrow{
    width:35px;
    height:35px;

    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.2);

    color:var(--gold);
}


/* =========================================================
   DOCUMENTS
========================================================= */
body.page-index .documents{
    background:var(--cream);
}

body.page-index .document-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;
}

body.page-index .document-photo{
    position:relative;

    min-height:500px;
}

body.page-index .document-photo-main{
    width:84%;
    height:485px;

    overflow:hidden;

    border-radius:4px 75px 4px 75px;
}

body.page-index .document-photo-main img{
    height:100%;
    object-fit:cover;

    transition:1s var(--ease);
}

body.page-index .document-photo:hover img{
    transform:scale(1.07);
}

body.page-index .document-note{
    position:absolute;

    right:0;
    top:55px;

    width:230px;

    padding:20px;

    background:white;

    border-left:3px solid var(--gold);

    box-shadow:var(--shadow);
}

body.page-index .document-note h3{
    font-size:21px;

    margin-bottom:8px;
}

body.page-index .document-note p{
    font-size:11px;

    line-height:1.6;
}

body.page-index .document-copy h2{
    margin-bottom:18px;
}

body.page-index .document-copy>p{
    margin-bottom:25px;
}

body.page-index .document-items{
    display:grid;

    gap:15px;
}

body.page-index .document-item{
    display:flex;

    gap:13px;

    align-items:flex-start;
}

body.page-index .document-icon{
    flex:0 0 35px;

    width:35px;
    height:35px;

    display:grid;
    place-items:center;

    border:1px solid var(--gold);

    color:var(--gold);
}

body.page-index .document-item h4{
    font-family:"Manrope",sans-serif;

    font-size:13px;

    margin-bottom:3px;
}

body.page-index .document-item p{
    font-size:11px;

    line-height:1.55;
}


/* =========================================================
   PROCESS
========================================================= */
body.page-index .process{
    background:white;
}

body.page-index .process-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    position:relative;

    margin-top:50px;
}

body.page-index .process-grid:before{
    content:"";

    position:absolute;

    top:32px;
    left:8%;
    right:8%;

    height:1px;

    background:var(--line);
}

body.page-index .process-card{
    position:relative;

    text-align:center;

    padding:0 15px;
}

body.page-index .process-number{
    position:relative;
    z-index:2;

    width:64px;
    height:64px;

    margin:auto;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--cream);

    border:1px solid var(--gold);

    color:var(--navy);

    font-family:"Playfair Display",serif;

    font-size:21px;

    transition:.4s var(--ease);
}

body.page-index .process-card:hover .process-number{
    background:var(--gold);

    transform:translateY(-8px) rotate(8deg);
}

body.page-index .process-card h3{
    font-family:"Manrope",sans-serif;

    font-size:15px;

    margin-top:22px;
}

body.page-index .process-card p{
    font-size:11px;

    margin-top:7px;
}


/* =========================================================
   FEATURE
========================================================= */
body.page-index .feature{
    background:white;

    padding-top:30px;
}

body.page-index .feature-box{
    display:grid;

    grid-template-columns:1fr 1fr;

    min-height:550px;

    overflow:hidden;

    border-radius:4px 75px 4px 75px;

    background:var(--cream);
}

body.page-index .feature-image{
    overflow:hidden;
}

body.page-index .feature-image img{
    height:100%;
    object-fit:cover;

    transition:1s var(--ease);
}

body.page-index .feature-box:hover .feature-image img{
    transform:scale(1.07);
}

body.page-index .feature-copy{
    padding:60px;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

body.page-index .feature-copy h2{
    margin-bottom:18px;
}

body.page-index .feature-copy>p{
    margin-bottom:20px;
}

body.page-index .feature-points{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;
}

body.page-index .feature-point{
    padding:15px;

    background:white;

    border-left:2px solid var(--gold);
}

body.page-index .feature-point strong{
    display:block;

    font-size:11px;

    margin-bottom:5px;
}

body.page-index .feature-point span{
    font-size:10px;

    color:var(--muted);

    line-height:1.5;
}


/* =========================================================
   WHY
========================================================= */
body.page-index .why{
    background:var(--cream);
}

body.page-index .why-grid{
    display:grid;

    grid-template-columns:.85fr 1.15fr;

    gap:75px;
}

body.page-index .why-copy{
    position:sticky;
    top:110px;
}

body.page-index .why-copy h2{
    margin-bottom:18px;
}

body.page-index .why-stat{
    display:flex;
    align-items:center;

    gap:15px;

    margin-top:30px;
}

body.page-index .why-stat strong{
    color:var(--gold);

    font-family:"Playfair Display",serif;

    font-size:60px;
}

body.page-index .why-stat span{
    font-size:10px;
    font-weight:800;

    letter-spacing:1px;

    text-transform:uppercase;
}

body.page-index .why-list{
    display:grid;

    grid-template-columns:1fr 1fr;

    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
}

body.page-index .why-item{
    min-height:185px;

    padding:27px;

    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);

    transition:.4s var(--ease);
}

body.page-index .why-item:hover{
    background:white;

    transform:translateY(-5px);

    box-shadow:var(--shadow);

    position:relative;
    z-index:2;
}

body.page-index .why-icon{
    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    background:var(--navy);
    color:var(--gold);

    margin-bottom:17px;
}

body.page-index .why-item h3{
    font-family:"Manrope",sans-serif;

    font-size:14px;

    margin-bottom:6px;
}

body.page-index .why-item p{
    font-size:11px;

    line-height:1.6;
}


/* =========================================================
   HELP
========================================================= */
body.page-index .help{
    background:white;
}

body.page-index .help-box{
    position:relative;

    padding:65px;

    background:var(--navy);

    color:white;

    overflow:hidden;

    border-radius:70px 4px 70px 4px;
}

body.page-index .help-box:before{
    content:"";

    position:absolute;

    width:450px;
    height:450px;

    right:-180px;
    top:-210px;

    border:1px solid rgba(201,166,107,.25);

    border-radius:50%;

    animation:dc-index-spin 20s linear infinite;
}

body.page-index .help-box h2{
    position:relative;
    z-index:2;

    color:white;

    max-width:700px;
}

body.page-index .help-box>p{
    position:relative;
    z-index:2;

    max-width:650px;

    color:rgba(255,255,255,.62);

    margin-top:14px;
}

body.page-index .help-options{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:10px;

    margin-top:35px;
}

body.page-index .help-item{
    padding:22px 17px;

    border:1px solid rgba(255,255,255,.15);

    transition:.4s var(--ease);
}

body.page-index .help-item:hover{
    background:var(--gold);

    color:var(--navy);

    transform:translateY(-8px);
}

body.page-index .help-item i{
    color:var(--gold);

    font-size:21px;

    margin-bottom:15px;
}

body.page-index .help-item:hover i{
    color:var(--navy);
}

body.page-index .help-item strong{
    display:block;

    font-size:12px;

    margin-bottom:5px;
}

body.page-index .help-item span{
    color:rgba(255,255,255,.5);

    font-size:10px;

    line-height:1.5;
}

body.page-index .help-item:hover span{
    color:rgba(16,29,53,.7);
}


/* =========================================================
   CTA
========================================================= */
body.page-index .cta{
    background:
        linear-gradient(
            110deg,
            var(--cream) 0%,
            var(--cream) 60%,
            #f1e8d7 60%,
            #f1e8d7 100%
        );
}

body.page-index .cta-grid{
    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:60px;

    align-items:center;
}

body.page-index .cta h2{
    margin-bottom:17px;
}

body.page-index .cta-actions{
    display:flex;

    flex-direction:column;

    gap:13px;
}

body.page-index .cta-phone{
    display:flex;

    align-items:center;

    gap:12px;

    font-weight:800;

    font-size:13px;
}

body.page-index .cta-phone i{
    width:43px;
    height:43px;

    display:grid;
    place-items:center;

    background:var(--navy);
    color:var(--gold);
}

body.page-index .social{
    display:flex;

    gap:7px;
}

body.page-index .social a{
    width:31px;
    height:31px;

    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.13);

    color:rgba(255,255,255,.55);

    transition:.3s;
}

body.page-index .social a:hover{
    background:var(--gold);

    color:var(--navy);
}


/* =========================================================
   REVEAL
========================================================= */
body.page-index .reveal{
    opacity:1;
    transform:none;
}

body.page-index .js-reveal{
    opacity:0;

    transform:translateY(38px);

    transition:
        opacity .8s var(--ease),
        transform .8s var(--ease);
}

body.page-index .js-reveal.left{
    transform:translateX(-45px);
}

body.page-index .js-reveal.right{
    transform:translateX(45px);
}

body.page-index .js-reveal.zoom{
    transform:scale(.92);
}

body.page-index .js-reveal.show{
    opacity:1;

    transform:none;
}


/* =========================================================
   BACK TO TOP
========================================================= */
body.page-index .back-top{
    position:fixed;

    right:20px;
    bottom:20px;

    width:43px;
    height:43px;

    display:grid;
    place-items:center;

    border:0;

    background:var(--gold);
    color:var(--navy);

    opacity:0;
    visibility:hidden;

    transform:translateY(15px);

    transition:.3s;

    z-index:900;
}

body.page-index .back-top.show{
    opacity:1;
    visibility:visible;

    transform:translateY(0);
}


/* =========================================================
   MOBILE MENU
========================================================= */
body.page-index .mobile-menu{
    display:none;

    position:absolute;

    top:82px;

    left:15px;
    right:15px;

    background:white;

    border:1px solid var(--line);

    box-shadow:0 20px 45px rgba(0,0,0,.15);

    padding:10px;

    opacity:0;
    visibility:hidden;

    transform:translateY(-10px);

    transition:.3s;
}

body.page-index .mobile-menu.open{
    opacity:1;
    visibility:visible;

    transform:translateY(0);
}

body.page-index .mobile-menu>a,
body.page-index .mobile-service-title{
    display:flex;

    align-items:center;
    justify-content:space-between;

    padding:14px;

    border-bottom:1px solid var(--line);

    font-size:12px;
    font-weight:700;
}

body.page-index .mobile-services{
    border-bottom:1px solid var(--line);
}

body.page-index .mobile-service-title{
    border-bottom:0;
}

body.page-index .mobile-submenu{
    display:none;

    padding:0 8px 8px;
}

body.page-index .mobile-submenu.open{
    display:block;
}

body.page-index .mobile-submenu a{
    display:flex;

    gap:9px;

    padding:9px;

    font-size:11px;

    color:var(--muted);
}

body.page-index .mobile-submenu i{
    color:var(--gold);
}


/* =========================================================
   DARK MODE
========================================================= */
body.page-index.dark-mode{
    --cream:#111b2c;
    --white:#162238;

    --text:#f4f1ea;
    --muted:#aeb8c8;

    --line:#2a3950;

    background:#0e1829;
}

body.page-index.dark-mode .dropdown-menu,
body.page-index.dark-mode .mobile-menu{
    background:#162238;

    border-color:#2a3950;
}

body.page-index.dark-mode .intro-small-image{
    border-color:var(--cream);
}

body.page-index.dark-mode .document-note{
    background:#162238;
}

body.page-index.dark-mode .process-number{
    background:#162238;

    color:white;
}

body.page-index.dark-mode .feature-box{
    background:#111b2c;
}

body.page-index.dark-mode .feature-point{
    background:#162238;
}

body.page-index.dark-mode .why-item:hover{
    background:#162238;
}

body.page-index.dark-mode .cta{
    background:
        linear-gradient(
            110deg,
            #111b2c 0%,
            #111b2c 60%,
            #18253a 60%,
            #18253a 100%
        );
}


/* =========================================================
   RTL
========================================================= */
html[dir="rtl"] body.page-index body{
    text-align:right;
}

html[dir="rtl"] body.page-index .intro-label{
    left:auto;
    right:-15px;
}

html[dir="rtl"] body.page-index .story-item:hover{
    padding-left:0;
    padding-right:12px;
}

html[dir="rtl"] body.page-index .feature-point{
    border-left:0;
    border-right:2px solid var(--gold);
}

html[dir="rtl"] body.page-index .back-top{
    right:auto;
    left:20px;
}


/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:1100px){
    body.page-index .hero-grid{gap:35px}
    body.page-index .hero-copy h1{font-size:58px}
    body.page-index .footer-grid{grid-template-columns:1fr 1fr}
}


@media(max-width:900px){

    body.page-index .container{
        width:calc(100% - 36px);
    }

    body.page-index .menu-toggle{
        display:grid;
        place-items:center;
    }

    body.page-index .mobile-menu{
        display:block;
    }

    body.page-index .hero{
        background:
            linear-gradient(
                180deg,
                var(--navy) 0%,
                var(--navy) 57%,
                var(--navy2) 57%,
                var(--navy2) 100%
            );
    }

    body.page-index .hero-grid{
        grid-template-columns:1fr;

        padding:60px 0 85px;
    }

    body.page-index .hero-copy{
        padding-top:25px;
    }

    body.page-index .hero-visual{
        height:500px;
    }

    body.page-index .intro-grid,
body.page-index .service-story-grid,
body.page-index .document-grid,
body.page-index .feature-box,
body.page-index .why-grid,
body.page-index .cta-grid{
        grid-template-columns:1fr;
    }

    body.page-index .intro-grid{
        gap:45px;
    }

    body.page-index .service-story-grid{
        gap:50px;
    }

    body.page-index .process-grid{
        grid-template-columns:1fr 1fr;

        gap:40px 15px;
    }

    body.page-index .process-grid:before{
        display:none;
    }

    body.page-index .why-copy{
        position:static;
    }

    body.page-index .help-options{
        grid-template-columns:1fr 1fr;
    }

    body.page-index .feature-image{
        min-height:400px;
    }
}


@media(max-width:600px){

    body.page-index .section{
        padding:70px 0;
    }

    body.page-index .container{
        width:calc(100% - 28px);
    }

    body.page-index .mobile-menu{
        top:72px;
    }

    body.page-index .hero{
        padding-top:72px;
    }

    body.page-index .hero-grid{
        padding-top:35px;
    }

    body.page-index .hero-copy h1{
        font-size:45px;

        letter-spacing:-1.3px;
    }

    body.page-index .hero-copy>p{
        font-size:14px;
    }

    body.page-index .hero-buttons{
        flex-direction:column;
    }

    body.page-index .btn{
        width:100%;
    }

    body.page-index .hero-visual{
        height:400px;
    }

    body.page-index .hero-image{
        width:88%;
        height:350px;

        border-radius:4px 45px 4px 45px;
    }

    body.page-index .hero-frame{
        width:88%;
        height:350px;

        border-radius:4px 45px 4px 45px;
    }

    body.page-index .badge-one{
        left:0;
        top:55px;
    }

    body.page-index .badge-two{
        right:0;
        bottom:45px;
    }

    body.page-index .hero-circle{
        width:88px;
        height:88px;

        left:0;
    }

    body.page-index .hero-circle strong{
        font-size:23px;
    }

    body.page-index .heading-row{
        flex-direction:column;

        align-items:flex-start;
    }

    body.page-index .big-number{
        font-size:65px;
    }

    body.page-index .services-grid{
        grid-template-columns:1fr;
    }

    body.page-index .service-card:nth-child(1),
body.page-index .service-card:nth-child(2),
body.page-index .service-card:nth-child(3),
body.page-index .service-card:nth-child(4){
        border-radius:38px 4px 38px 4px;
    }

    body.page-index .service-card{
        min-height:410px;
    }

    body.page-index .story-item{
        grid-template-columns:48px 1fr 35px;

        min-height:115px;
    }

    body.page-index .document-photo{
        min-height:390px;
    }

    body.page-index .document-photo-main{
        height:375px;
    }

    body.page-index .document-note{
        width:190px;

        top:30px;
    }

    body.page-index .process-grid{
        grid-template-columns:1fr;

        gap:30px;
    }

    body.page-index .process-card{
        text-align:left;

        display:grid;

        grid-template-columns:64px 1fr;

        gap:15px;
    }

    body.page-index .process-number{
        grid-row:span 2;

        margin:0;
    }

    body.page-index .process-card h3{
        margin-top:4px;
    }

    body.page-index .feature-box{
        border-radius:35px 4px 35px 4px;
    }

    body.page-index .feature-image{
        min-height:330px;
    }

    body.page-index .feature-copy{
        padding:35px 24px;
    }

    body.page-index .feature-points{
        grid-template-columns:1fr;
    }

    body.page-index .why-list{
        grid-template-columns:1fr;
    }

    body.page-index .help-box{
        padding:40px 24px;

        border-radius:35px 4px 35px 4px;
    }

    body.page-index .help-options{
        grid-template-columns:1fr 1fr;
    }

    body.page-index .help-item{
        padding:17px 13px;
    }

    html[dir="rtl"] body.page-index .back-top{
        left:13px;
    }
}

/* inline style hooks */
.page-index .dc-inline-index-1{font-size:8px}
.page-index .dc-inline-index-2{background:var(--navy);color:white;}
.page-index .dc-inline-index-3{color:white;}
.page-index .dc-inline-index-4{color:rgba(255,255,255,.45);}

/* === PAGE HOME2 (scoped) === */
/* =========================================================
   DRIVECARE HOME 2
   VISUAL SYSTEM BASED ON ABOUT PAGE
========================================================= */
body.page-home2{
    --navy:#101d35;
    --navy2:#172945;
    --navy3:#203755;

    --gold:#c9a66b;
    --gold-light:#e6ca97;

    --cream:#faf7f0;
    --white:#fff;

    --text:#101d35;
    --muted:#4e5b70;

    --line:#dededc;
    --surface:#fff;

    --shadow:0 12px 35px rgba(16,29,53,.09);

    --container:1200px;

    --ease:cubic-bezier(.2,.75,.25,1);
}



html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}

body.page-home2{
    font-family:'DM Sans',sans-serif;
    background:var(--cream);
    color:var(--text);
    line-height:1.7;
    overflow-x:hidden;
    font-weight:500;
    transition:
        background .3s,
        color .3s;
}

body.page-home2.dark-mode{
    --cream:#0b1423;
    --white:#111f32;
    --text:#f5f1e9;
    --muted:#c0cad8;
    --line:#2b3a50;
    --surface:#111f32;
    --shadow:0 12px 35px rgba(0,0,0,.25);
}





body.page-home2 button{
    cursor:pointer;
}

body.page-home2 img{
    width:100%;
    display:block;
    object-fit:cover;
}

body.page-home2 ul{
    list-style:none;
}

body.page-home2 .container{
    width:min(var(--container),calc(100% - 48px));
    margin-inline:auto;
}

body.page-home2 .section{
    padding-block:70px;
}

body.page-home2 .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:var(--gold);

    font-size:12px;
    font-weight:800;

    text-transform:uppercase;
    letter-spacing:2px;

    margin-bottom:13px;
}

body.page-home2 .eyebrow:before{
    content:"";
    width:28px;
    height:2px;
    background:var(--gold);
}

body.page-home2 .section-heading{
    max-width:700px;
    margin-bottom:38px;
}

body.page-home2 .section-heading.center{
    text-align:center;
    margin-inline:auto;
}

body.page-home2 .section-heading h2{
    font-size:clamp(29px,4vw,43px);
    margin-bottom:15px;
}

body.page-home2 .section-heading p{
    font-size:15px;
    line-height:1.85;
}


/* =========================================================
   SECTION 1 — HERO
   Different composition from About
========================================================= */
body.page-home2 .home2-hero{
    background:var(--navy);

    position:relative;

    overflow:hidden;
}

body.page-home2 .hero-layout{
    min-height:485px;

    display:grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(380px,.95fr);

    align-items:stretch;
}


/* left */
body.page-home2 .hero-copy{
    padding:
        72px
        45px
        72px
        0;

    display:flex;
    flex-direction:column;
    justify-content:center;

    position:relative;
    z-index:2;
}

body.page-home2 .hero-copy .eyebrow{
    color:var(--gold-light);
}

body.page-home2 .hero-copy h1{
    color:#fff;

    font-size:
        clamp(38px,5vw,58px);

    max-width:650px;

    margin-bottom:19px;
}

body.page-home2 .hero-copy p{
    color:#d4dce7;

    max-width:600px;

    font-size:15px;

    line-height:1.9;

    margin-bottom:26px;
}

body.page-home2 .hero-actions{
    display:flex;

    align-items:center;

    gap:12px;

    flex-wrap:wrap;
}

body.page-home2 .hero-outline{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:8px;

    padding:12px 17px;

    border:1px solid rgba(255,255,255,.25);

    border-radius:8px;

    color:#fff;

    font-size:13px;
    font-weight:800;

    transition:.3s;
}

body.page-home2 .hero-outline:hover{
    border-color:var(--gold);
    color:var(--gold-light);
}


/* small hero information */
body.page-home2 .hero-meta{
    display:flex;

    align-items:center;

    gap:24px;

    margin-top:28px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.13);
}

body.page-home2 .hero-meta-item{
    display:flex;

    align-items:center;

    gap:9px;
}

body.page-home2 .hero-meta-item i{
    color:var(--gold-light);
}

body.page-home2 .hero-meta-item span{
    color:#cbd4e0;

    font-size:12px;
    font-weight:700;
}


/* right visual */
body.page-home2 .hero-visual{
    position:relative;

    min-height:485px;

    overflow:hidden;
}

body.page-home2 .hero-visual-main{
    position:absolute;

    inset:
        35px
        0
        35px
        50px;

    overflow:hidden;

    border-radius:
        4px
        80px
        4px
        4px;
}

body.page-home2 .hero-visual-main:after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            120deg,
            rgba(16,29,53,.15),
            rgba(16,29,53,.05)
        );
}

body.page-home2 .hero-visual-main img{
    height:100%;

    transition:
        transform 1s var(--ease);
}

body.page-home2 .home2-hero:hover .hero-visual-main img{
    transform:scale(1.045);
}


/* gold information tab */
body.page-home2 .hero-stamp{
    position:absolute;

    left:0;
    bottom:70px;

    width:145px;
    min-height:145px;

    background:var(--gold);

    border-radius:
        0
        50%
        50%
        0;

    display:flex;

    align-items:center;
    justify-content:center;

    text-align:center;

    padding:20px;

    z-index:3;
}

body.page-home2 .hero-stamp strong{
    display:block;

    font-family:'Manrope',sans-serif;

    color:var(--navy);

    font-size:15px;
    font-weight:900;

    line-height:1.4;
}

body.page-home2 .hero-stamp small{
    display:block;

    margin-top:6px;

    color:var(--navy);

    font-size:10px;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:1px;
}


/* =========================================================
   SECTION 2 — SERVICE ROUTES
========================================================= */
body.page-home2 .route-section{
    background:var(--cream);

    padding-block:55px 68px;
}

body.page-home2 .route-intro{
    display:grid;

    grid-template-columns:
        1fr
        1.6fr;

    gap:50px;

    align-items:end;

    margin-bottom:35px;
}

body.page-home2 .route-intro h2{
    font-size:clamp(29px,4vw,43px);
}

body.page-home2 .route-intro p{
    max-width:590px;

    font-size:15px;
    line-height:1.9;
}


/* open navigation list */
body.page-home2 .route-list{
    border-top:1px solid var(--line);
}

body.page-home2 .route-row{
    display:grid;

    grid-template-columns:
        70px
        minmax(190px,1fr)
        minmax(300px,1.4fr)
        50px;

    align-items:center;

    gap:25px;

    min-height:105px;

    border-bottom:1px solid var(--line);

    transition:
        background .35s,
        padding .35s;
}

body.page-home2 .route-row:hover{
    background:
        linear-gradient(
            90deg,
            rgba(201,166,107,.08),
            transparent
        );

    padding-inline:14px;
}

body.page-home2 .route-number{
    font-family:'Manrope',sans-serif;

    font-size:13px;

    font-weight:900;

    color:var(--gold);
}

body.page-home2 .route-row h3{
    font-size:22px;
}

body.page-home2 .route-row p{
    font-size:13px;
    line-height:1.75;
}

body.page-home2 .route-arrow{
    width:39px;
    height:39px;

    border:1px solid var(--line);

    border-radius:50%;

    display:grid;
    place-items:center;

    color:var(--text);

    transition:.3s;
}

body.page-home2 .route-row:hover .route-arrow{
    background:var(--gold);
    border-color:var(--gold);

    color:var(--navy);

    transform:rotate(-35deg);
}


/* =========================================================
   SECTION 3 — DOCUMENT DESK
========================================================= */
body.page-home2 .document-section{
    background:var(--white);

    overflow:hidden;
}

body.page-home2 .document-layout{
    display:grid;

    grid-template-columns:
        1.1fr
        .9fr;

    gap:70px;

    align-items:center;
}


/* document image composition */
body.page-home2 .document-visual{
    position:relative;

    min-height:500px;
}

body.page-home2 .document-photo{
    position:absolute;

    top:0;
    left:0;

    width:80%;
    height:430px;

    overflow:hidden;

    border-radius:
        70px
        4px
        4px
        4px;

    box-shadow:var(--shadow);
}

body.page-home2 .document-photo img{
    height:100%;

    transition:
        transform 1s var(--ease);
}

body.page-home2 .document-visual:hover .document-photo img{
    transform:scale(1.05);
}

body.page-home2 .document-sheet{
    position:absolute;

    right:0;
    bottom:0;

    width:47%;

    padding:25px;

    background:var(--cream);

    border:
        1px solid
        var(--line);

    box-shadow:0 20px 40px rgba(16,29,53,.12);
}

body.page-home2 .document-sheet-top{
    display:flex;

    align-items:center;

    justify-content:space-between;

    padding-bottom:13px;

    border-bottom:1px solid var(--line);

    margin-bottom:17px;
}

body.page-home2 .document-sheet-top span{
    font-size:10px;

    font-weight:900;

    color:var(--gold);

    letter-spacing:1.5px;
}

body.page-home2 .document-sheet-icon{
    color:var(--gold);

    font-size:20px;
}

body.page-home2 .document-lines{
    display:grid;

    gap:12px;
}

body.page-home2 .document-line{
    height:8px;

    background:var(--line);

    border-radius:10px;
}

body.page-home2 .document-line.short{
    width:60%;
}

body.page-home2 .document-line.medium{
    width:78%;
}

body.page-home2 .document-check{
    margin-top:18px;

    display:flex;

    align-items:center;

    gap:8px;

    color:var(--navy);

    font-size:11px;

    font-weight:900;
}

body.page-home2 .document-check i{
    color:#4d8c67;
}


/* content */
body.page-home2 .document-content h2{
    font-size:clamp(30px,4vw,45px);

    margin-bottom:18px;
}

body.page-home2 .document-content>p{
    font-size:15px;

    line-height:1.9;

    margin-bottom:25px;
}

body.page-home2 .document-list{
    border-top:1px solid var(--line);
}

body.page-home2 .document-list-row{
    display:flex;

    gap:14px;

    padding-block:16px;

    border-bottom:1px solid var(--line);
}

body.page-home2 .document-list-row>i{
    color:var(--gold);

    margin-top:5px;
}

body.page-home2 .document-list-row h3{
    font-family:'Manrope',sans-serif;

    font-size:15px;

    margin-bottom:4px;
}

body.page-home2 .document-list-row p{
    font-size:12px;

    line-height:1.65;
}


/* =========================================================
   SECTION 4 — DARK INFORMATION BAND
========================================================= */
body.page-home2 .dark-band{
    position:relative;

    background:var(--navy);

    overflow:hidden;

    padding-block:64px;
}

body.page-home2 .dark-band:before{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    border:1px solid rgba(201,166,107,.22);

    border-radius:50%;

    right:-170px;
    top:-230px;
}

body.page-home2 .dark-band-inner{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        .9fr
        1.1fr;

    gap:65px;

    align-items:center;
}

body.page-home2 .dark-band h2{
    color:#fff;

    font-size:clamp(31px,4vw,46px);
}

body.page-home2 .dark-band .eyebrow{
    color:var(--gold-light);
}

body.page-home2 .dark-band-copy p{
    color:#c6d0df;

    font-size:14px;

    line-height:1.9;

    margin-top:18px;

    max-width:510px;
}

body.page-home2 .dark-facts{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    border-left:1px solid rgba(255,255,255,.15);
}

body.page-home2 .dark-fact{
    padding:25px 28px;

    border-bottom:1px solid rgba(255,255,255,.15);
}

body.page-home2 .dark-fact:nth-child(odd){
    border-right:1px solid rgba(255,255,255,.15);
}

body.page-home2 .dark-fact:nth-child(3),
body.page-home2 .dark-fact:nth-child(4){
    border-bottom:0;
}

body.page-home2 .dark-fact i{
    color:var(--gold-light);

    font-size:19px;

    margin-bottom:15px;
}

body.page-home2 .dark-fact h3{
    color:#fff;

    font-family:'Manrope',sans-serif;

    font-size:16px;

    margin-bottom:5px;
}

body.page-home2 .dark-fact p{
    color:#b9c5d5;

    font-size:12px;

    line-height:1.7;
}


/* =========================================================
   SECTION 5 — TIMELINE
========================================================= */
body.page-home2 .timeline-section{
    background:var(--cream);
}

body.page-home2 .timeline-wrap{
    position:relative;

    padding-top:15px;
}

body.page-home2 .timeline-line{
    position:absolute;

    left:11px;
    top:15px;
    bottom:10px;

    width:1px;

    background:var(--gold);
}

body.page-home2 .timeline-entry{
    display:grid;

    grid-template-columns:
        24px
        150px
        1fr
        120px;

    gap:22px;

    align-items:center;

    min-height:110px;

    border-bottom:1px solid var(--line);

    position:relative;
}

body.page-home2 .timeline-dot{
    position:relative;
    z-index:2;

    width:23px;
    height:23px;

    border-radius:50%;

    background:var(--gold);

    border:6px solid var(--cream);

    box-shadow:
        0 0 0 1px var(--gold);
}

body.page-home2 .timeline-entry:first-child{
    border-top:1px solid var(--line);
}

body.page-home2 .timeline-label{
    color:var(--gold);

    font-size:11px;

    font-weight:900;

    letter-spacing:1.2px;

    text-transform:uppercase;
}

body.page-home2 .timeline-entry h3{
    font-size:21px;

    margin-bottom:5px;
}

body.page-home2 .timeline-entry p{
    font-size:13px;

    line-height:1.7;
}

body.page-home2 .timeline-status{
    justify-self:end;

    display:inline-flex;

    align-items:center;

    gap:7px;

    font-size:11px;

    font-weight:900;

    color:var(--text);
}

body.page-home2 .timeline-status i{
    color:var(--gold);
}


/* =========================================================
   SECTION 6 — PHOTOGRAPHIC STORY
========================================================= */
body.page-home2 .story-section{
    background:var(--white);

    overflow:hidden;
}

body.page-home2 .story-layout{
    display:grid;

    grid-template-columns:
        .72fr
        1.28fr;

    gap:50px;

    align-items:stretch;
}

body.page-home2 .story-copy{
    display:flex;

    flex-direction:column;

    justify-content:center;

    padding-block:25px;
}

body.page-home2 .story-copy h2{
    font-size:clamp(30px,4vw,44px);

    margin-bottom:18px;
}

body.page-home2 .story-copy>p{
    font-size:15px;

    line-height:1.9;

    margin-bottom:25px;
}

body.page-home2 .story-note{
    border-left:3px solid var(--gold);

    padding-left:18px;
}

body.page-home2 .story-note strong{
    display:block;

    font-family:'Manrope',sans-serif;

    font-size:15px;

    margin-bottom:4px;
}

body.page-home2 .story-note span{
    font-size:12px;

    color:var(--muted);
}

body.page-home2 .story-photo{
    min-height:470px;

    position:relative;

    overflow:hidden;

    border-radius:
        5px
        80px
        5px
        5px;
}

body.page-home2 .story-photo img{
    height:100%;

    transition:
        transform 1s var(--ease);
}

body.page-home2 .story-photo:hover img{
    transform:scale(1.05);
}

body.page-home2 .story-photo-caption{
    position:absolute;

    left:22px;
    bottom:22px;

    padding:13px 17px;

    background:rgba(16,29,53,.91);

    color:#fff;

    font-size:11px;

    font-weight:800;

    letter-spacing:.7px;
}


/* =========================================================
   SECTION 7 — FAQ
========================================================= */
body.page-home2 .faq-section{
    background:var(--cream);
}

body.page-home2 .faq-layout{
    display:grid;

    grid-template-columns:
        .8fr
        1.2fr;

    gap:75px;

    align-items:start;
}

body.page-home2 .faq-heading{
    position:sticky;

    top:115px;
}

body.page-home2 .faq-heading h2{
    font-size:clamp(30px,4vw,43px);

    margin-bottom:17px;
}

body.page-home2 .faq-heading p{
    font-size:14px;

    line-height:1.9;

    margin-bottom:25px;
}

body.page-home2 .faq-contact{
    display:inline-flex;

    align-items:center;

    gap:9px;

    color:var(--gold);

    font-size:13px;

    font-weight:900;
}

body.page-home2 .faq-list{
    border-top:1px solid var(--line);
}

body.page-home2 .faq-item{
    border-bottom:1px solid var(--line);
}

body.page-home2 .faq-question{
    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    padding:21px 0;

    border:0;

    background:none;

    color:var(--text);

    text-align:left;

    font-family:'Manrope',sans-serif;

    font-size:15px;

    font-weight:800;
}

body.page-home2 .faq-question i{
    color:var(--gold);

    transition:.3s;

    flex-shrink:0;
}

body.page-home2 .faq-answer{
    max-height:0;

    overflow:hidden;

    transition:
        max-height .4s ease,
        padding .4s ease;
}

body.page-home2 .faq-answer p{
    font-size:13px;

    line-height:1.8;

    padding-right:35px;
}

body.page-home2 .faq-item.open .faq-answer{
    max-height:160px;

    padding-bottom:19px;
}

body.page-home2 .faq-item.open .faq-question i{
    transform:rotate(45deg);
}


/* =========================================================
   SECTION 8 — SUPPORT / SERVICE AREA
========================================================= */
body.page-home2 .support-section{
    background:var(--white);
}

body.page-home2 .support-layout{
    display:grid;

    grid-template-columns:
        1.1fr
        .9fr;

    gap:45px;

    align-items:stretch;
}

body.page-home2 .support-map{
    min-height:400px;

    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            var(--navy),
            var(--navy3)
        );

    border-radius:
        4px
        4px
        80px
        4px;
}

body.page-home2 .support-map:before{
    content:"";

    position:absolute;

    inset:35px;

    border:
        1px solid
        rgba(201,166,107,.35);

    background:
        linear-gradient(
            30deg,
            transparent 48%,
            rgba(255,255,255,.08) 49%,
            transparent 50%
        ),
        linear-gradient(
            145deg,
            transparent 48%,
            rgba(255,255,255,.07) 49%,
            transparent 50%
        );
}

body.page-home2 .map-pin{
    position:absolute;

    left:50%;
    top:48%;

    transform:translate(-50%,-50%);

    width:68px;
    height:68px;

    border-radius:50%;

    background:var(--gold);

    color:var(--navy);

    display:grid;
    place-items:center;

    font-size:25px;

    box-shadow:
        0 0 0 12px rgba(201,166,107,.16),
        0 0 0 24px rgba(201,166,107,.07);
}

body.page-home2 .map-label{
    position:absolute;

    left:35px;
    bottom:35px;

    color:#fff;
}

body.page-home2 .map-label strong{
    display:block;

    font-family:'Manrope',sans-serif;

    font-size:16px;
}

body.page-home2 .map-label span{
    color:#c6d0df;

    font-size:12px;
}

body.page-home2 .support-content{
    padding:22px 0;
}

body.page-home2 .support-content h2{
    font-size:clamp(30px,4vw,43px);

    margin-bottom:17px;
}

body.page-home2 .support-content>p{
    font-size:14px;

    line-height:1.9;

    margin-bottom:25px;
}

body.page-home2 .support-details{
    border-top:1px solid var(--line);
}

body.page-home2 .support-detail{
    display:flex;

    align-items:flex-start;

    gap:14px;

    padding-block:16px;

    border-bottom:1px solid var(--line);
}

body.page-home2 .support-detail-icon{
    width:39px;
    height:39px;

    flex-shrink:0;

    display:grid;
    place-items:center;

    background:rgba(201,166,107,.15);

    color:var(--gold);

    border-radius:8px;
}

body.page-home2 .support-detail h3{
    font-family:'Manrope',sans-serif;

    font-size:14px;

    margin-bottom:3px;
}

body.page-home2 .support-detail p,
body.page-home2 .support-detail a{
    font-size:12px;

    line-height:1.7;

    color:var(--muted);
}


/* =========================================================
   SECTION 9 — FINAL CTA
========================================================= */
body.page-home2 .final-section{
    background:var(--cream);

    padding-block:58px;
}

body.page-home2 .final-panel{
    position:relative;

    overflow:hidden;

    background:var(--navy);

    padding:50px;

    display:grid;

    grid-template-columns:
        1.2fr
        .8fr;

    align-items:center;

    gap:45px;

    border-radius:
        5px
        5px
        70px
        5px;
}

body.page-home2 .final-panel:after{
    content:"";

    position:absolute;

    width:300px;
    height:300px;

    right:-130px;
    top:-180px;

    border:
        1px solid
        rgba(201,166,107,.35);

    border-radius:50%;
}

body.page-home2 .final-copy{
    position:relative;
    z-index:2;
}

body.page-home2 .final-copy .eyebrow{
    color:var(--gold-light);
}

body.page-home2 .final-copy h2{
    color:#fff;

    font-size:clamp(30px,4vw,45px);

    margin-bottom:15px;
}

body.page-home2 .final-copy p{
    color:#c8d1df;

    font-size:14px;

    line-height:1.9;

    max-width:650px;
}

body.page-home2 .final-actions{
    position:relative;
    z-index:2;

    display:flex;

    justify-content:flex-end;

    gap:10px;

    flex-wrap:wrap;
}

body.page-home2 .social-links{
    display:flex;

    gap:9px;
}

body.page-home2 .social-links a{
    width:36px;
    height:36px;

    display:grid;
    place-items:center;

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius:8px;

    color:#fff;

    transition:.25s;
}

body.page-home2 .social-links a:hover{
    background:var(--gold);

    color:var(--navy);
}


/* =========================================================
   BACK TO TOP
========================================================= */
body.page-home2 .back-to-top{
    position:fixed;

    right:20px;
    bottom:20px;

    z-index:900;

    width:44px;
    height:44px;

    display:grid;
    place-items:center;

    border:0;
    border-radius:9px;

    background:var(--gold);

    color:var(--navy);

    font-size:17px;

    box-shadow:var(--shadow);

    opacity:0;
    visibility:hidden;

    transform:translateY(10px);

    transition:.3s;
}

body.page-home2 .back-to-top.show{
    opacity:1;
    visibility:visible;

    transform:translateY(0);
}


/* =========================================================
   ANIMATIONS
========================================================= */
body.page-home2 .reveal{
    opacity:0;

    transform:
        translate3d(0,30px,0);

    filter:blur(2px);

    transition:
        opacity .8s var(--ease),
        transform .8s var(--ease),
        filter .8s var(--ease);

    transition-delay:
        var(--delay,0ms);
}

body.page-home2 .reveal.visible{
    opacity:1;

    transform:
        translate3d(0,0,0);

    filter:blur(0);
}

body.page-home2 .from-left{
    transform:
        translate3d(-45px,15px,0);
}

body.page-home2 .from-right{
    transform:
        translate3d(45px,15px,0);
}

body.page-home2 .zoom{
    transform:
        scale(.95);
}

body.page-home2 .reveal.visible.from-left,
body.page-home2 .reveal.visible.from-right{
    transform:
        translate3d(0,0,0);
}

body.page-home2 .reveal.visible.zoom{
    transform:scale(1);
}


/* =========================================================
   RTL
========================================================= */
html[dir="rtl"] body.page-home2 body{
    text-align:right;
}

html[dir="rtl"] body.page-home2 .hero-copy{
    padding-left:45px;
    padding-right:0;
}

html[dir="rtl"] body.page-home2 .hero-stamp{
    left:auto;
    right:0;

    border-radius:
        50%
        0
        0
        50%;
}

html[dir="rtl"] body.page-home2 .hero-meta{
    direction:rtl;
}

html[dir="rtl"] body.page-home2 .route-row{
    direction:rtl;
}

html[dir="rtl"] body.page-home2 .document-sheet{
    right:auto;
    left:0;
}

html[dir="rtl"] body.page-home2 .document-photo{
    left:auto;
    right:0;

    border-radius:
        4px
        4px
        4px
        80px;
}

html[dir="rtl"] body.page-home2 .document-list-row{
    direction:rtl;
}

html[dir="rtl"] body.page-home2 .dark-band-inner{
    direction:rtl;
}

html[dir="rtl"] body.page-home2 .dark-facts{
    border-left:0;
    border-right:1px solid rgba(255,255,255,.15);
}

html[dir="rtl"] body.page-home2 .dark-fact:nth-child(odd){
    border-right:0;
    border-left:1px solid rgba(255,255,255,.15);
}

html[dir="rtl"] body.page-home2 .timeline-line{
    left:auto;
    right:11px;
}

html[dir="rtl"] body.page-home2 .timeline-entry{
    direction:rtl;
}

html[dir="rtl"] body.page-home2 .timeline-status{
    justify-self:start;
}

html[dir="rtl"] body.page-home2 .story-note{
    border-left:0;
    border-right:3px solid var(--gold);

    padding-left:0;
    padding-right:18px;
}

html[dir="rtl"] body.page-home2 .faq-question{
    text-align:right;
}

html[dir="rtl"] body.page-home2 .faq-answer p{
    padding-right:0;
    padding-left:35px;
}

html[dir="rtl"] body.page-home2 .final-panel{
    direction:rtl;
}

html[dir="rtl"] body.page-home2 .final-actions{
    justify-content:flex-start;
}

html[dir="rtl"] body.page-home2 .back-to-top{
    right:auto;
    left:20px;
}


/* =========================================================
   TABLET
========================================================= */
@media(max-width:1100px){
body.page-home2{

    .container{
        width:calc(100% - 40px);
    }

    .header-inner{
        gap:13px;
    }

    .desktop-nav{
        gap:13px;
    }

    .nav-link{
        font-size:12px;
    }

    .brand-text strong{
        font-size:18px;
    }

    .brand-icon{
        width:40px;
        height:40px;
    }

    .header-actions{
        gap:6px;
    }

    .login-button{
        padding:10px;
    }

    .desktop-book{
        padding:12px;
    }

    .footer-main{
        grid-template-columns:repeat(2,1fr);
    }

    .hero-copy{
        padding-right:25px;
    }

    .hero-layout{
        grid-template-columns:
            1fr
            .85fr;
    }

    .route-row{
        grid-template-columns:
            55px
            1fr
            1.2fr
            45px;
    }

    .document-layout{
        gap:40px;
    }

    .faq-layout{
        gap:45px;
    }

}
}


/* =========================================================
   MOBILE NAV
========================================================= */
@media(max-width:900px){
body.page-home2{

    .header-inner{
        grid-template-columns:
            1fr
            auto;

        min-height:76px;
    }

    .desktop-nav{
        position:fixed;

        top:76px;

        left:20px;
        right:20px;

        width:auto;

        max-height:
            calc(100dvh - 95px);

        overflow-y:auto;

        background:var(--white);

        border:1px solid var(--line);

        border-radius:12px;

        box-shadow:var(--shadow);

        padding:14px;

        display:flex;

        flex-direction:column;

        align-items:stretch;

        justify-content:flex-start;

        gap:3px;

        opacity:0;
        visibility:hidden;

        transform:translateY(-8px);

        transition:.25s;
    }

    .desktop-nav.open{
        opacity:1;
        visibility:visible;

        transform:translateY(0);
    }

    .nav-link{
        width:100%;

        padding:12px;

        font-size:14px;

        border-radius:7px;
    }

    .nav-link.active:after{
        display:none;
    }

    .nav-link.active{
        background:
            rgba(201,166,107,.17);
    }

    .nav-dropdown{
        width:100%;
    }

    .dropdown-menu{
        position:static;

        display:none;

        width:100%;

        opacity:1;
        visibility:visible;

        transform:none;

        box-shadow:none;

        border:0;

        padding:
            0
            0
            5px
            15px;

        background:transparent;
    }

    .nav-dropdown.open .dropdown-menu{
        display:block;
    }

    .dropdown-menu a{
        padding:11px;
    }

    .hamburger{
        display:flex;
    }

    .desktop-book{
        display:none;
    }

    .mobile-book{
        display:flex;

        width:100%;

        margin-top:8px;
    }

    .login-button{
        display:none;
    }


    /* body */

    .hero-layout{
        min-height:0;

        grid-template-columns:1fr;
    }

    .hero-copy{
        padding:
            60px
            0
            40px;
    }

    .hero-visual{
        min-height:370px;

        margin-inline:
            -20px;
    }

    .hero-visual-main{
        inset:
            0
            0
            0
            35px;

        border-radius:
            4px
            60px
            4px
            4px;
    }

    .hero-stamp{
        bottom:35px;
    }

    .route-intro{
        grid-template-columns:1fr;

        gap:15px;
    }

    .route-row{
        grid-template-columns:
            45px
            1fr
            45px;
    }

    .route-row p{
        grid-column:2;
    }

    .route-arrow{
        grid-row:
            1 / span 2;

        grid-column:3;
    }

    .document-layout{
        grid-template-columns:1fr;
    }

    .document-visual{
        min-height:450px;

        max-width:700px;

        width:100%;

        margin:auto;
    }

    .dark-band-inner{
        grid-template-columns:1fr;
    }

    .dark-facts{
        border-left:0;
        border-top:1px solid rgba(255,255,255,.15);
    }

    .timeline-entry{
        grid-template-columns:
            24px
            130px
            1fr
            100px;
    }

    .story-layout{
        grid-template-columns:1fr;
    }

    .story-photo{
        min-height:390px;

        order:-1;
    }

    .faq-layout{
        grid-template-columns:1fr;
    }

    .faq-heading{
        position:static;
    }

    .support-layout{
        grid-template-columns:1fr;
    }

    .support-map{
        min-height:350px;
    }

    .final-panel{
        grid-template-columns:1fr;
    }

    .final-actions{
        justify-content:flex-start;
    }

}
}


/* =========================================================
   MOBILE
========================================================= */
@media(max-width:600px){
body.page-home2{

    .container{
        width:calc(100% - 32px);
    }

    .section{
        padding-block:50px;
    }

    .header-inner{
        min-height:70px;
    }

    .brand{
        gap:8px;
    }

    .brand-icon{
        width:35px;
        height:35px;

        font-size:16px;
    }

    .brand-text strong{
        font-size:15px;
    }

    .brand-text span{
        font-size:7px;

        letter-spacing:1.2px;
    }

    .header-actions{
        gap:5px;
    }

    .icon-button,
    .hamburger{
        width:34px;
        height:34px;

        font-size:14px;
    }

    .desktop-nav{
        top:70px;

        left:16px;
        right:16px;

        max-height:
            calc(100dvh - 86px);
    }


    /* hero */

    .hero-copy{
        padding:
            48px
            0
            34px;
    }

    .hero-copy h1{
        font-size:36px;
    }

    .hero-copy p{
        font-size:14px;
    }

    .hero-meta{
        gap:13px;

        flex-wrap:wrap;
    }

    .hero-meta-item span{
        font-size:10px;
    }

    .hero-visual{
        min-height:300px;

        margin-inline:
            -16px;
    }

    .hero-visual-main{
        inset:
            0
            0
            0
            20px;

        border-radius:
            4px
            45px
            4px
            4px;
    }

    .hero-stamp{
        width:110px;
        min-height:110px;

        bottom:22px;
    }

    .hero-stamp strong{
        font-size:12px;
    }

    .hero-stamp small{
        font-size:8px;
    }


    /* route */

    .route-section{
        padding-block:
            48px
            50px;
    }

    .route-row{
        grid-template-columns:
            34px
            1fr
            38px;

        gap:11px;

        padding-block:18px;
    }

    .route-row:hover{
        padding-inline:0;
    }

    .route-row h3{
        font-size:18px;
    }

    .route-row p{
        font-size:12px;
    }

    .route-number{
        font-size:11px;
    }


    /* document */

    .document-visual{
        min-height:350px;
    }

    .document-photo{
        height:290px;

        width:83%;
    }

    .document-sheet{
        width:52%;

        padding:18px;
    }


    /* dark */

    .dark-facts{
        grid-template-columns:1fr;
    }

    .dark-fact{
        border-right:0!important;

        border-bottom:
            1px solid
            rgba(255,255,255,.15)!important;
    }

    .dark-fact:last-child{
        border-bottom:0!important;
    }


    /* timeline */

    .timeline-line{
        display:none;
    }

    .timeline-entry{
        grid-template-columns:
            24px
            1fr;

        gap:9px;

        padding-block:20px;
    }

    .timeline-label{
        grid-column:2;
    }

    .timeline-entry h3{
        grid-column:2;

        font-size:19px;
    }

    .timeline-entry p{
        grid-column:2;
    }

    .timeline-status{
        grid-column:2;

        justify-self:start;

        margin-top:5px;
    }

    .timeline-dot{
        grid-row:
            1 / span 4;
    }


    /* story */

    .story-photo{
        min-height:290px;

        border-radius:
            4px
            45px
            4px
            4px;
    }

    .story-copy{
        padding-top:0;
    }


    /* faq */

    .faq-question{
        font-size:14px;

        padding-block:18px;
    }

    .faq-answer p{
        padding-right:0;

        font-size:12px;
    }


    /* support */

    .support-map{
        min-height:290px;
    }

    .support-map:before{
        inset:25px;
    }

    .map-label{
        left:25px;
        bottom:25px;
    }


    /* final */

    .final-panel{
        padding:
            30px
            22px;

        border-radius:
            4px
            4px
            45px
            4px;
    }

    .final-actions{
        width:100%;
    }

    .final-actions .book-button{
        width:100%;
    }


    /* footer */

    .footer-main{
        grid-template-columns:1fr;

        gap:28px;

        padding-block:
            40px
            30px;
    }

    .footer-bottom-inner{
        flex-direction:column;

        text-align:center;

        gap:8px;
    }

    .back-to-top{
        width:40px;
        height:40px;

        right:13px;
        bottom:13px;
    }


    /* rtl */

    html[dir="rtl"] .hero-copy{
        padding-left:0;
    }

    html[dir="rtl"] .hero-stamp{
        right:0;
    }

    html[dir="rtl"] .document-photo{
        right:0;
        left:auto;
    }

    html[dir="rtl"] .document-sheet{
        left:0;
        right:auto;
    }

    html[dir="rtl"] .back-to-top{
        left:13px;
        right:auto;
    }

    html[dir="rtl"] .desktop-nav{
        left:16px;
        right:16px;
    }

}
}


/* =========================================================
   REDUCED MOTION
========================================================= */
@media(prefers-reduced-motion:reduce){
body.page-home2{

    *,
    *::before,
    *::after{
        animation-duration:.01ms!important;

        transition-duration:.01ms!important;

        scroll-behavior:auto!important;
    }

    .reveal,
    .from-left,
    .from-right,
    .zoom{
        opacity:1;

        transform:none;

        filter:none;
    }

}
}

/* inline style hooks */
.page-home2 .dc-inline-home2-1{margin-top:24px}
.page-home2 .dc-inline-home2-2{margin-top:20px}

/* === PAGE LICENSE-RENEWAL (scoped) === */
/* =========================================================
   GLOBAL DESIGN SYSTEM — SAME FAMILY AS ABOUT / DOCUMENT
========================================================= */
body.page-license-renewal{

--navy:#101d35;
--navy2:#172945;
--navy3:#203755;

--gold:#c9a66b;
--gold-light:#e6ca97;

--cream:#faf7f0;
--white:#ffffff;

--text:#101d35;
--muted:#4e5b70;

--line:#dededc;
--surface:#ffffff;

--shadow:
0 12px 35px rgba(16,29,53,.09);

--container:1200px;

}





html{
scroll-behavior:smooth;
scroll-padding-top:95px;
}


body.page-license-renewal{

font-family:'DM Sans',sans-serif;

background:var(--cream);

color:var(--text);

line-height:1.7;

overflow-x:hidden;

font-weight:500;

transition:
background .3s,
color .3s;

}


body.page-license-renewal.dark-mode{

--cream:#0b1423;
--white:#111f32;

--text:#f5f1e9;
--muted:#c0cad8;

--line:#2b3a50;
--surface:#111f32;

--shadow:
0 12px 35px rgba(0,0,0,.25);

}








body.page-license-renewal button{
cursor:pointer;
}


body.page-license-renewal img{
width:100%;
display:block;
object-fit:cover;
}


body.page-license-renewal .container{

width:
min(
var(--container),
calc(100% - 48px)
);

margin-inline:auto;

}


body.page-license-renewal .section{
padding-block:68px;
}


/* =========================================================
   EYEBROW
========================================================= */
body.page-license-renewal .eyebrow{

display:inline-flex;

align-items:center;

gap:10px;

color:var(--gold);

font-size:12px;

font-weight:800;

text-transform:uppercase;

letter-spacing:2px;

margin-bottom:13px;

}


body.page-license-renewal .eyebrow:before{

content:"";

width:28px;

height:2px;

background:var(--gold);

}


/* =========================================================
   SECTION HEADING
========================================================= */
body.page-license-renewal .section-heading{

max-width:700px;

margin-bottom:35px;

}


body.page-license-renewal .section-heading.center{

text-align:center;

margin-inline:auto;

}


body.page-license-renewal .section-heading h2{

font-size:
clamp(
29px,
4vw,
43px
);

margin-bottom:15px;

}


body.page-license-renewal .section-heading p{

font-size:15px;

line-height:1.85;

}


/* =========================================================
   LICENCE RENEWAL HERO
   FIXED TO DOCUMENT PAGE STYLE
========================================================= */
/*
   IMPORTANT:

   Document page reference uses:
   height:620px;
   min-height:620px;
   padding-block:54px;

   So Licence Renewal now follows the same
   desktop hero footprint.
*/
body.page-license-renewal .renewal-hero{

position:relative;

height:620px;

min-height:620px;

padding-block:54px;

display:flex;

align-items:center;

overflow:hidden;

background:var(--navy);

isolation:isolate;

}


/*
   FULL-WIDTH BACKGROUND

   inset:0 means the image fills the entire
   hero section instead of being limited to
   the content container.
*/
body.page-license-renewal .renewal-hero:before{

content:"";

position:absolute;

inset:0;

z-index:-2;

background:

linear-gradient(
90deg,
rgba(10,22,42,.95),
rgba(10,22,42,.70)
),

url(
"../images/image.png"
)

center center
/
cover
no-repeat;

}


/*
   PREMIUM CIRCLE DETAIL
*/
body.page-license-renewal .renewal-hero:after{

content:"";

position:absolute;

width:430px;

height:430px;

border:
1px solid
rgba(201,166,107,.30);

border-radius:50%;

right:-125px;

bottom:-275px;

z-index:-1;

}


/*
   HERO CONTENT

   Same container alignment as About page.
*/
body.page-license-renewal .renewal-hero .container{

height:100%;

display:flex;

align-items:center;

}


body.page-license-renewal .hero-content{

width:100%;

max-width:790px;

padding-block:0;

}


body.page-license-renewal .hero-content .eyebrow{

color:var(--gold-light);

}


body.page-license-renewal .hero-content h1{

font-size:
clamp(
42px,
5.4vw,
61px
);

color:#fff;

margin-bottom:20px;

max-width:780px;

}


body.page-license-renewal .hero-content p{

max-width:700px;

color:#e0e5ed;

font-size:16px;

line-height:1.9;

}


body.page-license-renewal .breadcrumb{

display:flex;

align-items:center;

flex-wrap:wrap;

gap:11px;

margin-top:24px;

color:#d9deea;

font-size:13px;

}


body.page-license-renewal .breadcrumb a{

color:var(--gold-light);

font-weight:800;

}


/* =========================================================
   INTRO
========================================================= */
body.page-license-renewal .renewal-intro{

background:var(--cream);

}


body.page-license-renewal .intro-grid{

display:grid;

grid-template-columns:
1fr
1fr;

gap:50px;

align-items:center;

}


body.page-license-renewal .intro-images{

position:relative;

padding:
0
30px
30px
0;

}


body.page-license-renewal .intro-main-image{

height:420px;

border-radius:12px;

overflow:hidden;

box-shadow:var(--shadow);

}


body.page-license-renewal .intro-main-image img{

height:100%;

transition:
transform .6s;

}


body.page-license-renewal .intro-main-image:hover img{

transform:scale(1.04);

}


body.page-license-renewal .intro-small-image{

position:absolute;

right:0;

bottom:0;

width:210px;

height:155px;

border:
7px solid
var(--cream);

border-radius:10px;

overflow:hidden;

box-shadow:var(--shadow);

}


body.page-license-renewal .intro-small-image img{

height:100%;

}


body.page-license-renewal .intro-content h2{

font-size:
clamp(
30px,
4vw,
43px
);

margin-bottom:18px;

}


body.page-license-renewal .intro-content>p{

font-size:15px;

line-height:1.85;

margin-bottom:14px;

}


body.page-license-renewal .intro-points{

margin-top:25px;

display:grid;

gap:17px;

}


body.page-license-renewal .intro-point{

display:grid;

grid-template-columns:
44px
1fr;

gap:13px;

align-items:start;

}


body.page-license-renewal .point-icon{

width:44px;

height:44px;

border-radius:9px;

background:var(--navy);

color:var(--gold-light);

display:grid;

place-items:center;

}


body.page-license-renewal .intro-point h3{

font-family:'Manrope',sans-serif;

font-size:15px;

font-weight:800;

margin-bottom:3px;

}


body.page-license-renewal .intro-point p{

font-size:13px;

line-height:1.65;

}


/* =========================================================
   EXPIRY CHECKER
========================================================= */
body.page-license-renewal .checker-section{

background:var(--white);

border-block:
1px solid
var(--line);

}


body.page-license-renewal .checker-grid{

display:grid;

grid-template-columns:
1.05fr
.95fr;

gap:55px;

align-items:center;

}


body.page-license-renewal .checker-copy h2{

font-size:
clamp(
30px,
4vw,
43px
);

margin-bottom:15px;

}


body.page-license-renewal .checker-copy>p{

font-size:15px;

line-height:1.85;

max-width:620px;

}


body.page-license-renewal .checker-note{

margin-top:20px;

display:flex;

gap:10px;

align-items:flex-start;

font-size:12px;

}


body.page-license-renewal .checker-note i{

color:var(--gold);

margin-top:4px;

}


body.page-license-renewal .date-panel{

background:var(--navy);

border-radius:13px;

padding:30px;

box-shadow:var(--shadow);

}


body.page-license-renewal .date-panel label{

display:block;

color:#fff;

font-size:13px;

font-weight:800;

margin-bottom:9px;

}


body.page-license-renewal .date-panel input{

width:100%;

height:50px;

padding:0 14px;

border-radius:8px;

border:
1px solid
rgba(255,255,255,.18);

background:#fff;

color:var(--navy);

outline:none;

}


body.page-license-renewal .date-panel input:focus{

border-color:var(--gold);

box-shadow:
0 0 0 3px
rgba(201,166,107,.16);

}


body.page-license-renewal .date-result{

margin-top:18px;

padding-top:18px;

border-top:
1px solid
rgba(255,255,255,.16);

}


body.page-license-renewal .date-result strong{

display:block;

font-family:'Playfair Display',serif;

font-size:22px;

color:#fff;

margin-bottom:5px;

}


body.page-license-renewal .date-result span{

font-size:13px;

color:#d4dce8;

line-height:1.7;

}


/* =========================================================
   PROCESS
========================================================= */
body.page-license-renewal .process-section{

background:var(--cream);

}


body.page-license-renewal .process-wrap{

position:relative;

margin-top:45px;

}


body.page-license-renewal .process-line{

position:absolute;

left:8%;

right:8%;

top:31px;

height:2px;

background:var(--line);

}


body.page-license-renewal .process-steps{

display:grid;

grid-template-columns:
repeat(4,1fr);

gap:25px;

position:relative;

}


body.page-license-renewal .process-step{

position:relative;

text-align:center;

}


body.page-license-renewal .step-number{

width:64px;

height:64px;

margin:
0
auto
18px;

border-radius:50%;

background:var(--white);

border:
2px solid
var(--gold);

display:grid;

place-items:center;

color:var(--navy);

font-family:'Manrope',sans-serif;

font-size:17px;

font-weight:800;

position:relative;

z-index:2;

box-shadow:
0 5px 18px
rgba(16,29,53,.08);

}


body.page-license-renewal .process-step h3{

font-family:'Manrope',sans-serif;

font-size:16px;

font-weight:800;

margin-bottom:7px;

}


body.page-license-renewal .process-step p{

font-size:13px;

line-height:1.7;

max-width:230px;

margin:auto;

}


body.page-license-renewal .process-detail{

margin-top:38px;

background:var(--white);

border:
1px solid
var(--line);

border-left:
4px solid
var(--gold);

padding:
24px
27px;

border-radius:9px;

display:grid;

grid-template-columns:auto 1fr;

gap:17px;

align-items:start;

}


body.page-license-renewal .detail-icon{

width:42px;

height:42px;

border-radius:8px;

background:var(--navy);

color:var(--gold-light);

display:grid;

place-items:center;

}


body.page-license-renewal .process-detail h3{

font-family:'Manrope',sans-serif;

font-size:16px;

font-weight:800;

margin-bottom:4px;

}


body.page-license-renewal .process-detail p{

font-size:13px;

line-height:1.7;

}


/* =========================================================
   DOCUMENTS
========================================================= */
body.page-license-renewal .documents-section{

background:var(--white);

}


body.page-license-renewal .documents-grid{

display:grid;

grid-template-columns:
.9fr
1.1fr;

gap:55px;

align-items:center;

}


body.page-license-renewal .documents-image{

height:430px;

border-radius:12px;

overflow:hidden;

box-shadow:var(--shadow);

}


body.page-license-renewal .documents-image img{

height:100%;

transition:
transform .6s;

}


body.page-license-renewal .documents-image:hover img{

transform:scale(1.035);

}


body.page-license-renewal .documents-content h2{

font-size:
clamp(
30px,
4vw,
43px
);

margin-bottom:14px;

}


body.page-license-renewal .documents-content>p{

font-size:15px;

line-height:1.85;

margin-bottom:24px;

}


body.page-license-renewal .check-list{

display:grid;

gap:0;

border-top:
1px solid
var(--line);

}


body.page-license-renewal .check-item{

display:grid;

grid-template-columns:
32px
1fr;

gap:12px;

padding:15px 0;

border-bottom:
1px solid
var(--line);

}


body.page-license-renewal .check-item i{

width:28px;

height:28px;

border-radius:50%;

display:grid;

place-items:center;

background:
rgba(201,166,107,.16);

color:var(--gold);

font-size:12px;

}


body.page-license-renewal .check-item h3{

font-family:'Manrope',sans-serif;

font-size:14px;

font-weight:800;

margin-bottom:2px;

}


body.page-license-renewal .check-item p{

font-size:12px;

line-height:1.6;

}


body.page-license-renewal .document-progress{

margin-top:20px;

display:flex;

justify-content:space-between;

align-items:center;

font-size:12px;

font-weight:800;

color:var(--muted);

}


body.page-license-renewal .progress-track{

height:6px;

background:var(--line);

border-radius:10px;

margin-top:8px;

overflow:hidden;

}


body.page-license-renewal .progress-fill{

height:100%;

width:0%;

background:var(--gold);

transition:.35s;

}


/* =========================================================
   SITUATIONS
========================================================= */
body.page-license-renewal .situations-section{

background:var(--cream);

}


body.page-license-renewal .situation-tabs{

display:flex;

justify-content:center;

gap:8px;

flex-wrap:wrap;

margin:
28px
auto
30px;

}


body.page-license-renewal .situation-tab{

border:
1px solid
var(--line);

background:var(--white);

color:var(--text);

padding:
11px
17px;

border-radius:7px;

font-size:12px;

font-weight:800;

transition:.25s;

}


body.page-license-renewal .situation-tab:hover,
body.page-license-renewal .situation-tab.active{

background:var(--navy);

color:#fff;

border-color:var(--navy);

}


body.page-license-renewal .situation-panel{

max-width:900px;

margin:auto;

background:var(--white);

border-top:
3px solid
var(--gold);

padding:
30px
34px;

border-radius:10px;

box-shadow:var(--shadow);

display:grid;

grid-template-columns:
65px
1fr;

gap:20px;

align-items:start;

}


body.page-license-renewal .situation-icon{

width:60px;

height:60px;

border-radius:50%;

background:var(--navy);

color:var(--gold-light);

display:grid;

place-items:center;

font-size:20px;

}


body.page-license-renewal .situation-panel h3{

font-size:25px;

margin-bottom:7px;

}


body.page-license-renewal .situation-panel p{

font-size:14px;

line-height:1.8;

}


body.page-license-renewal .situation-action{

margin-top:13px;

font-size:12px;

font-weight:800;

color:var(--gold);

}


/* =========================================================
   BEFORE SUBMIT
========================================================= */
body.page-license-renewal .before-section{

background:var(--navy);

color:#fff;

}


body.page-license-renewal .before-grid{

display:grid;

grid-template-columns:
.9fr
1.1fr;

gap:60px;

align-items:center;

}


body.page-license-renewal .before-copy .eyebrow{

color:var(--gold-light);

}


body.page-license-renewal .before-copy h2{

font-size:
clamp(
30px,
4vw,
43px
);

color:#fff;

margin-bottom:14px;

}


body.page-license-renewal .before-copy p{

color:#cbd5e1;

font-size:15px;

line-height:1.85;

}


body.page-license-renewal .before-list{

display:grid;

grid-template-columns:
1fr
1fr;

gap:0;

border-top:
1px solid
rgba(255,255,255,.18);

}


body.page-license-renewal .before-item{

display:flex;

gap:12px;

padding:
18px
15px;

border-bottom:
1px solid
rgba(255,255,255,.18);

}


body.page-license-renewal .before-item i{

color:var(--gold-light);

margin-top:5px;

}


body.page-license-renewal .before-item strong{

display:block;

font-family:'Manrope',sans-serif;

font-size:14px;

color:#fff;

margin-bottom:2px;

}


body.page-license-renewal .before-item span{

display:block;

font-size:12px;

color:#c3ccd8;

line-height:1.6;

}


/* =========================================================
   FAQ
========================================================= */
body.page-license-renewal .faq-section{

background:var(--white);

}


body.page-license-renewal .faq-list{

max-width:900px;

margin:0 auto;

border-top:
1px solid
var(--line);

}


body.page-license-renewal .faq-item{

border-bottom:
1px solid
var(--line);

}


body.page-license-renewal .faq-question{

width:100%;

padding:
20px
0;

border:0;

background:transparent;

display:flex;

align-items:center;

justify-content:space-between;

gap:20px;

text-align:left;

color:var(--text);

font-family:'Manrope',sans-serif;

font-size:15px;

font-weight:800;

}


body.page-license-renewal .faq-question i{

color:var(--gold);

transition:.3s;

}


body.page-license-renewal .faq-answer{

max-height:0;

overflow:hidden;

transition:
max-height .35s ease;

}


body.page-license-renewal .faq-answer p{

padding:
0
35px
19px
0;

font-size:13px;

line-height:1.8;

}


body.page-license-renewal .faq-item.open .faq-answer{

max-height:180px;

}


body.page-license-renewal .faq-item.open .faq-question i{

transform:rotate(45deg);

}


/* =========================================================
   CTA
========================================================= */
body.page-license-renewal .cta-section{

padding:
25px
0
70px;

background:var(--white);

}


body.page-license-renewal .cta-box{

min-height:180px;

background:

linear-gradient(
100deg,
rgba(16,29,53,.96),
rgba(23,41,69,.90)
),

url(
"../images/white.jpg"
)

center/cover;

border-radius:12px;

padding:
35px
42px;

display:flex;

align-items:center;

justify-content:space-between;

gap:30px;

}


body.page-license-renewal .cta-box h2{

font-size:
clamp(
26px,
3vw,
36px
);

color:#fff;

margin-bottom:8px;

}


body.page-license-renewal .cta-box p{

max-width:650px;

color:#d6deea;

font-size:14px;

line-height:1.75;

}


body.page-license-renewal .social-links{

display:flex;

gap:8px;

}


body.page-license-renewal .social-links a{

width:35px;

height:35px;

border:
1px solid
rgba(255,255,255,.16);

border-radius:7px;

display:grid;

place-items:center;

color:#d7deea;

transition:.25s;

}


body.page-license-renewal .social-links a:hover{

background:var(--gold);

border-color:var(--gold);

color:var(--navy);

}


/* =========================================================
   BOOKING MODAL
========================================================= */
body.page-license-renewal .modal-overlay{

position:fixed;

inset:0;

z-index:2000;

background:
rgba(5,12,23,.72);

display:none;

align-items:center;

justify-content:center;

padding:20px;

}


body.page-license-renewal .modal-overlay.show{

display:flex;

}


body.page-license-renewal .booking-modal{

width:min(540px,100%);

background:var(--white);

border-radius:13px;

box-shadow:
0 25px 70px
rgba(0,0,0,.28);

overflow:hidden;

animation:
dc-license-renewal-modalIn .3s ease;

}


@keyframes dc-license-renewal-modalIn{

from{

opacity:0;

transform:
translateY(18px)
scale(.98);

}

to{

opacity:1;

transform:none;

}

}


body.page-license-renewal .modal-head{

background:var(--navy);

padding:
23px
26px;

display:flex;

align-items:center;

justify-content:space-between;

}


body.page-license-renewal .modal-head h2{

color:#fff;

font-size:25px;

}


body.page-license-renewal .modal-close{

width:35px;

height:35px;

border:
1px solid
rgba(255,255,255,.2);

background:transparent;

color:#fff;

border-radius:7px;

}


body.page-license-renewal .booking-form{

padding:26px;

display:grid;

gap:15px;

}


body.page-license-renewal .form-row{

display:grid;

grid-template-columns:
1fr
1fr;

gap:14px;

}


body.page-license-renewal .form-group label{

display:block;

font-size:12px;

font-weight:800;

margin-bottom:6px;

}


body.page-license-renewal .form-group input,
body.page-license-renewal .form-group select,
body.page-license-renewal .form-group textarea{

width:100%;

border:
1px solid
var(--line);

background:var(--white);

color:var(--text);

border-radius:7px;

padding:
11px
12px;

outline:none;

}


body.page-license-renewal .form-group textarea{

min-height:90px;

resize:vertical;

}


body.page-license-renewal .form-group input:focus,
body.page-license-renewal .form-group select:focus,
body.page-license-renewal .form-group textarea:focus{

border-color:var(--gold);

}


body.page-license-renewal .form-message{

display:none;

font-size:12px;

color:#3d7651;

background:#edf7ef;

padding:10px;

border-radius:7px;

}


/* =========================================================
   BACK TO TOP
========================================================= */
body.page-license-renewal .back-top{

position:fixed;

right:20px;

bottom:20px;

width:42px;

height:42px;

border:0;

border-radius:8px;

background:var(--gold);

color:var(--navy);

display:grid;

place-items:center;

z-index:800;

opacity:0;

visibility:hidden;

transform:translateY(10px);

transition:.25s;

}


body.page-license-renewal .back-top.show{

opacity:1;

visibility:visible;

transform:none;

}


/* =========================================================
   REVEAL
========================================================= */
body.page-license-renewal .reveal{

opacity:0;

transform:translateY(25px);

transition:
opacity .65s ease,
transform .65s ease;

}


body.page-license-renewal .reveal.visible{

opacity:1;

transform:none;

}


html[dir="rtl"] body.page-license-renewal .intro-images{

padding:
0
0
30px
30px;

}


html[dir="rtl"] body.page-license-renewal .intro-small-image{

right:auto;

left:0;

}


html[dir="rtl"] body.page-license-renewal .process-detail{

border-left:
1px solid
var(--line);

border-right:
4px solid
var(--gold);

}


html[dir="rtl"] body.page-license-renewal .faq-answer p{

padding-right:0;

padding-left:35px;

}


html[dir="rtl"] body.page-license-renewal .faq-question{

text-align:right;

}


/* =========================================================
   TABLET
========================================================= */
@media(max-width:1100px){
body.page-license-renewal{

.container{

width:
calc(100% - 40px);

}


.header-inner{

gap:13px;

}


.desktop-nav{

gap:13px;

}


.nav-link{

font-size:12px;

}


.brand-text strong{

font-size:18px;

}


.brand-icon{

width:40px;

height:40px;

}


.intro-grid,
.checker-grid,
.documents-grid,
.before-grid{

gap:35px;

}


.footer-main{

grid-template-columns:
1.2fr
1fr
1fr;

}


.footer-main>div:last-child{

grid-column:
2 / 4;

}


}
}


/* =========================================================
   TABLET / SMALL DESKTOP
========================================================= */
@media(max-width:900px){
body.page-license-renewal{

.header-inner{

grid-template-columns:
auto
1fr
auto;

}


.desktop-nav{

position:absolute;

top:82px;

left:20px;

right:20px;

display:none;

flex-direction:column;

align-items:stretch;

justify-content:flex-start;

gap:3px;

padding:13px;

background:var(--white);

border:
1px solid
var(--line);

border-radius:10px;

box-shadow:var(--shadow);

}


.desktop-nav.open{

display:flex;

}


.nav-link{

width:100%;

padding:
11px
10px;

}


.nav-link.active:after{

display:none;

}


.nav-dropdown{

width:100%;

}


.dropdown-menu{

position:static;

width:100%;

display:none;

opacity:1;

visibility:visible;

transform:none;

box-shadow:none;

border:0;

padding:
3px
0
5px
13px;

}


.nav-dropdown.open .dropdown-menu{

display:block;

}


.mobile-book{

display:inline-flex;

margin-top:5px;

}


.desktop-book{

display:none;

}


.hamburger{

display:flex;

}


/*
   HERO TABLET

   Still large and full width.
*/

.renewal-hero{

height:560px;

min-height:560px;

}


.renewal-hero .container{

height:100%;

}


.hero-content h1{

font-size:
clamp(
38px,
6vw,
54px
);

}


.intro-grid,
.checker-grid,
.documents-grid,
.before-grid{

grid-template-columns:1fr;

}


.intro-images{

max-width:680px;

width:100%;

margin:auto;

}


.documents-image{

height:360px;

max-width:700px;

margin:auto;

}


.before-list{

margin-top:10px;

}


.process-line{

display:none;

}


.process-steps{

grid-template-columns:
repeat(2,1fr);

row-gap:35px;

}


.footer-main{

grid-template-columns:
1fr
1fr;

}


.footer-main>div:last-child{

grid-column:auto;

}


}
}


/* =========================================================
   MOBILE
========================================================= */
@media(max-width:600px){
body.page-license-renewal{

html{

scroll-padding-top:75px;

}


.container{

width:
calc(100% - 32px);

}


.section{

padding-block:50px;

}


.header-inner{

min-height:70px;

gap:8px;

}


.brand{

gap:8px;

}


.brand-icon{

width:35px;

height:35px;

font-size:16px;

}


.brand-text strong{

font-size:16px;

}


.brand-text span{

font-size:7px;

letter-spacing:1.2px;

}


.header-actions{

gap:5px;

}


.icon-button,
.hamburger{

width:34px;

height:34px;

}


.desktop-nav{

top:70px;

left:16px;

right:16px;

}


/*
   MOBILE HERO

   Desktop is 620px.
   Mobile is reduced so it doesn't
   consume the entire phone screen.
*/

.renewal-hero{

height:470px;

min-height:470px;

padding-block:40px;

}


.renewal-hero .container{

height:100%;

}


.hero-content{

max-width:100%;

}


.hero-content h1{

font-size:38px;

line-height:1.16;

}


.hero-content p{

font-size:14px;

line-height:1.8;

}


.breadcrumb{

font-size:12px;

margin-top:19px;

}


.intro-images{

padding-right:15px;

padding-bottom:22px;

}


.intro-main-image{

height:330px;

}


.intro-small-image{

width:145px;

height:110px;

border-width:5px;

}


html[dir="rtl"] .intro-images{

padding-right:0;

padding-left:15px;

}


.checker-grid{

gap:28px;

}


.date-panel{

padding:22px;

}


.process-steps{

grid-template-columns:1fr;

gap:27px;

}


.process-detail{

grid-template-columns:1fr;

padding:22px;

}


.situation-tabs{

justify-content:flex-start;

}


.situation-tab{

padding:
10px
12px;

}


.situation-panel{

grid-template-columns:1fr;

padding:23px;

}


.situation-icon{

width:50px;

height:50px;

}


.before-list{

grid-template-columns:1fr;

}


.cta-box{

padding:
28px
23px;

align-items:flex-start;

flex-direction:column;

min-height:auto;

}


.footer-main{

grid-template-columns:1fr;

gap:30px;

padding-block:
45px
35px;

}


.footer-bottom-inner{

padding-block:16px;

flex-direction:column;

align-items:flex-start;

}


.form-row{

grid-template-columns:1fr;

}


.modal-head{

padding:20px;

}


.booking-form{

padding:20px;

}


}
}


/* =========================================================
   SMALL MOBILE
========================================================= */
@media(max-width:380px){
body.page-license-renewal{

.container{

width:
calc(100% - 26px);

}


.brand-text strong{

font-size:14px;

}


.brand-text span{

font-size:6px;

}


.brand-icon{

width:32px;

height:32px;

}


.icon-button,
.hamburger{

width:31px;

height:31px;

}


.renewal-hero{

height:450px;

min-height:450px;

}



}
}


/* =========================================================
   DARK MODE
========================================================= */
body.page-license-renewal.dark-mode .intro-small-image{

border-color:var(--cream);

}


body.page-license-renewal.dark-mode .step-number{

background:var(--surface);

color:#fff;

}


body.page-license-renewal.dark-mode .situation-tab{

background:var(--surface);

}


body.page-license-renewal.dark-mode .date-panel input{

background:#f8fafc;

color:#101d35;

}


body.page-license-renewal.dark-mode .form-message{

background:#163221;

color:#c8efd2;

}

/* inline style hooks */
.page-license-renewal .dc-inline-license-renewal-1{margin-top:10px}
.page-license-renewal .dc-inline-license-renewal-2{font-size:12px;
font-weight:800;
color:var(--gold);}
.page-license-renewal .dc-inline-license-renewal-3{margin-top:20px}

/* === PAGE RC-RENEWAL (scoped) === */
/* =========================================================
   DRIVECARE RC RENEWAL
   ABOUT PAGE REFERENCE
   ========================================================= */
body.page-rc-renewal{

--navy:#101d35;
--navy2:#172945;
--navy3:#203755;

--gold:#c9a66b;
--gold-light:#e6ca97;

--cream:#faf7f0;
--white:#fff;

--text:#101d35;
--muted:#4e5b70;
--line:#dededc;

--surface:#fff;

--shadow:0 12px 35px rgba(16,29,53,.09);

--container:1200px;

--ease:cubic-bezier(.22,.61,.36,1);

}



html{
scroll-behavior:smooth;
scroll-padding-top:95px;
}

body.page-rc-renewal{

font-family:'DM Sans',sans-serif;

background:var(--cream);

color:var(--text);

line-height:1.7;

overflow-x:hidden;

font-weight:500;

transition:
background .3s,
color .3s;

}

body.page-rc-renewal.dark-mode{

--cream:#0b1423;

--white:#111f32;

--text:#f5f1e9;

--muted:#c0cad8;

--line:#2b3a50;

--surface:#111f32;

--shadow:0 12px 35px rgba(0,0,0,.25);

}

body.page-rc-renewal.dark-mode .dark-surface{
background:#111f32;
}





body.page-rc-renewal button{
cursor:pointer;
}

body.page-rc-renewal img{
width:100%;
display:block;
object-fit:cover;
}

body.page-rc-renewal .container{

width:min(
var(--container),
calc(100% - 48px)
);

margin-inline:auto;

}

body.page-rc-renewal .section{
padding-block:72px;
}

body.page-rc-renewal .eyebrow{

display:inline-flex;

align-items:center;

gap:10px;

color:var(--gold);

font-size:12px;

font-weight:800;

text-transform:uppercase;

letter-spacing:2px;

margin-bottom:13px;

}

body.page-rc-renewal .eyebrow:before{

content:"";

width:28px;

height:2px;

background:var(--gold);

}

body.page-rc-renewal .section-heading{

max-width:720px;

margin-bottom:35px;

}

body.page-rc-renewal .section-heading.center{

text-align:center;

margin-inline:auto;

}

body.page-rc-renewal .section-heading h2{

font-size:clamp(
30px,
4vw,
44px
);

margin-bottom:15px;

}

body.page-rc-renewal .section-heading p{

font-size:15px;

line-height:1.85;

}


/* =========================================================
   HERO
   ========================================================= */
body.page-rc-renewal .rc-hero{

min-height:560px;

height:560px;

position:relative;

overflow:hidden;

background:var(--navy);

color:#fff;

}

body.page-rc-renewal .rc-hero::before{

content:"";

position:absolute;

inset:0;

background:

linear-gradient(
90deg,
rgba(8,18,32,.96) 0%,
rgba(8,18,32,.88) 38%,
rgba(8,18,32,.56) 68%,
rgba(8,18,32,.35) 100%
),

url("../images/inter.jpg")
center/cover no-repeat;

transform:scale(1.03);

animation:
dc-rc-renewal-heroImage 14s ease-in-out infinite alternate;

}

body.page-rc-renewal .rc-hero::after{

content:"";

position:absolute;

width:520px;

height:520px;

border:1px solid rgba(230,202,151,.22);

border-radius:50%;

right:-170px;

top:-180px;

animation:
dc-rc-renewal-heroOrbit 18s linear infinite;

}

body.page-rc-renewal .hero-inner{

height:100%;

display:flex;

align-items:center;

position:relative;

}

body.page-rc-renewal .hero-content{

max-width:670px;

position:relative;

z-index:3;

animation:
dc-rc-renewal-heroContent .9s var(--ease) both;

}

body.page-rc-renewal .hero-content .eyebrow{

color:var(--gold-light);

}

body.page-rc-renewal .hero-title{

font-size:
clamp(44px,5.4vw,70px);

color:#fff;

line-height:1.04;

letter-spacing:-1px;

}

body.page-rc-renewal .hero-title span{

color:var(--gold-light);

}

body.page-rc-renewal .hero-description{

max-width:570px;

margin-top:21px;

font-size:15px;

line-height:1.85;

color:rgba(255,255,255,.76);

}

body.page-rc-renewal .hero-actions{

display:flex;

flex-wrap:wrap;

gap:10px;

margin-top:27px;

}

body.page-rc-renewal .hero-primary{

display:inline-flex;

align-items:center;

gap:9px;

min-height:46px;

padding:0 18px;

background:var(--gold);

color:var(--navy);

border-radius:6px;

font-size:12px;

font-weight:800;

transition:.3s;

}

body.page-rc-renewal .hero-primary:hover{

background:var(--gold-light);

transform:translateY(-3px);

}

body.page-rc-renewal .hero-secondary{

display:inline-flex;

align-items:center;

gap:9px;

min-height:46px;

padding:0 18px;

border:1px solid rgba(255,255,255,.35);

color:#fff;

border-radius:6px;

font-size:12px;

font-weight:700;

transition:.3s;

}

body.page-rc-renewal .hero-secondary:hover{

background:#fff;

color:var(--navy);

}

body.page-rc-renewal .hero-float-image{

position:absolute;

right:8%;

bottom:0;

width:350px;

height:430px;

overflow:hidden;

border-radius:
170px 170px 0 0;

border:
8px solid rgba(255,255,255,.08);

box-shadow:
0 25px 70px rgba(0,0,0,.3);

animation:
dc-rc-renewal-heroFloat 5s ease-in-out infinite;

}

body.page-rc-renewal .hero-float-image img{

height:100%;

object-fit:cover;

}

body.page-rc-renewal .hero-float-label{

position:absolute;

right:31%;

bottom:54px;

width:105px;

height:105px;

border-radius:50%;

border:1px solid rgba(230,202,151,.7);

background:rgba(16,29,53,.8);

backdrop-filter:blur(8px);

display:grid;

place-items:center;

text-align:center;

color:#fff;

font-size:9px;

font-weight:800;

letter-spacing:1.3px;

line-height:1.6;

animation:
dc-rc-renewal-floatBadge 4s ease-in-out infinite;

}

body.page-rc-renewal .hero-float-label i{

display:block;

font-size:18px;

color:var(--gold-light);

margin-bottom:4px;

}

body.page-rc-renewal .hero-scroll{

position:absolute;

right:0;

bottom:32px;

writing-mode:vertical-rl;

font-size:9px;

letter-spacing:2px;

color:rgba(255,255,255,.6);

text-transform:uppercase;

}


/* =========================================================
   SECTION 2
   RENEWAL SNAPSHOT
   ========================================================= */
body.page-rc-renewal .snapshot-section{

background:var(--cream);

}

body.page-rc-renewal .snapshot-grid{

display:grid;

grid-template-columns:
1fr 1.35fr;

gap:65px;

align-items:center;

}

body.page-rc-renewal .snapshot-copy p{

max-width:560px;

font-size:15px;

line-height:1.9;

}

body.page-rc-renewal .snapshot-note{

margin-top:22px;

padding-left:17px;

border-left:3px solid var(--gold);

font-size:13px;

line-height:1.8;

color:var(--muted);

}

body.page-rc-renewal .snapshot-visual{

position:relative;

min-height:410px;

}

body.page-rc-renewal .snapshot-photo{

position:absolute;

left:0;

top:0;

width:63%;

height:365px;

overflow:hidden;

box-shadow:var(--shadow);

}

body.page-rc-renewal .snapshot-photo img{

height:100%;

transition:
transform .8s var(--ease);

}

body.page-rc-renewal .snapshot-visual:hover
.snapshot-photo img{

transform:scale(1.055);

}

body.page-rc-renewal .snapshot-panel{

position:absolute;

right:0;

bottom:0;

width:54%;

background:var(--white);

border:
1px solid var(--line);

box-shadow:var(--shadow);

padding:27px;

}

body.page-rc-renewal .snapshot-panel::before{

content:"";

position:absolute;

top:0;

left:0;

width:55px;

height:3px;

background:var(--gold);

}

body.page-rc-renewal .snapshot-panel-label{

font-size:10px;

font-weight:800;

letter-spacing:1.8px;

color:var(--gold);

text-transform:uppercase;

}

body.page-rc-renewal .snapshot-panel h3{

font-size:25px;

margin-top:8px;

}

body.page-rc-renewal .snapshot-panel p{

font-size:12px;

line-height:1.7;

margin-top:7px;

}

body.page-rc-renewal .snapshot-rule{

height:1px;

background:var(--line);

margin:19px 0;

}

body.page-rc-renewal .snapshot-facts{

display:grid;

grid-template-columns:1fr 1fr;

gap:15px;

}

body.page-rc-renewal .snapshot-fact strong{

font-family:'Manrope',sans-serif;

font-size:14px;

display:block;

}

body.page-rc-renewal .snapshot-fact span{

font-size:10px;

color:var(--muted);

display:block;

margin-top:3px;

}


/* =========================================================
   SECTION 3
   RC LIFECYCLE
   ========================================================= */
body.page-rc-renewal .lifecycle-section{

background:var(--navy);

color:#fff;

position:relative;

overflow:hidden;

}

body.page-rc-renewal .lifecycle-section::before{

content:"RC";

position:absolute;

right:-40px;

top:-110px;

font-family:'Playfair Display',serif;

font-size:330px;

color:rgba(255,255,255,.035);

}

body.page-rc-renewal .lifecycle-header{

display:grid;

grid-template-columns:
1fr .75fr;

gap:60px;

align-items:end;

margin-bottom:60px;

position:relative;

z-index:2;

}

body.page-rc-renewal .lifecycle-header h2{

color:#fff;

}

body.page-rc-renewal .lifecycle-header .eyebrow{

color:var(--gold-light);

}

body.page-rc-renewal .lifecycle-description{

color:rgba(255,255,255,.64);

font-size:14px;

line-height:1.85;

max-width:420px;

}

body.page-rc-renewal .lifecycle-line{

position:relative;

display:grid;

grid-template-columns:
repeat(4,1fr);

}

body.page-rc-renewal .lifecycle-line::before{

content:"";

position:absolute;

left:7%;

right:7%;

top:31px;

height:1px;

background:
rgba(230,202,151,.35);

}

body.page-rc-renewal .lifecycle-step{

position:relative;

padding-right:35px;

}

body.page-rc-renewal .lifecycle-step:last-child{
padding-right:0;
}

body.page-rc-renewal .lifecycle-marker{

width:63px;

height:63px;

border-radius:50%;

background:var(--navy);

border:
1px solid rgba(230,202,151,.6);

display:grid;

place-items:center;

position:relative;

z-index:2;

color:var(--gold-light);

font-size:18px;

transition:.35s;

}

body.page-rc-renewal .lifecycle-step:hover
.lifecycle-marker{

background:var(--gold);

color:var(--navy);

transform:
rotate(8deg)
scale(1.08);

}

body.page-rc-renewal .lifecycle-number{

margin-top:21px;

font-size:10px;

letter-spacing:1.8px;

font-weight:800;

color:var(--gold-light);

}

body.page-rc-renewal .lifecycle-step h3{

font-family:'Manrope',sans-serif;

font-size:18px;

color:#fff;

margin-top:6px;

}

body.page-rc-renewal .lifecycle-step p{

font-size:12px;

color:rgba(255,255,255,.59);

line-height:1.7;

margin-top:7px;

max-width:220px;

}


/* =========================================================
   SECTION 4
   DOCUMENT PREPARATION
   ========================================================= */
body.page-rc-renewal .documents-section{

background:var(--white);

}

body.page-rc-renewal .documents-layout{

display:grid;

grid-template-columns:
1.05fr .95fr;

gap:75px;

align-items:center;

}

body.page-rc-renewal .document-stage{

height:470px;

position:relative;

}

body.page-rc-renewal .document-photo{

position:absolute;

left:0;

top:0;

width:68%;

height:385px;

overflow:hidden;

}

body.page-rc-renewal .document-photo img{

height:100%;

transition:
transform .9s var(--ease);

}

body.page-rc-renewal .document-stage:hover
.document-photo img{

transform:scale(1.07);

}

body.page-rc-renewal .document-sheet{

position:absolute;

right:0;

bottom:0;

width:55%;

padding:27px;

background:var(--cream);

border:
1px solid var(--line);

box-shadow:var(--shadow);

transform:
rotate(2deg);

transition:
transform .45s var(--ease);

}

body.page-rc-renewal .document-stage:hover
.document-sheet{

transform:
rotate(0deg)
translateY(-7px);

}

body.page-rc-renewal .sheet-head{

display:flex;

justify-content:space-between;

align-items:center;

border-bottom:
1px solid var(--line);

padding-bottom:13px;

}

body.page-rc-renewal .sheet-title{

font-family:'Playfair Display',serif;

font-size:20px;

}

body.page-rc-renewal .sheet-icon{

width:39px;

height:39px;

border-radius:50%;

background:var(--navy);

color:var(--gold-light);

display:grid;

place-items:center;

font-size:13px;

}

body.page-rc-renewal .sheet-line{

height:6px;

background:var(--line);

margin-top:17px;

}

body.page-rc-renewal .sheet-line.mid{

width:70%;

}

body.page-rc-renewal .sheet-line.short{

width:42%;

}

body.page-rc-renewal .sheet-check{

display:flex;

gap:9px;

align-items:center;

font-size:11px;

color:var(--muted);

margin-top:14px;

}

body.page-rc-renewal .sheet-check i{

color:var(--gold);

}

body.page-rc-renewal .document-content{

padding-bottom:5px;

}

body.page-rc-renewal .document-content .section-heading{

margin-bottom:18px;

}

body.page-rc-renewal .document-content>p{

font-size:14px;

line-height:1.85;

}

body.page-rc-renewal .document-list{

margin-top:27px;

border-top:
1px solid var(--line);

}

body.page-rc-renewal .document-row{

display:grid;

grid-template-columns:40px 1fr auto;

gap:14px;

align-items:center;

padding:14px 0;

border-bottom:
1px solid var(--line);

}

body.page-rc-renewal .document-row-icon{

width:38px;

height:38px;

border-radius:50%;

background:
rgba(201,166,107,.16);

color:var(--gold);

display:grid;

place-items:center;

}

body.page-rc-renewal .document-row strong{

font-family:'Manrope',sans-serif;

font-size:13px;

display:block;

}

body.page-rc-renewal .document-row span{

font-size:10px;

color:var(--muted);

display:block;

margin-top:3px;

}

body.page-rc-renewal .document-status{

font-size:9px;

font-weight:800;

letter-spacing:1px;

color:var(--gold);

}


/* =========================================================
   SECTION 5
   VEHICLE READINESS
   ========================================================= */
body.page-rc-renewal .readiness-section{

background:var(--cream);

}

body.page-rc-renewal .readiness-grid{

display:grid;

grid-template-columns:
.8fr 1.2fr;

gap:65px;

align-items:stretch;

}

body.page-rc-renewal .readiness-image{

position:relative;

min-height:520px;

overflow:hidden;

}

body.page-rc-renewal .readiness-image img{

height:100%;

transition:
transform 1s var(--ease);

}

body.page-rc-renewal .readiness-image:hover img{

transform:scale(1.06);

}

body.page-rc-renewal .readiness-image::before{

content:"";

position:absolute;

inset:18px;

border:
1px solid rgba(255,255,255,.45);

z-index:2;

pointer-events:none;

}

body.page-rc-renewal .readiness-tag{

position:absolute;

bottom:25px;

left:25px;

z-index:3;

background:var(--navy);

color:#fff;

padding:12px 16px;

font-size:9px;

font-weight:800;

letter-spacing:2px;

}

body.page-rc-renewal .readiness-content{

display:flex;

flex-direction:column;

justify-content:center;

}

body.page-rc-renewal .readiness-content>p{

max-width:590px;

font-size:14px;

line-height:1.85;

}

body.page-rc-renewal .readiness-list{

margin-top:29px;

display:grid;

grid-template-columns:
1fr 1fr;

border-top:
1px solid var(--line);

border-left:
1px solid var(--line);

}

body.page-rc-renewal .readiness-item{

min-height:120px;

padding:22px;

border-right:
1px solid var(--line);

border-bottom:
1px solid var(--line);

transition:
background .3s,
transform .3s;

}

body.page-rc-renewal .readiness-item:hover{

background:var(--white);

transform:
translateY(-4px);

}

body.page-rc-renewal .readiness-item i{

font-size:19px;

color:var(--gold);

}

body.page-rc-renewal .readiness-item strong{

display:block;

font-family:'Manrope',sans-serif;

font-size:13px;

margin-top:13px;

}

body.page-rc-renewal .readiness-item span{

display:block;

font-size:11px;

line-height:1.6;

color:var(--muted);

margin-top:4px;

}


/* =========================================================
   SECTION 6
   APPLICATION JOURNEY
   ========================================================= */
body.page-rc-renewal .application-section{

background:var(--white);

}

body.page-rc-renewal .application-layout{

display:grid;

grid-template-columns:
.7fr 1.3fr;

gap:65px;

align-items:start;

}

body.page-rc-renewal .application-intro{

position:sticky;

top:110px;

}

body.page-rc-renewal .application-intro p{

font-size:14px;

line-height:1.85;

}

body.page-rc-renewal .application-link{

display:inline-flex;

align-items:center;

gap:8px;

margin-top:22px;

color:var(--gold);

font-size:12px;

font-weight:800;

}

body.page-rc-renewal .application-list{

border-top:
1px solid var(--line);

}

body.page-rc-renewal .application-item{

display:grid;

grid-template-columns:75px 1fr 50px;

gap:22px;

align-items:center;

padding:27px 0;

border-bottom:
1px solid var(--line);

transition:
padding .35s var(--ease),
background .35s;

}

body.page-rc-renewal .application-item:hover{

padding-inline-start:15px;

background:
linear-gradient(
90deg,
rgba(201,166,107,.06),
transparent
);

}

body.page-rc-renewal .application-number{

font-family:'Manrope',sans-serif;

font-size:27px;

font-weight:800;

color:var(--gold);

}

body.page-rc-renewal .application-item h3{

font-family:'Manrope',sans-serif;

font-size:17px;

margin-bottom:4px;

}

body.page-rc-renewal .application-item p{

font-size:12px;

line-height:1.65;

}

body.page-rc-renewal .application-arrow{

width:39px;

height:39px;

border:
1px solid var(--line);

border-radius:50%;

display:grid;

place-items:center;

color:var(--gold);

transition:.3s;

}

body.page-rc-renewal .application-item:hover
.application-arrow{

background:var(--navy);

border-color:var(--navy);

transform:rotate(-35deg);

}


/* =========================================================
   SECTION 7
   FINAL CTA
   ========================================================= */
body.page-rc-renewal .final-section{

background:var(--cream);

padding-block:65px;

}

body.page-rc-renewal .final-box{

min-height:350px;

position:relative;

overflow:hidden;

display:flex;

align-items:center;

padding:
55px 65px;

background:

linear-gradient(
90deg,
rgba(16,29,53,.97),
rgba(16,29,53,.82)
),

url("../images/flight.jpg")
center/cover no-repeat;

color:#fff;

}

body.page-rc-renewal .final-box::before{

content:"";

position:absolute;

width:390px;

height:390px;

border:
1px solid rgba(230,202,151,.25);

border-radius:50%;

right:-100px;

top:-120px;

animation:
dc-rc-renewal-finalCircle 12s linear infinite;

}

body.page-rc-renewal .final-content{

position:relative;

z-index:2;

max-width:700px;

}

body.page-rc-renewal .final-content .eyebrow{

color:var(--gold-light);

}

body.page-rc-renewal .final-content h2{

font-size:
clamp(36px,4vw,54px);

color:#fff;

}

body.page-rc-renewal .final-content p{

color:rgba(255,255,255,.7);

font-size:14px;

line-height:1.8;

max-width:610px;

margin-top:13px;

}

body.page-rc-renewal .final-actions{

display:flex;

flex-wrap:wrap;

gap:10px;

margin-top:24px;

}

body.page-rc-renewal .final-primary{

display:inline-flex;

align-items:center;

gap:8px;

min-height:46px;

padding:0 18px;

background:var(--gold);

color:var(--navy);

border-radius:6px;

font-size:12px;

font-weight:800;

transition:.3s;

}

body.page-rc-renewal .final-primary:hover{

background:var(--gold-light);

transform:translateY(-3px);

}

body.page-rc-renewal .final-secondary{

display:inline-flex;

align-items:center;

gap:8px;

min-height:46px;

padding:0 18px;

border:
1px solid rgba(255,255,255,.35);

color:#fff;

border-radius:6px;

font-size:12px;

font-weight:700;

}


/* =========================================================
   BACK TO TOP
   ========================================================= */
body.page-rc-renewal .back-to-top{

position:fixed;

right:18px;

bottom:18px;

width:41px;

height:41px;

border-radius:50%;

border:0;

background:var(--navy);

color:#fff;

display:grid;

place-items:center;

opacity:0;

visibility:hidden;

transform:translateY(10px);

transition:.3s;

z-index:500;

}

body.page-rc-renewal .back-to-top.show{

opacity:1;

visibility:visible;

transform:none;

}


/* =========================================================
   REVEAL ANIMATIONS
   ========================================================= */
body.page-rc-renewal .reveal{

opacity:0;

transform:
translateY(35px);

filter:blur(3px);

transition:
opacity .85s var(--ease),
transform .85s var(--ease),
filter .85s var(--ease);

}

body.page-rc-renewal .reveal.visible{

opacity:1;

transform:none;

filter:none;

}

body.page-rc-renewal .reveal-left{

opacity:0;

transform:
translateX(-45px);

filter:blur(3px);

transition:
opacity .9s var(--ease),
transform .9s var(--ease),
filter .9s var(--ease);

}

body.page-rc-renewal .reveal-left.visible{

opacity:1;

transform:none;

filter:none;

}

body.page-rc-renewal .reveal-right{

opacity:0;

transform:
translateX(45px);

filter:blur(3px);

transition:
opacity .9s var(--ease),
transform .9s var(--ease),
filter .9s var(--ease);

}

body.page-rc-renewal .reveal-right.visible{

opacity:1;

transform:none;

filter:none;

}


/* =========================================================
   KEYFRAMES
   ========================================================= */
body.page-rc-renewal @keyframes dc-rc-renewal-heroImage{

from{
transform:scale(1.03);
}

to{
transform:scale(1.09);
}

}

@keyframes dc-rc-renewal-heroContent{

from{

opacity:0;

transform:
translateY(28px);

}

to{

opacity:1;

transform:none;

}

}

@keyframes dc-rc-renewal-heroOrbit{

from{

transform:
rotate(0deg);

}

to{

transform:
rotate(360deg);

}

}

@keyframes dc-rc-renewal-heroFloat{

0%,
100%{

transform:
translateY(0);

}

50%{

transform:
translateY(-10px);

}

}

@keyframes dc-rc-renewal-floatBadge{

0%,
100%{

transform:
translateY(0)
rotate(0deg);

}

50%{

transform:
translateY(-10px)
rotate(4deg);

}

}

@keyframes dc-rc-renewal-finalCircle{

from{

transform:
rotate(0deg);

}

to{

transform:
rotate(360deg);

}

}

html[dir="rtl"] body.page-rc-renewal .eyebrow{

flex-direction:row-reverse;

}

html[dir="rtl"] body.page-rc-renewal .snapshot-note{

padding-left:0;

padding-right:17px;

border-left:0;

border-right:3px solid var(--gold);

}

html[dir="rtl"] body.page-rc-renewal .hero-float-image{

right:auto;

left:8%;

}

html[dir="rtl"] body.page-rc-renewal .hero-float-label{

right:auto;

left:31%;

}

html[dir="rtl"] body.page-rc-renewal .hero-scroll{

right:auto;

left:0;

}

html[dir="rtl"] body.page-rc-renewal .document-photo{

left:auto;

right:0;

}

html[dir="rtl"] body.page-rc-renewal .document-sheet{

right:auto;

left:0;

}

html[dir="rtl"] body.page-rc-renewal .application-item:hover{

padding-inline-start:0;

padding-inline-end:15px;

}


/* =========================================================
   MOBILE MENU
   ========================================================= */
@media(max-width:900px){
body.page-rc-renewal{

.header-inner{

grid-template-columns:
1fr auto;

min-height:70px;

}

.desktop-nav{

position:fixed;

top:76px;

left:16px;

right:16px;

width:auto;

max-height:
calc(100dvh - 90px);

overflow-y:auto;

background:var(--white);

border:
1px solid var(--line);

border-radius:10px;

box-shadow:var(--shadow);

padding:12px;

display:flex;

flex-direction:column;

align-items:stretch;

gap:2px;

opacity:0;

visibility:hidden;

transform:
translateY(-8px);

transition:.25s;

}

.desktop-nav.open{

opacity:1;

visibility:visible;

transform:none;

}

.nav-link{

width:100%;

padding:12px;

font-size:13px;

border-radius:6px;

}

.nav-link.active:after{

display:none;

}

.nav-link.active{

background:
rgba(201,166,107,.15);

}

.nav-dropdown{

width:100%;

}

.dropdown-menu{

position:static;

display:none;

width:100%;

opacity:1;

visibility:visible;

transform:none;

box-shadow:none;

border:0;

padding:
0 0 5px 13px;

background:transparent;

}

.nav-dropdown.open .dropdown-menu{

display:block;

}

.dropdown-menu a{

padding:10px;

}

.hamburger{

display:flex;

}

.desktop-book,
.login-button{

display:none;

}

.mobile-book{

display:flex;

width:100%;

margin-top:7px;

}

.rc-hero{

height:560px;

min-height:560px;

}

.hero-float-image{

right:4%;

width:290px;

height:350px;

opacity:.5;

}

.hero-float-label{

right:25%;

}

.snapshot-grid,
.documents-layout,
.readiness-grid,
.application-layout,
.lifecycle-header{

grid-template-columns:1fr;

}

.snapshot-grid{

gap:40px;

}

.document-stage{

max-width:650px;

width:100%;

margin-inline:auto;

}

.readiness-image{

min-height:430px;

}

.application-intro{

position:static;

}

.lifecycle-line{

grid-template-columns:
repeat(2,1fr);

row-gap:40px;

}

.lifecycle-line::before{

display:none;

}

.footer-main{

grid-template-columns:
repeat(2,1fr);

}


}
}

@media(max-width:600px){

body.page-rc-renewal .container{

width:
calc(100% - 32px);

}

body.page-rc-renewal .section{

padding-block:52px;

}

body.page-rc-renewal .rc-hero{

height:500px;

min-height:500px;

}

body.page-rc-renewal .rc-hero::before{

background:

linear-gradient(
90deg,
rgba(8,18,32,.95),
rgba(8,18,32,.67)
),

url("../images/street.jpg")
center/cover no-repeat;

}

body.page-rc-renewal .hero-content{

max-width:100%;

}

body.page-rc-renewal .hero-title{

font-size:43px;

}

body.page-rc-renewal .hero-description{

font-size:13px;

line-height:1.7;

}

body.page-rc-renewal .hero-float-image{

width:180px;

height:240px;

right:-20px;

bottom:-5px;

opacity:.25;

}

body.page-rc-renewal .hero-float-label,
body.page-rc-renewal .hero-scroll{

display:none;

}

body.page-rc-renewal .snapshot-grid{

display:block;

}

body.page-rc-renewal .snapshot-copy{

margin-bottom:38px;

}

body.page-rc-renewal .snapshot-visual{

min-height:360px;

}

body.page-rc-renewal .snapshot-photo{

width:78%;

height:285px;

}

body.page-rc-renewal .snapshot-panel{

width:65%;

padding:20px;

}

body.page-rc-renewal .snapshot-panel h3{

font-size:21px;

}

body.page-rc-renewal .lifecycle-header{

display:block;

margin-bottom:45px;

}

body.page-rc-renewal .lifecycle-description{

margin-top:15px;

}

body.page-rc-renewal .lifecycle-line{

grid-template-columns:1fr;

gap:30px;

}

body.page-rc-renewal .lifecycle-step{

padding-right:0;

display:grid;

grid-template-columns:58px 1fr;

column-gap:16px;

}

body.page-rc-renewal .lifecycle-marker{

grid-row:span 3;

width:58px;

height:58px;

}

body.page-rc-renewal .lifecycle-number{

margin-top:0;

align-self:end;

}

body.page-rc-renewal .lifecycle-step h3{

margin-top:3px;

}

body.page-rc-renewal .lifecycle-step p{

grid-column:2;

}

body.page-rc-renewal .document-stage{

height:370px;

}

body.page-rc-renewal .document-photo{

width:80%;

height:290px;

}

body.page-rc-renewal .document-sheet{

width:67%;

padding:20px;

}

body.page-rc-renewal .document-row{

grid-template-columns:
38px 1fr;

}

body.page-rc-renewal .document-status{

display:none;

}

body.page-rc-renewal .readiness-grid{

display:block;

}

body.page-rc-renewal .readiness-image{

min-height:350px;

margin-bottom:38px;

}

body.page-rc-renewal .readiness-list{

grid-template-columns:1fr;

}

body.page-rc-renewal .application-item{

grid-template-columns:
55px 1fr 40px;

gap:13px;

padding:21px 0;

}

body.page-rc-renewal .application-number{

font-size:23px;

}

body.page-rc-renewal .application-item h3{

font-size:15px;

}

body.page-rc-renewal .application-item p{

font-size:11px;

}

body.page-rc-renewal .final-box{

min-height:420px;

padding:
40px 25px;

}

body.page-rc-renewal .final-content h2{

font-size:38px;

}

}

@media(max-width:380px){

body.page-rc-renewal .container{

width:
calc(100% - 26px);

}

body.page-rc-renewal .hero-title{

font-size:37px;

}

body.page-rc-renewal .snapshot-panel{

width:72%;

}

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */
@media(prefers-reduced-motion:reduce){
body.page-rc-renewal{

*{

animation-duration:.01ms!important;

animation-iteration-count:1!important;

transition-duration:.01ms!important;

scroll-behavior:auto!important;

}


}
}


/* === PAGE ADDRESS-CHANGE (scoped) === */
/* =========================================================
   ROOT
========================================================= */
body.page-address-change{
    --navy:#101d35;
    --navy2:#172945;
    --navy3:#203755;

    --gold:#c9a66b;
    --gold-light:#e6ca97;

    --cream:#faf7f0;
    --white:#ffffff;

    --text:#101d35;
    --muted:#59667a;

    --line:#dededc;

    --surface:#ffffff;
    --surface2:#f5f1e8;

    --shadow:0 15px 40px rgba(16,29,53,.10);

    --container:1200px;
    --radius:18px;

    --ease:cubic-bezier(.2,.7,.2,1);
}



html{
    scroll-behavior:smooth;
}

body.page-address-change{
    font-family:"DM Sans",sans-serif;
    color:var(--text);
    background:var(--cream);
    line-height:1.6;
    overflow-x:hidden;
    transition:
        background .35s ease,
        color .35s ease;
}

body.page-address-change.dark{
    --cream:#0b1322;
    --white:#111d30;
    --surface:#111d30;
    --surface2:#17253a;

    --text:#f7f3eb;
    --muted:#b7c0ce;

    --line:#2b3b52;

    background:#0b1322;
    color:#f7f3eb;
}

body.page-address-change img{
    width:100%;
    display:block;
}





body.page-address-change button{
    cursor:pointer;
}

body.page-address-change .container{
    width:min(var(--container), calc(100% - 48px));
    margin-inline:auto;
}

body.page-address-change .login-link{
    font-size:13px;
    font-weight:600;

    margin-inline:4px;
}

body.page-address-change .book-btn{
    min-height:40px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0 18px;

    background:var(--navy);
    color:#fff;

    border:1px solid var(--navy);
    border-radius:9px;

    font-size:12px;
    font-weight:700;

    transition:.3s ease;
}

body.page-address-change .book-btn:hover{
    background:var(--gold);
    border-color:var(--gold);
    transform:translateY(-2px);
}

body.page-address-change .dark .book-btn{
    background:var(--gold);
    color:var(--navy);
    border-color:var(--gold);
}

/* MOBILE BUTTON */
body.page-address-change .menu-btn{
    display:none;

    width:40px;
    height:40px;

    border:1px solid var(--line);
    background:var(--surface);

    color:var(--text);

    border-radius:9px;
}

/* =========================================================
   HERO — NEW EDITORIAL STYLE
========================================================= */
body.page-address-change .address-hero{
    position:relative;

    overflow:hidden;

    background:var(--navy);
    color:#fff;

    min-height:575px;

    display:flex;
    align-items:center;
}

body.page-address-change .hero-grid{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:1.02fr .98fr;
    align-items:center;

    gap:70px;

    padding-block:70px;
}

/* LEFT */
body.page-address-change .hero-copy{
    position:relative;
}

body.page-address-change .hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:var(--gold-light);

    font-size:11px;
    font-weight:800;

    letter-spacing:.2em;
    text-transform:uppercase;

    margin-bottom:22px;
}

body.page-address-change .hero-kicker::before{
    content:"";

    width:34px;
    height:1px;

    background:var(--gold);
}

body.page-address-change .hero-title{
    font-family:"Playfair Display",serif;

    font-size:clamp(46px,5.4vw,76px);

    line-height:1.02;

    font-weight:700;

    max-width:650px;

    margin-bottom:25px;
}

body.page-address-change .hero-title span{
    color:var(--gold-light);
}

body.page-address-change .hero-description{
    max-width:555px;

    color:#d8dfeb;

    font-size:16px;

    line-height:1.85;

    margin-bottom:31px;
}

body.page-address-change .hero-buttons{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

body.page-address-change .primary-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;

    min-height:48px;

    padding:0 21px;

    background:var(--gold);
    color:var(--navy);

    border:1px solid var(--gold);
    border-radius:9px;

    font-size:13px;
    font-weight:800;

    transition:.3s ease;
}

body.page-address-change .primary-btn:hover{
    background:var(--gold-light);
    transform:translateY(-3px);
}

body.page-address-change .outline-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;

    min-height:48px;

    padding:0 21px;

    color:#fff;

    border:1px solid rgba(255,255,255,.25);
    border-radius:9px;

    font-size:13px;
    font-weight:700;

    transition:.3s ease;
}

body.page-address-change .outline-btn:hover{
    border-color:var(--gold);
    color:var(--gold-light);
}

/* HERO VISUAL */
body.page-address-change .hero-visual{
    min-height:430px;

    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;
}

body.page-address-change .hero-orbit{
    position:absolute;

    width:390px;
    height:390px;

    border:1px solid rgba(230,202,151,.24);

    border-radius:50%;

    animation:dc-address-change-orbitRotate 18s linear infinite;
}

body.page-address-change .hero-orbit::before{
    content:"";

    position:absolute;

    width:12px;
    height:12px;

    border-radius:50%;

    background:var(--gold);

    top:35px;
    left:50%;

    box-shadow:0 0 25px rgba(201,166,107,.8);
}

body.page-address-change .address-card{
    position:relative;
    z-index:3;

    width:min(410px,90%);

    padding:29px;

    background:#f7f3ea;
    color:var(--navy);

    border-radius:18px;

    box-shadow:0 28px 60px rgba(0,0,0,.3);

    transform:rotate(-4deg);

    animation:dc-address-change-cardFloat 5s ease-in-out infinite;
}

body.page-address-change .address-card::before{
    content:"";

    position:absolute;

    inset:10px;

    border:1px dashed rgba(16,29,53,.18);

    border-radius:12px;

    pointer-events:none;
}

body.page-address-change .card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:27px;
}

body.page-address-change .card-brand{
    font-size:11px;
    font-weight:800;

    letter-spacing:.14em;
}

body.page-address-change .card-status{
    font-size:9px;
    font-weight:800;

    text-transform:uppercase;

    color:#667;
}

body.page-address-change .address-line{
    display:flex;
    gap:14px;

    padding:14px 0;

    border-bottom:1px solid #ddd5c8;
}

body.page-address-change .address-line:last-of-type{
    border-bottom:0;
}

body.page-address-change .address-icon{
    width:36px;
    height:36px;

    flex-shrink:0;

    display:grid;
    place-items:center;

    background:#ebe2d2;

    color:var(--navy);

    border-radius:8px;
}

body.page-address-change .address-line small{
    display:block;

    color:#7b7b7b;

    font-size:10px;

    text-transform:uppercase;
    letter-spacing:.09em;
}

body.page-address-change .address-line strong{
    display:block;

    margin-top:2px;

    font-size:13px;
}

body.page-address-change .card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-top:18px;
}

body.page-address-change .card-footer span{
    font-size:9px;
    color:#777;
}

body.page-address-change .verified{
    color:#477a60 !important;
    font-weight:800;
}

body.page-address-change .floating-pin{
    position:absolute;

    z-index:5;

    right:5%;
    top:17%;

    width:54px;
    height:54px;

    display:grid;
    place-items:center;

    background:var(--gold);
    color:var(--navy);

    border-radius:50% 50% 50% 8px;

    transform:rotate(-45deg);

    box-shadow:0 15px 35px rgba(0,0,0,.3);

    animation:dc-address-change-pinFloat 4s ease-in-out infinite;
}

body.page-address-change .floating-pin i{
    transform:rotate(45deg);
}

body.page-address-change .hero-circle{
    position:absolute;

    left:-180px;
    bottom:-180px;

    width:420px;
    height:420px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.06);
}

/* =========================================================
   SECTION COMMON
========================================================= */
body.page-address-change .section{
    padding-block:88px;
}

body.page-address-change .section-heading{
    max-width:720px;
}

body.page-address-change .eyebrow{
    display:flex;
    align-items:center;
    gap:10px;

    color:var(--gold);

    font-size:11px;
    font-weight:800;

    letter-spacing:.18em;
    text-transform:uppercase;

    margin-bottom:14px;
}

body.page-address-change .eyebrow::before{
    content:"";

    width:27px;
    height:1px;

    background:var(--gold);
}

body.page-address-change .section-title{
    font-family:"Playfair Display",serif;

    font-size:clamp(34px,4vw,52px);

    line-height:1.12;

    margin-bottom:16px;
}

body.page-address-change .section-intro{
    color:var(--muted);

    max-width:650px;

    font-size:15px;
}

/* =========================================================
   SECTION 2 — ADDRESS SNAPSHOT
========================================================= */
body.page-address-change .snapshot{
    background:var(--cream);
}

body.page-address-change .snapshot-grid{
    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:70px;

    align-items:center;
}

/* visual */
body.page-address-change .address-change-visual{
    min-height:460px;

    position:relative;

    background:var(--navy2);

    border-radius:22px;

    overflow:hidden;

    padding:40px;

    display:flex;
    align-items:center;
    justify-content:center;
}

body.page-address-change .visual-pattern{
    position:absolute;

    inset:0;

    background:
        linear-gradient(135deg,transparent 48%,rgba(255,255,255,.025) 49%,transparent 50%),
        linear-gradient(45deg,transparent 48%,rgba(255,255,255,.025) 49%,transparent 50%);

    background-size:45px 45px;
}

body.page-address-change .old-card,
body.page-address-change .new-card{
    position:absolute;

    width:290px;

    padding:23px;

    border-radius:15px;

    box-shadow:0 20px 45px rgba(0,0,0,.25);
}

body.page-address-change .old-card{
    background:#eee9df;

    color:#293246;

    left:10%;
    top:21%;

    transform:rotate(-8deg);

    animation:dc-address-change-oldCardMove 5s ease-in-out infinite;
}

body.page-address-change .new-card{
    background:#fff;

    color:var(--navy);

    right:9%;
    bottom:18%;

    transform:rotate(6deg);

    animation:dc-address-change-newCardMove 5s ease-in-out infinite;
}

body.page-address-change .mini-label{
    font-size:9px;

    text-transform:uppercase;
    letter-spacing:.15em;

    color:#777;

    margin-bottom:13px;
}

body.page-address-change .mini-address{
    font-size:13px;
    font-weight:700;

    line-height:1.55;
}

body.page-address-change .mini-meta{
    display:flex;
    align-items:center;
    gap:7px;

    margin-top:19px;

    font-size:9px;

    color:#777;
}

body.page-address-change .change-arrow{
    position:absolute;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    width:54px;
    height:54px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--gold);
    color:var(--navy);

    z-index:5;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    animation:dc-address-change-arrowPulse 2.5s ease-in-out infinite;
}

/* content */
body.page-address-change .snapshot-copy{
    padding-block:15px;
}

body.page-address-change .snapshot-copy .section-title{
    max-width:570px;
}

body.page-address-change .snapshot-text{
    color:var(--muted);

    font-size:15px;

    line-height:1.85;

    margin-bottom:29px;
}

body.page-address-change .simple-points{
    display:grid;
    gap:0;

    border-top:1px solid var(--line);
}

body.page-address-change .simple-point{
    display:grid;

    grid-template-columns:45px 1fr;

    gap:15px;

    padding:18px 0;

    border-bottom:1px solid var(--line);
}

body.page-address-change .point-number{
    font-family:"Playfair Display",serif;

    font-size:22px;

    color:var(--gold);
}

body.page-address-change .simple-point h3{
    font-family:"Manrope",sans-serif;

    font-size:15px;

    margin-bottom:4px;
}

body.page-address-change .simple-point p{
    color:var(--muted);

    font-size:13px;

    line-height:1.65;
}

/* =========================================================
   SECTION 3 — WHY CHANGE
========================================================= */
body.page-address-change .why-section{
    background:var(--surface2);
}

body.page-address-change .why-layout{
    display:grid;

    grid-template-columns:340px 1fr;

    gap:85px;
}

body.page-address-change .why-intro{
    position:sticky;
    top:120px;

    align-self:start;
}

body.page-address-change .why-intro .section-title{
    font-size:43px;
}

body.page-address-change .why-note{
    margin-top:25px;

    padding-left:18px;

    border-left:2px solid var(--gold);

    color:var(--muted);

    font-size:13px;
}

body.page-address-change .reason-list{
    border-top:1px solid var(--line);
}

body.page-address-change .reason{
    display:grid;

    grid-template-columns:75px 1fr 25px;

    gap:20px;

    align-items:center;

    min-height:135px;

    border-bottom:1px solid var(--line);

    transition:.35s ease;
}

body.page-address-change .reason:hover{
    padding-inline:18px;

    background:var(--surface);

    box-shadow:0 10px 30px rgba(16,29,53,.05);
}

body.page-address-change .reason-number{
    font-family:"Playfair Display",serif;

    font-size:31px;

    color:var(--gold);
}

body.page-address-change .reason h3{
    font-family:"Manrope",sans-serif;

    font-size:18px;

    margin-bottom:5px;
}

body.page-address-change .reason p{
    color:var(--muted);

    font-size:13px;

    max-width:570px;
}

body.page-address-change .reason i{
    color:var(--gold);

    font-size:13px;

    transition:.3s ease;
}

body.page-address-change .reason:hover i{
    transform:translateX(5px);
}

/* =========================================================
   SECTION 4 — DOCUMENT DESK
========================================================= */
body.page-address-change .document-desk{
    position:relative;

    background:var(--navy);

    color:#fff;

    overflow:hidden;
}

body.page-address-change .document-desk::after{
    content:"";

    position:absolute;

    width:600px;
    height:600px;

    border:1px solid rgba(255,255,255,.05);

    border-radius:50%;

    right:-260px;
    top:-260px;
}

body.page-address-change .desk-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;
}

body.page-address-change .desk-heading .eyebrow{
    color:var(--gold-light);
}

body.page-address-change .desk-heading .section-title{
    color:#fff;
}

body.page-address-change .desk-heading .section-intro{
    color:#c2ccd9;
}

/* DOCUMENT STACK */
body.page-address-change .paper-stack{
    min-height:430px;

    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;
}

body.page-address-change .paper{
    position:absolute;

    width:310px;
    min-height:370px;

    padding:28px;

    background:#f7f3ea;

    color:var(--navy);

    border-radius:5px;

    box-shadow:0 20px 45px rgba(0,0,0,.25);

    transition:.4s ease;
}

body.page-address-change .paper.back{
    transform:rotate(-9deg) translate(-45px,15px);

    background:#ddd8ce;

    opacity:.75;
}

body.page-address-change .paper.middle{
    transform:rotate(5deg) translate(35px,5px);

    background:#e9e3d7;

    opacity:.9;
}

body.page-address-change .paper.front{
    z-index:4;

    transform:rotate(-1deg);

    animation:dc-address-change-paperFloat 5s ease-in-out infinite;
}

body.page-address-change .paper-stack:hover .paper.back{
    transform:rotate(-13deg) translate(-75px,25px);
}

body.page-address-change .paper-stack:hover .paper.middle{
    transform:rotate(8deg) translate(65px,0);
}

body.page-address-change .paper-top{
    display:flex;

    justify-content:space-between;
    align-items:center;

    padding-bottom:15px;

    border-bottom:1px solid #d6cec0;

    margin-bottom:23px;
}

body.page-address-change .paper-top strong{
    font-size:12px;

    letter-spacing:.12em;
}

body.page-address-change .paper-top span{
    font-size:9px;

    color:#777;
}

body.page-address-change .paper-title{
    font-family:"Playfair Display",serif;

    font-size:26px;

    margin-bottom:23px;
}

body.page-address-change .paper-row{
    display:flex;
    justify-content:space-between;

    padding:12px 0;

    border-bottom:1px solid #e2dbd0;

    font-size:11px;
}

body.page-address-change .paper-row span{
    color:#777;
}

body.page-address-change .paper-row strong{
    text-align:right;
    max-width:160px;
}

body.page-address-change .paper-check{
    display:flex;
    align-items:center;
    gap:8px;

    margin-top:20px;

    font-size:10px;

    color:#477a60;

    font-weight:800;
}

/* =========================================================
   SECTION 5 — JOURNEY
========================================================= */
body.page-address-change .journey-section{
    background:var(--cream);

    overflow:hidden;
}

body.page-address-change .journey-head{
    display:flex;
    justify-content:space-between;
    align-items:end;

    gap:30px;

    margin-bottom:60px;
}

body.page-address-change .journey-head .section-intro{
    max-width:430px;
}

body.page-address-change .journey{
    position:relative;

    min-height:350px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;
}

body.page-address-change .journey-line{
    position:absolute;

    left:8%;
    right:8%;

    top:91px;

    height:2px;

    background:
        repeating-linear-gradient(
            to right,
            var(--gold) 0,
            var(--gold) 10px,
            transparent 10px,
            transparent 19px
        );

    transform-origin:left center;

    animation:dc-address-change-lineGrow 2s var(--ease) both;
}

body.page-address-change .journey-step{
    position:relative;

    padding-top:50px;
}

body.page-address-change .journey-dot{
    position:relative;
    z-index:3;

    width:84px;
    height:84px;

    display:grid;
    place-items:center;

    margin:0 auto 28px;

    border-radius:50%;

    background:var(--cream);

    border:1px solid var(--gold);

    color:var(--navy);

    box-shadow:0 0 0 9px var(--cream);

    transition:.35s ease;
}

body.page-address-change .journey-step:hover .journey-dot{
    background:var(--gold);

    transform:scale(1.08) rotate(5deg);
}

body.page-address-change .journey-number{
    position:absolute;

    top:-8px;
    right:-3px;

    width:25px;
    height:25px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--navy);

    color:#fff;

    font-size:9px;
    font-weight:800;
}

body.page-address-change .journey-step h3{
    text-align:center;

    font-family:"Manrope",sans-serif;

    font-size:17px;

    margin-bottom:8px;
}

body.page-address-change .journey-step p{
    text-align:center;

    color:var(--muted);

    font-size:12px;

    max-width:210px;

    margin:auto;
}

/* =========================================================
   SECTION 6 — BEFORE SUBMIT
========================================================= */
body.page-address-change .check-section{
    background:var(--surface2);
}

body.page-address-change .check-layout{
    display:grid;

    grid-template-columns:.85fr 1.15fr;

    gap:70px;

    align-items:center;
}

body.page-address-change .check-visual{
    position:relative;

    min-height:460px;

    background:
        linear-gradient(135deg,rgba(16,29,53,.92),rgba(32,55,85,.94)),
        url("../images/driving.jpg")
        center/cover;

    border-radius:20px;

    overflow:hidden;

    padding:38px;
}

body.page-address-change .check-visual::before{
    content:"";

    position:absolute;

    width:270px;
    height:270px;

    border:1px solid rgba(230,202,151,.3);

    border-radius:50%;

    right:-100px;
    top:-90px;
}

body.page-address-change .visual-label{
    position:absolute;

    left:38px;
    bottom:35px;

    color:#fff;
}

body.page-address-change .visual-label span{
    display:block;

    color:var(--gold-light);

    font-size:10px;

    letter-spacing:.18em;
    text-transform:uppercase;

    margin-bottom:8px;
}

body.page-address-change .visual-label strong{
    display:block;

    font-family:"Playfair Display",serif;

    font-size:29px;
}

/* checklist */
body.page-address-change .check-copy .section-title{
    max-width:600px;
}

body.page-address-change .check-copy > p{
    color:var(--muted);

    font-size:14px;

    margin-bottom:27px;

    max-width:650px;
}

body.page-address-change .check-list{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:11px;
}

body.page-address-change .check-item{
    min-height:76px;

    display:flex;
    align-items:center;

    gap:14px;

    padding:14px 16px;

    background:var(--surface);

    border:1px solid var(--line);

    border-radius:11px;

    transition:.3s ease;
}

body.page-address-change .check-item:hover{
    border-color:var(--gold);

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(16,29,53,.06);
}

body.page-address-change .check-icon{
    width:35px;
    height:35px;

    flex-shrink:0;

    display:grid;
    place-items:center;

    background:rgba(201,166,107,.14);

    color:var(--gold);

    border-radius:8px;
}

body.page-address-change .check-item strong{
    display:block;

    font-size:13px;

    margin-bottom:2px;
}

body.page-address-change .check-item span{
    display:block;

    color:var(--muted);

    font-size:10px;
}

/* =========================================================
   SECTION 7 — SUPPORT
========================================================= */
body.page-address-change .support-section{
    padding-block:75px;

    background:var(--cream);
}

body.page-address-change .support-strip{
    display:grid;

    grid-template-columns:1.15fr .85fr;

    gap:50px;

    align-items:center;

    padding:55px 65px;

    background:var(--navy2);

    color:#fff;

    border-radius:20px;

    overflow:hidden;

    position:relative;
}

body.page-address-change .support-strip::before{
    content:"";

    position:absolute;

    width:260px;
    height:260px;

    border:1px solid rgba(230,202,151,.15);

    border-radius:50%;

    right:-80px;
    bottom:-120px;
}

body.page-address-change .support-strip h2{
    font-family:"Playfair Display",serif;

    font-size:clamp(32px,4vw,48px);

    line-height:1.1;

    margin-bottom:14px;
}

body.page-address-change .support-strip p{
    color:#c4cfdd;

    font-size:14px;

    max-width:620px;
}

body.page-address-change .support-items{
    display:grid;

    gap:10px;

    position:relative;
    z-index:2;
}

body.page-address-change .support-item{
    display:flex;
    align-items:center;

    gap:12px;

    padding:13px 15px;

    border:1px solid rgba(255,255,255,.1);

    border-radius:9px;

    background:rgba(255,255,255,.035);
}

body.page-address-change .support-item i{
    color:var(--gold-light);

    width:20px;

    text-align:center;
}

body.page-address-change .support-item span{
    font-size:12px;
}

/* =========================================================
   CTA
========================================================= */
body.page-address-change .final-cta{
    background:var(--navy);

    color:#fff;

    padding-block:95px;

    text-align:center;

    position:relative;

    overflow:hidden;
}

body.page-address-change .final-cta::before,
body.page-address-change .final-cta::after{
    content:"";

    position:absolute;

    border:1px solid rgba(201,166,107,.14);

    border-radius:50%;
}

body.page-address-change .final-cta::before{
    width:450px;
    height:450px;

    left:-230px;
    top:-220px;
}

body.page-address-change .final-cta::after{
    width:330px;
    height:330px;

    right:-170px;
    bottom:-180px;
}

body.page-address-change .cta-inner{
    position:relative;
    z-index:2;
}

body.page-address-change .cta-inner .eyebrow{
    justify-content:center;

    color:var(--gold-light);
}

body.page-address-change .cta-inner .eyebrow::before{
    display:none;
}

body.page-address-change .cta-inner h2{
    font-family:"Playfair Display",serif;

    font-size:clamp(38px,5vw,61px);

    line-height:1.08;

    max-width:760px;

    margin:0 auto 18px;
}

body.page-address-change .cta-inner p{
    color:#c3ccd8;

    max-width:610px;

    margin:0 auto 30px;

    font-size:14px;
}

body.page-address-change .cta-actions{
    display:flex;

    justify-content:center;

    gap:12px;

    flex-wrap:wrap;
}

body.page-address-change .contact-list{
    display:grid;

    gap:13px;
}

body.page-address-change .contact-row{
    display:flex;

    align-items:flex-start;

    gap:11px;

    color:#b7c0ce;

    font-size:12px;
}

body.page-address-change .contact-row i{
    color:var(--gold);

    width:16px;

    margin-top:3px;

    text-align:center;
}

body.page-address-change .socials{
    display:flex;

    gap:8px;
}

body.page-address-change .socials a{
    width:30px;
    height:30px;

    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.12);

    border-radius:7px;

    color:#b7c0ce;

    transition:.25s ease;
}

body.page-address-change .socials a:hover{
    color:var(--gold-light);

    border-color:var(--gold);
}

/* =========================================================
   BACK TO TOP
========================================================= */
body.page-address-change .back-top{
    position:fixed;

    right:20px;
    bottom:20px;

    z-index:900;

    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    border:1px solid var(--gold);

    border-radius:10px;

    background:var(--navy);

    color:var(--gold-light);

    opacity:0;
    visibility:hidden;

    transform:translateY(10px);

    transition:.3s ease;
}

body.page-address-change .back-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

/* =========================================================
   REVEAL
========================================================= */
body.page-address-change .reveal{
    opacity:0;

    transform:translateY(35px);

    transition:
        opacity .75s var(--ease),
        transform .75s var(--ease);
}

body.page-address-change .reveal-left{
    opacity:0;

    transform:translateX(-40px);

    transition:
        opacity .75s var(--ease),
        transform .75s var(--ease);
}

body.page-address-change .reveal-right{
    opacity:0;

    transform:translateX(40px);

    transition:
        opacity .75s var(--ease),
        transform .75s var(--ease);
}

body.page-address-change .reveal.active,
body.page-address-change .reveal-left.active,
body.page-address-change .reveal-right.active{
    opacity:1;

    transform:translate(0);
}

/* =========================================================
   ANIMATIONS
========================================================= */
body.page-address-change @keyframes dc-address-change-orbitRotate{
    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

@keyframes dc-address-change-cardFloat{
    0%,100%{
        transform:rotate(-4deg) translateY(0);
    }

    50%{
        transform:rotate(-2deg) translateY(-12px);
    }
}

@keyframes dc-address-change-pinFloat{
    0%,100%{
        transform:rotate(-45deg) translateY(0);
    }

    50%{
        transform:rotate(-40deg) translateY(-12px);
    }
}

@keyframes dc-address-change-arrowPulse{
    0%,100%{
        transform:translate(-50%,-50%) scale(1);
    }

    50%{
        transform:translate(-50%,-50%) scale(1.12);
    }
}

@keyframes dc-address-change-oldCardMove{
    0%,100%{
        transform:rotate(-8deg) translate(0,0);
    }

    50%{
        transform:rotate(-5deg) translate(-8px,-7px);
    }
}

@keyframes dc-address-change-newCardMove{
    0%,100%{
        transform:rotate(6deg) translate(0,0);
    }

    50%{
        transform:rotate(4deg) translate(8px,-8px);
    }
}

@keyframes dc-address-change-paperFloat{
    0%,100%{
        transform:rotate(-1deg) translateY(0);
    }

    50%{
        transform:rotate(1deg) translateY(-9px);
    }
}

@keyframes dc-address-change-lineGrow{
    from{
        transform:scaleX(0);
        opacity:0;
    }

    to{
        transform:scaleX(1);
        opacity:1;
    }
}

/* =========================================================
   RTL
========================================================= */
body.page-address-change.rtl{
    direction:rtl;
}

body.page-address-change.rtl .hero-kicker::before,
body.page-address-change.rtl .eyebrow::before{
    order:2;
}

body.page-address-change.rtl .reason:hover i{
    transform:translateX(-5px);
}

body.page-address-change.rtl .why-note{
    padding-left:0;
    padding-right:18px;

    border-left:0;
    border-right:2px solid var(--gold);
}

body.page-address-change.rtl .paper-row strong{
    text-align:left;
}

body.page-address-change.rtl .old-card{
    left:auto;
    right:10%;
}

body.page-address-change.rtl .new-card{
    right:auto;
    left:9%;
}

body.page-address-change.rtl .floating-pin{
    right:auto;
    left:5%;
}

body.page-address-change.rtl .hero-circle{
    left:auto;
    right:-180px;
}

body.page-address-change.rtl .support-strip::before{
    right:auto;
    left:-80px;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:1100px){
    body.page-address-change .hero-grid{gap:40px}
    body.page-address-change .snapshot-grid,
    body.page-address-change .desk-grid,
    body.page-address-change .check-layout{gap:45px}
    body.page-address-change .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:900px){

    body.page-address-change .menu-btn{
        display:grid;
    }

    body.page-address-change .hero-grid{
        grid-template-columns:1fr;

        padding-block:65px;

        text-align:center;
    }

    body.page-address-change .hero-kicker{
        justify-content:center;
    }

    body.page-address-change .hero-description{
        margin-inline:auto;
    }

    body.page-address-change .hero-buttons{
        justify-content:center;
    }

    body.page-address-change .hero-visual{
        min-height:390px;
    }

    body.page-address-change .snapshot-grid,
body.page-address-change .desk-grid,
body.page-address-change .check-layout{
        grid-template-columns:1fr;
    }

    body.page-address-change .snapshot-copy{
        order:-1;
    }

    body.page-address-change .why-layout{
        grid-template-columns:1fr;

        gap:45px;
    }

    body.page-address-change .why-intro{
        position:static;
    }

    body.page-address-change .journey{
        grid-template-columns:1fr 1fr;

        gap:40px 25px;
    }

    body.page-address-change .journey-line{
        display:none;
    }

    body.page-address-change .support-strip{
        grid-template-columns:1fr;

        padding:45px;
    }
}

@media(max-width:650px){

    body.page-address-change .container{
        width:min(100% - 30px, var(--container));
    }

    body.page-address-change .address-hero{
        min-height:auto;
    }

    body.page-address-change .hero-grid{
        padding-block:55px;
    }

    body.page-address-change .hero-title{
        font-size:45px;
    }

    body.page-address-change .hero-description{
        font-size:14px;
    }

    body.page-address-change .hero-orbit{
        width:310px;
        height:310px;
    }

    body.page-address-change .address-card{
        width:310px;
        padding:23px;
    }

    body.page-address-change .floating-pin{
        right:3%;
        top:10%;
    }

    body.page-address-change .section{
        padding-block:65px;
    }

    body.page-address-change .section-title{
        font-size:35px;
    }

    body.page-address-change .address-change-visual{
        min-height:390px;

        padding:20px;
    }

    body.page-address-change .old-card,
body.page-address-change .new-card{
        width:240px;

        padding:18px;
    }

    body.page-address-change .old-card{
        left:2%;
        top:20%;
    }

    body.page-address-change .new-card{
        right:2%;
        bottom:16%;
    }

    body.page-address-change .change-arrow{
        width:47px;
        height:47px;
    }

    body.page-address-change .reason{
        grid-template-columns:55px 1fr 18px;

        min-height:120px;

        gap:10px;
    }

    body.page-address-change .reason-number{
        font-size:26px;
    }

    body.page-address-change .reason h3{
        font-size:15px;
    }

    body.page-address-change .paper-stack{
        min-height:390px;
    }

    body.page-address-change .paper{
        width:275px;
        min-height:340px;
    }

    body.page-address-change .journey{
        grid-template-columns:1fr;
    }

    body.page-address-change .check-list{
        grid-template-columns:1fr;
    }

    body.page-address-change .check-visual{
        min-height:380px;
    }

    body.page-address-change .support-strip{
        padding:35px 25px;
    }
}

@media(max-width:400px){

    body.page-address-change .hero-title{
        font-size:39px;
    }

    body.page-address-change .address-card{
        width:275px;
    }

    body.page-address-change .hero-orbit{
        width:285px;
        height:285px;
    }

    body.page-address-change .old-card,
body.page-address-change .new-card{
        width:210px;
    }

    body.page-address-change .old-card{
        left:-4%;
    }

    body.page-address-change .new-card{
        right:-4%;
    }

    body.page-address-change .paper{
        width:250px;
    }
}


/* === PAGE INTERNATIONAL-PERMIT (scoped) === */
/* =========================================================
   DRIVECARE — INTERNATIONAL PERMIT
   ========================================================= */
body.page-international-permit{
  --navy:#101d35;
  --navy2:#172945;
  --navy3:#203755;
  --gold:#c9a66b;
  --gold-light:#e6ca97;
  --cream:#faf7f0;
  --white:#ffffff;
  --text:#101d35;
  --muted:#536074;
  --line:#dededc;
  --surface:#ffffff;
  --soft:#f1eee7;
  --shadow:0 16px 40px rgba(16,29,53,.10);
  --container:1200px;
  --ease:cubic-bezier(.2,.75,.25,1);
}



html{
  scroll-behavior:smooth;
  scroll-padding-top:90px;
}

body.page-international-permit{
  font-family:"DM Sans",sans-serif;
  background:var(--cream);
  color:var(--text);
  line-height:1.65;
  overflow-x:hidden;
  transition:background .3s,color .3s;
}

body.page-international-permit.dark-mode{
  --cream:#0b1423;
  --white:#111e31;
  --surface:#111e31;
  --soft:#17263b;
  --text:#f7f3eb;
  --muted:#c2cbd7;
  --line:#2c3b50;
  --shadow:0 18px 45px rgba(0,0,0,.28);
}

body.page-international-permit img{
  width:100%;
  display:block;
}





body.page-international-permit button{
  cursor:pointer;
}

body.page-international-permit .container{
  width:min(var(--container),calc(100% - 48px));
  margin-inline:auto;
}

body.page-international-permit .section{
  padding-block:58px;
}

body.page-international-permit .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:12px;
}

body.page-international-permit .eyebrow:before{
  content:"";
  width:28px;
  height:2px;
  background:var(--gold);
}

body.page-international-permit h1,
body.page-international-permit h2,
body.page-international-permit h3,
body.page-international-permit h4{
  font-family:"Playfair Display",serif;
  line-height:1.15;
}

body.page-international-permit .section-heading{
  margin-bottom:30px;
}

body.page-international-permit .section-heading h2{
  font-size:clamp(31px,4vw,46px);
  color:var(--text);
  margin-bottom:12px;
}

body.page-international-permit .section-heading p{
  max-width:690px;
  font-size:14px;
  line-height:1.85;
}

body.page-international-permit .section-heading.center{
  text-align:center;
}

body.page-international-permit .section-heading.center p{
  margin-inline:auto;
}

body.page-international-permit .login-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  font-size:12px;
  font-weight:900;
}

body.page-international-permit .login-btn:hover{
  color:var(--gold);
  border-color:var(--gold);
}

body.page-international-permit .gold-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:8px;
  padding:12px 18px;
  background:var(--gold);
  color:var(--navy);
  font-size:12px;
  font-weight:900;
  transition:.3s;
}

body.page-international-permit .gold-btn:hover{
  background:var(--gold-light);
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(201,166,107,.25);
}


/* =========================================================
   HERO
   ========================================================= */
body.page-international-permit .hero{
  position:relative;
  overflow:hidden;
  background:var(--navy);
  color:#fff;
}

body.page-international-permit .hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(9,19,35,.98) 0%,
      rgba(9,19,35,.90) 37%,
      rgba(9,19,35,.52) 66%,
      rgba(9,19,35,.20) 100%
    ),
    url("../images/inter.jpg")
    center/cover;
  animation:dc-international-permit-heroScale 15s ease-in-out infinite alternate;
}

@keyframes dc-international-permit-heroScale{
  from{transform:scale(1)}
  to{transform:scale(1.055)}
}

body.page-international-permit .hero-inner{
  position:relative;
  z-index:2;
  min-height:535px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:center;
  gap:55px;
}

body.page-international-permit .hero-copy{
  max-width:680px;
  animation:dc-international-permit-heroIn .85s var(--ease) both;
}

@keyframes dc-international-permit-heroIn{
  from{
    opacity:0;
    transform:translateY(28px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

body.page-international-permit .hero .eyebrow{
  color:var(--gold-light);
}

body.page-international-permit .hero h1{
  color:#fff;
  font-size:clamp(42px,5.7vw,70px);
  margin-bottom:17px;
}

body.page-international-permit .hero h1 span{
  color:var(--gold-light);
}

body.page-international-permit .hero-description{
  color:#d8e0ea;
  max-width:650px;
  font-size:15px;
  line-height:1.9;
}

body.page-international-permit .hero-actions{
  display:flex;
  gap:12px;
  margin-top:25px;
}

body.page-international-permit .outline-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 17px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:8px;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

body.page-international-permit .outline-btn:hover{
  border-color:var(--gold-light);
  color:var(--gold-light);
}


/* Hero visual */
body.page-international-permit .hero-visual{
  position:relative;
  height:420px;
}

body.page-international-permit .travel-photo{
  position:absolute;
  width:355px;
  height:385px;
  right:35px;
  top:18px;
  overflow:hidden;
  border:8px solid rgba(255,255,255,.09);
  box-shadow:0 35px 70px rgba(0,0,0,.35);
  clip-path:polygon(9% 0,100% 8%,91% 100%,0 92%);
  animation:dc-international-permit-photoFloat 6s ease-in-out infinite;
}

body.page-international-permit .travel-photo img{
  height:100%;
  object-fit:cover;
}

@keyframes dc-international-permit-photoFloat{
  0%,100%{transform:translateY(0) rotate(2deg)}
  50%{transform:translateY(-10px) rotate(0deg)}
}

body.page-international-permit .passport-card{
  position:absolute;
  left:0;
  bottom:38px;
  width:225px;
  min-height:225px;
  padding:23px;
  background:#172945;
  border:1px solid rgba(230,202,151,.35);
  box-shadow:0 25px 55px rgba(0,0,0,.35);
  transform:rotate(-5deg);
  z-index:4;
  animation:dc-international-permit-passportMove 5s ease-in-out infinite;
}

@keyframes dc-international-permit-passportMove{
  0%,100%{transform:rotate(-5deg) translateY(0)}
  50%{transform:rotate(-3deg) translateY(-8px)}
}

body.page-international-permit .passport-card:before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(230,202,151,.25);
}

body.page-international-permit .passport-card i{
  position:relative;
  font-size:35px;
  color:var(--gold-light);
  margin-bottom:22px;
}

body.page-international-permit .passport-card small{
  position:relative;
  display:block;
  color:var(--gold-light);
  font-size:9px;
  font-weight:900;
  letter-spacing:2px;
}

body.page-international-permit .passport-card strong{
  position:relative;
  display:block;
  color:#fff;
  font-family:"Manrope",sans-serif;
  font-size:18px;
  margin-top:5px;
}

body.page-international-permit .passport-card span{
  position:relative;
  display:block;
  color:#b9c4d3;
  font-size:10px;
  margin-top:10px;
}

body.page-international-permit .route-path{
  position:absolute;
  width:250px;
  height:150px;
  right:-20px;
  top:5px;
  z-index:3;
}

body.page-international-permit .route-path path{
  fill:none;
  stroke:var(--gold-light);
  stroke-width:2;
  stroke-dasharray:7 8;
  animation:dc-international-permit-routeDash 7s linear infinite;
}

@keyframes dc-international-permit-routeDash{
  to{stroke-dashoffset:-100}
}

body.page-international-permit .route-dot{
  position:absolute;
  width:9px;
  height:9px;
  background:var(--gold-light);
  border-radius:50%;
  box-shadow:0 0 0 7px rgba(230,202,151,.12);
  z-index:5;
}

body.page-international-permit .dot-a{
  right:202px;
  top:45px;
}

body.page-international-permit .dot-b{
  right:45px;
  top:138px;
  animation:dc-international-permit-dotPulse 2s ease-in-out infinite;
}

@keyframes dc-international-permit-dotPulse{
  50%{
    transform:scale(1.4);
    box-shadow:0 0 0 13px rgba(230,202,151,.04);
  }
}


/* =========================================================
   SECTION 2 — CLEAR EXPLANATION
   ========================================================= */
body.page-international-permit .explainer{
  background:var(--white);
}

body.page-international-permit .explainer-grid{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:46px;
  align-items:stretch;
}

body.page-international-permit .explainer-image{
  min-height:470px;
  position:relative;
  overflow:hidden;
  border-radius:7px 55px 7px 7px;
}

body.page-international-permit .explainer-image img{
  height:100%;
  object-fit:cover;
  transition:transform 1s var(--ease);
}

body.page-international-permit .explainer-image:hover img{
  transform:scale(1.06);
}

body.page-international-permit .image-caption{
  position:absolute;
  left:20px;
  bottom:20px;
  padding:11px 15px;
  background:var(--navy);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.4px;
}

body.page-international-permit .explainer-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

body.page-international-permit .explainer-copy h2{
  font-size:clamp(32px,4vw,46px);
  color:var(--text);
  margin-bottom:15px;
}

body.page-international-permit .explainer-copy>p{
  font-size:14px;
  line-height:1.9;
  margin-bottom:17px;
}

body.page-international-permit .definition{
  margin-top:4px;
  padding:19px 21px;
  background:var(--cream);
  border-left:4px solid var(--gold);
}

body.page-international-permit .definition strong{
  display:block;
  font-family:"Manrope",sans-serif;
  font-size:14px;
  color:var(--text);
  margin-bottom:5px;
}

body.page-international-permit .definition p{
  font-size:12px;
  line-height:1.7;
}

body.page-international-permit .three-facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:21px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

body.page-international-permit .fact{
  padding:17px 14px;
  border-right:1px solid var(--line);
}

body.page-international-permit .fact:last-child{
  border-right:0;
}

body.page-international-permit .fact i{
  color:var(--gold);
  font-size:19px;
  margin-bottom:8px;
}

body.page-international-permit .fact strong{
  display:block;
  font-family:"Manrope",sans-serif;
  font-size:12px;
  color:var(--text);
  margin-bottom:3px;
}

body.page-international-permit .fact span{
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}


/* =========================================================
   SECTION 3 — WHY / WHO
   ========================================================= */
body.page-international-permit .why{
  background:var(--cream);
}

body.page-international-permit .why-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:45px;
  align-items:center;
}

body.page-international-permit .why-copy h2{
  font-size:clamp(32px,4vw,46px);
  margin-bottom:14px;
}

body.page-international-permit .why-copy>p{
  font-size:14px;
  line-height:1.9;
  max-width:650px;
}

body.page-international-permit .reason-list{
  margin-top:23px;
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}

body.page-international-permit .reason{
  display:grid;
  grid-template-columns:43px 1fr;
  gap:13px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}

body.page-international-permit .reason-number{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--navy);
  color:var(--gold-light);
  font-size:11px;
  font-weight:900;
}

body.page-international-permit .reason strong{
  display:block;
  font-family:"Manrope",sans-serif;
  color:var(--text);
  font-size:13px;
  margin-bottom:2px;
}

body.page-international-permit .reason span{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.65;
}

body.page-international-permit .who-visual{
  position:relative;
  min-height:450px;
}

body.page-international-permit .who-photo{
  position:absolute;
  inset:0 0 35px 35px;
  overflow:hidden;
  border-radius:50% 8px 50% 8px;
}

body.page-international-permit .who-photo img{
  height:100%;
  object-fit:cover;
}

body.page-international-permit .who-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(16,29,53,.45),transparent 60%);
}

body.page-international-permit .who-label{
  position:absolute;
  left:0;
  bottom:0;
  width:230px;
  padding:22px;
  background:var(--navy);
  color:#fff;
  z-index:3;
  border-left:4px solid var(--gold);
}

body.page-international-permit .who-label small{
  display:block;
  color:var(--gold-light);
  font-size:9px;
  font-weight:900;
  letter-spacing:1.6px;
  margin-bottom:5px;
}

body.page-international-permit .who-label strong{
  font-family:"Playfair Display",serif;
  font-size:22px;
}


/* =========================================================
   SECTION 4 — DOCUMENTS
   ========================================================= */
body.page-international-permit .documents{
  background:var(--navy);
  color:#fff;
}

body.page-international-permit .documents .section-heading h2{
  color:#fff;
}

body.page-international-permit .documents .section-heading p{
  color:#c5cedb;
}

body.page-international-permit .document-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  align-items:center;
}

body.page-international-permit .document-image{
  height:430px;
  position:relative;
  overflow:hidden;
  border-radius:8px;
}

body.page-international-permit .document-image img{
  height:100%;
  object-fit:cover;
}

body.page-international-permit .document-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(8,17,32,.55),transparent 65%);
}

body.page-international-permit .document-sticker{
  position:absolute;
  z-index:3;
  right:20px;
  bottom:20px;
  width:150px;
  padding:15px;
  background:#fff;
  color:var(--navy);
  box-shadow:0 15px 30px rgba(0,0,0,.3);
  transform:rotate(3deg);
}

body.page-international-permit .document-sticker i{
  color:var(--gold);
  font-size:23px;
  margin-bottom:9px;
}

body.page-international-permit .document-sticker strong{
  display:block;
  font-family:"Manrope",sans-serif;
  font-size:12px;
}

body.page-international-permit .document-sticker span{
  display:block;
  font-size:9px;
  color:#586477;
  margin-top:3px;
}

body.page-international-permit .document-content{
  display:grid;
  gap:0;
}

body.page-international-permit .doc-row{
  display:grid;
  grid-template-columns:46px 1fr 20px;
  gap:15px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid rgba(255,255,255,.13);
}

body.page-international-permit .doc-row:first-child{
  border-top:1px solid rgba(255,255,255,.13);
}

body.page-international-permit .doc-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(230,202,151,.4);
  color:var(--gold-light);
  border-radius:50%;
}

body.page-international-permit .doc-row strong{
  display:block;
  font-family:"Manrope",sans-serif;
  color:#fff;
  font-size:13px;
  margin-bottom:3px;
}

body.page-international-permit .doc-row span{
  display:block;
  color:#b8c3d1;
  font-size:11px;
  line-height:1.6;
}

body.page-international-permit .doc-row>i{
  color:var(--gold-light);
  font-size:11px;
}

body.page-international-permit .document-warning{
  margin-top:20px;
  padding:15px 17px;
  border:1px solid rgba(230,202,151,.22);
  background:rgba(201,166,107,.08);
}

body.page-international-permit .document-warning p{
  color:#cbd4df;
  font-size:11px;
  line-height:1.7;
}


/* =========================================================
   SECTION 5 — PROCESS
   ========================================================= */
body.page-international-permit .process{
  background:var(--white);
}

body.page-international-permit .process-intro{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:end;
  margin-bottom:28px;
}

body.page-international-permit .process-intro p{
  max-width:650px;
  font-size:14px;
}

body.page-international-permit .process-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:2px solid var(--navy);
  border-bottom:1px solid var(--line);
}

body.page-international-permit .process-step{
  position:relative;
  min-height:235px;
  padding:25px 22px 22px;
  border-right:1px solid var(--line);
  overflow:hidden;
}

body.page-international-permit .process-step:last-child{
  border-right:0;
}

body.page-international-permit .process-step:after{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-35px;
  bottom:-35px;
  border:1px solid var(--gold);
  border-radius:50%;
  transition:.5s;
}

body.page-international-permit .process-step:hover:after{
  transform:scale(1.7);
}

body.page-international-permit .step-number{
  font-family:"Manrope",sans-serif;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:1px;
}

body.page-international-permit .step-icon{
  margin:22px 0 15px;
  font-size:27px;
  color:var(--navy);
}

body.page-international-permit.dark-mode .step-icon{
  color:var(--gold-light);
}

body.page-international-permit .process-step h3{
  font-family:"Manrope",sans-serif;
  font-size:17px;
  color:var(--text);
  margin-bottom:7px;
}

body.page-international-permit .process-step p{
  font-size:11px;
  line-height:1.7;
  max-width:230px;
}


/* =========================================================
   SECTION 6 — BEFORE TRAVEL
   ========================================================= */
body.page-international-permit .before-travel{
  background:var(--cream);
}

body.page-international-permit .before-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:45px;
  align-items:stretch;
}

body.page-international-permit .before-photo{
  min-height:465px;
  position:relative;
  overflow:hidden;
}

body.page-international-permit .before-photo img{
  height:100%;
  object-fit:cover;
  clip-path:polygon(0 0,92% 0,100% 91%,8% 100%);
}

body.page-international-permit .before-photo-label{
  position:absolute;
  left:0;
  bottom:0;
  background:var(--gold);
  color:var(--navy);
  padding:13px 18px;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.3px;
}

body.page-international-permit .before-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

body.page-international-permit .before-copy h2{
  font-size:clamp(31px,4vw,45px);
  margin-bottom:14px;
}

body.page-international-permit .before-copy>p{
  font-size:14px;
  line-height:1.9;
  margin-bottom:21px;
}

body.page-international-permit .before-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid var(--line);
}

body.page-international-permit .before-item{
  padding:16px 15px 16px 0;
  border-bottom:1px solid var(--line);
}

body.page-international-permit .before-item:nth-child(odd){
  border-right:1px solid var(--line);
  padding-right:20px;
}

body.page-international-permit .before-item:nth-child(even){
  padding-left:20px;
}

body.page-international-permit .before-item i{
  color:var(--gold);
  font-size:16px;
  margin-bottom:8px;
}

body.page-international-permit .before-item strong{
  display:block;
  font-family:"Manrope",sans-serif;
  color:var(--text);
  font-size:12px;
  margin-bottom:3px;
}

body.page-international-permit .before-item span{
  display:block;
  color:var(--muted);
  font-size:10px;
  line-height:1.6;
}

body.page-international-permit .travel-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:19px;
  padding:13px 15px;
  background:var(--soft);
  border-left:3px solid var(--gold);
}

body.page-international-permit .travel-note i{
  color:var(--gold);
  margin-top:3px;
}

body.page-international-permit .travel-note p{
  font-size:10px;
  line-height:1.65;
}


/* =========================================================
   SECTION 7 — DRIVECARE CTA
   ========================================================= */
body.page-international-permit .cta-section{
  padding-block:52px;
  background:var(--white);
}

body.page-international-permit .cta-box{
  position:relative;
  overflow:hidden;
  background:var(--navy);
  padding:44px 48px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:35px;
  border-radius:5px 30px 5px 30px;
}

body.page-international-permit .cta-box:before{
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  right:-125px;
  top:-175px;
  border:1px solid rgba(230,202,151,.35);
  border-radius:50%;
  animation:dc-international-permit-circleMove 8s ease-in-out infinite alternate;
}

body.page-international-permit .cta-box:after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:70px;
  bottom:-115px;
  border:1px dashed rgba(230,202,151,.25);
  border-radius:50%;
}

@keyframes dc-international-permit-circleMove{
  to{
    transform:translate(-30px,25px) rotate(20deg);
  }
}

body.page-international-permit .cta-copy{
  position:relative;
  z-index:2;
}

body.page-international-permit .cta-copy .eyebrow{
  color:var(--gold-light);
}

body.page-international-permit .cta-copy h2{
  color:#fff;
  font-size:clamp(29px,4vw,44px);
  margin-bottom:10px;
}

body.page-international-permit .cta-copy p{
  color:#c6d0dd;
  max-width:700px;
  font-size:13px;
  line-height:1.8;
}

body.page-international-permit .cta-box .gold-btn{
  position:relative;
  z-index:3;
}

body.page-international-permit .contact-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

body.page-international-permit .contact-item>i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  background:rgba(201,166,107,.13);
  color:var(--gold-light);
  border-radius:7px;
}

body.page-international-permit .contact-item p,
body.page-international-permit .contact-item a{
  color:#b9c4d2;
  font-size:12px;
  line-height:1.6;
  overflow-wrap:anywhere;
}

body.page-international-permit .socials{
  display:flex;
  gap:8px;
  margin-top:18px;
}

body.page-international-permit .socials a{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:7px;
  color:#fff;
}

body.page-international-permit .socials a:hover{
  background:var(--gold);
  color:var(--navy);
}


/* =========================================================
   BACK TOP
   ========================================================= */
body.page-international-permit .back-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:8px;
  background:var(--gold);
  color:var(--navy);
  z-index:800;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.3s;
}

body.page-international-permit .back-top.show{
  opacity:1;
  visibility:visible;
  transform:none;
}


/* =========================================================
   REVEAL ANIMATION
   ========================================================= */
body.page-international-permit .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .75s var(--ease),
    transform .75s var(--ease);
}

body.page-international-permit .reveal.show{
  opacity:1;
  transform:none;
}

body.page-international-permit .reveal-left{
  transform:translateX(-38px);
}

body.page-international-permit .reveal-right{
  transform:translateX(38px);
}

body.page-international-permit .reveal-scale{
  transform:scale(.94);
}


/* =========================================================
   RTL
   ========================================================= */
html[dir="rtl"] body.page-international-permit{
  direction:rtl;
}

html[dir="rtl"] body.page-international-permit .definition,
html[dir="rtl"] body.page-international-permit .travel-note{
  border-left:0;
  border-right:4px solid var(--gold);
}

html[dir="rtl"] body.page-international-permit .who-label{
  left:auto;
  right:0;
  border-left:0;
  border-right:4px solid var(--gold);
}

html[dir="rtl"] body.page-international-permit .document-sticker{
  right:auto;
  left:20px;
}

html[dir="rtl"] body.page-international-permit .back-top{
  right:auto;
  left:18px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1100px){
body.page-international-permit{

  .desktop-nav{
    gap:12px;
  }

  .nav-link{
    font-size:11px;
  }

  .login-btn{
    padding:9px;
  }

  .desktop-book{
    padding:11px;
  }

  .footer-main{
    grid-template-columns:repeat(2,1fr);
  }


}
}

@media(max-width:900px){

  body.page-international-permit .login-btn,
body.page-international-permit .desktop-book{
    display:none;
  }

  body.page-international-permit .hero-inner{
    grid-template-columns:1fr;
    padding-block:48px;
  }

  body.page-international-permit .hero-copy{
    max-width:760px;
  }

  body.page-international-permit .hero-visual{
    height:350px;
  }

  body.page-international-permit .explainer-grid,
body.page-international-permit .why-layout,
body.page-international-permit .document-layout,
body.page-international-permit .before-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  body.page-international-permit .explainer-image{
    min-height:370px;
  }

  body.page-international-permit .who-visual{
    min-height:390px;
  }

  body.page-international-permit .document-image{
    height:370px;
  }

  body.page-international-permit .process-steps{
    grid-template-columns:repeat(2,1fr);
  }

  body.page-international-permit .process-step:nth-child(2){
    border-right:0;
  }

  body.page-international-permit .process-step:nth-child(3),
body.page-international-permit .process-step:nth-child(4){
    border-top:1px solid var(--line);
  }

  body.page-international-permit .cta-box{
    grid-template-columns:1fr;
  }

}

@media(max-width:600px){

  body.page-international-permit .container{
    width:calc(100% - 32px);
  }

  body.page-international-permit .section{
    padding-block:46px;
  }

  body.page-international-permit .hero-inner{
    padding-block:40px 35px;
    gap:18px;
  }

  body.page-international-permit .hero h1{
    font-size:39px;
  }

  body.page-international-permit .hero-description{
    font-size:13px;
  }

  body.page-international-permit .hero-actions{
    flex-direction:column;
  }

  body.page-international-permit .hero-actions .gold-btn,
body.page-international-permit .hero-actions .outline-btn{
    width:100%;
  }

  body.page-international-permit .hero-visual{
    height:310px;
  }

  body.page-international-permit .travel-photo{
    width:250px;
    height:280px;
    right:4px;
  }

  body.page-international-permit .passport-card{
    width:185px;
    min-height:185px;
    padding:18px;
    left:0;
    bottom:15px;
  }

  body.page-international-permit .passport-card i{
    font-size:27px;
    margin-bottom:15px;
  }

  body.page-international-permit .passport-card strong{
    font-size:15px;
  }

  body.page-international-permit .route-path{
    width:190px;
    right:-20px;
  }

  body.page-international-permit .dot-a{
    right:145px;
  }

  body.page-international-permit .dot-b{
    right:25px;
  }

  body.page-international-permit .three-facts{
    grid-template-columns:1fr;
  }

  body.page-international-permit .fact{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  body.page-international-permit .fact:last-child{
    border-bottom:0;
  }

  body.page-international-permit .explainer-image{
    min-height:290px;
  }

  body.page-international-permit .explainer-copy h2,
body.page-international-permit .why-copy h2,
body.page-international-permit .before-copy h2{
    font-size:31px;
  }

  body.page-international-permit .who-visual{
    min-height:330px;
  }

  body.page-international-permit .who-photo{
    inset:0 0 30px 20px;
  }

  body.page-international-permit .who-label{
    width:205px;
    padding:17px;
  }

  body.page-international-permit .document-image{
    height:290px;
  }

  body.page-international-permit .document-sticker{
    width:130px;
    padding:12px;
    right:12px;
    bottom:12px;
  }

  body.page-international-permit .doc-row{
    grid-template-columns:37px 1fr 15px;
    gap:10px;
    padding:14px 0;
  }

  body.page-international-permit .doc-row strong{
    font-size:12px;
  }

  body.page-international-permit .doc-row span{
    font-size:10px;
  }

  body.page-international-permit .process-intro{
    grid-template-columns:1fr;
    gap:5px;
  }

  body.page-international-permit .process-steps{
    grid-template-columns:1fr;
  }

  body.page-international-permit .process-step,
body.page-international-permit .process-step:nth-child(2){
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  body.page-international-permit .process-step:last-child{
    border-bottom:0;
  }

  body.page-international-permit .process-step{
    min-height:185px;
  }

  body.page-international-permit .before-photo{
    min-height:300px;
  }

  body.page-international-permit .before-list{
    grid-template-columns:1fr;
  }

  body.page-international-permit .before-item,
body.page-international-permit .before-item:nth-child(odd),
body.page-international-permit .before-item:nth-child(even){
    border-right:0;
    padding:14px 0;
  }

  body.page-international-permit .cta-box{
    padding:30px 23px;
  }

  body.page-international-permit .cta-box .gold-btn{
    width:100%;
  }

  body.page-international-permit .back-top{
    right:12px;
    bottom:12px;
  }

  html[dir="rtl"] body.page-international-permit .back-top{
    right:auto;
    left:12px;
  }

}

/* inline style hooks */
.page-international-permit .dc-inline-international-permit-1{margin-top:12px;}
.page-international-permit .dc-inline-international-permit-2{color:var(--gold-light);margin-right:7px;}
.page-international-permit .dc-inline-international-permit-3{margin-bottom:0;}

/* === PAGE FEES-TIMELINE (scoped) === */
body.page-fees-timeline{--navy:#101d35;--navy2:#172945;--navy3:#203755;--gold:#c9a66b;--gold-light:#e6ca97;--cream:#faf7f0;--white:#fff;--text:#101d35;--muted:#4e5b70;--line:#dededc;--surface:#fff;--shadow:0 12px 35px rgba(16,29,53,.09);--container:1200px}
html{scroll-behavior:smooth;scroll-padding-top:95px}body.page-fees-timeline{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);line-height:1.7;overflow-x:hidden;font-weight:500;transition:.3s}body.page-fees-timeline.dark-mode{--cream:#0b1423;--white:#111f32;--text:#f5f1e9;--muted:#c0cad8;--line:#2b3a50;--surface:#111f32;--shadow:0 12px 35px rgba(0,0,0,.25)}
body.page-fees-timeline button{cursor:pointer}body.page-fees-timeline img{width:100%;display:block;object-fit:cover}body.page-fees-timeline .container{width:min(var(--container),calc(100% - 48px));margin:auto}
body.page-fees-timeline .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2px;margin-bottom:13px}body.page-fees-timeline .eyebrow:before{content:"";width:28px;height:2px;background:var(--gold)}
/* HERO — About-style dark photographic treatment */
body.page-fees-timeline .fee-hero{position:relative;min-height:440px;display:flex;align-items:center;overflow:hidden;background:var(--navy);isolation:isolate}body.page-fees-timeline .fee-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,22,42,.96),rgba(10,22,42,.78)),url('../images/carr.jpg') center/cover}body.page-fees-timeline .fee-hero:after{content:"";position:absolute;width:390px;height:390px;border:1px solid rgba(201,166,107,.3);border-radius:50%;right:-120px;bottom:-240px;z-index:-1}body.page-fees-timeline .fee-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;padding-block:68px}body.page-fees-timeline .fee-hero-copy{max-width:720px}body.page-fees-timeline .fee-hero-copy .eyebrow{color:var(--gold-light)}body.page-fees-timeline .fee-hero-copy h1{font-size:clamp(39px,5.5vw,63px);color:#fff;margin-bottom:18px}body.page-fees-timeline .fee-hero-copy h1 em{font-style:normal;color:var(--gold-light)}body.page-fees-timeline .fee-hero-copy p{max-width:680px;color:#e0e5ed;font-size:16px;line-height:1.9}body.page-fees-timeline .breadcrumb{display:flex;align-items:center;gap:11px;margin-top:23px;color:#d9deea;font-size:13px}body.page-fees-timeline .breadcrumb a{color:var(--gold-light);font-weight:800}body.page-fees-timeline .fee-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}body.page-fees-timeline .fee-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 19px;border-radius:8px;background:var(--gold);color:var(--navy);font-size:13px;font-weight:800;transition:.25s}body.page-fees-timeline .fee-btn:hover{background:var(--gold-light);transform:translateY(-2px)}body.page-fees-timeline .fee-btn.outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}body.page-fees-timeline .fee-btn.outline:hover{border-color:var(--gold);color:var(--gold-light)}
body.page-fees-timeline .fee-hero-card{justify-self:end;width:min(370px,100%);background:rgba(255,255,255,.96);padding:25px;border:1px solid rgba(230,202,151,.55);box-shadow:25px 30px 60px rgba(0,0,0,.22);transform:rotate(2deg);transition:.5s}body.page-fees-timeline .fee-hero-card:hover{transform:rotate(0) translateY(-6px)}body.page-fees-timeline .fee-card-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:17px;border-bottom:2px solid var(--navy)}body.page-fees-timeline .fee-card-top small{font-size:10px;letter-spacing:1.7px;font-weight:900;color:var(--gold)}body.page-fees-timeline .fee-card-top strong{font-family:'Manrope',sans-serif;font-size:17px;color:var(--navy)}body.page-fees-timeline .fee-card-row{display:grid;grid-template-columns:1fr auto;gap:15px;padding:15px 0;border-bottom:1px solid #dededc}body.page-fees-timeline .fee-card-row span{font-size:12px;color:#4e5b70}body.page-fees-timeline .fee-card-row b{font-family:'Manrope',sans-serif;font-size:14px;color:var(--navy)}body.page-fees-timeline .fee-card-note{display:flex;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid #dededc;font-size:11px;color:#4e5b70}body.page-fees-timeline .fee-card-note i{color:#c9a66b}body.page-fees-timeline .fee-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);margin-top:5px}body.page-fees-timeline .fee-hero-stat{padding:18px 20px;display:flex;gap:12px;align-items:center;border-right:1px solid rgba(255,255,255,.15)}body.page-fees-timeline .fee-hero-stat:last-child{border:0}body.page-fees-timeline .fee-hero-stat strong{font-family:'Manrope',sans-serif;color:var(--gold-light);font-size:22px}body.page-fees-timeline .fee-hero-stat span{font-size:11px;color:#d9e0ec;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
/* INTRO */
body.page-fees-timeline .fee-intro{padding:75px 0;background:var(--cream)}body.page-fees-timeline .fee-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}body.page-fees-timeline .fee-intro-image{height:390px;position:relative;overflow:hidden;border-radius:12px}body.page-fees-timeline .fee-intro-image img{height:100%;transition:.7s}body.page-fees-timeline .fee-intro-image:hover img{transform:scale(1.04)}body.page-fees-timeline .fee-intro-tag{position:absolute;left:20px;bottom:20px;background:var(--navy);color:#fff;padding:12px 15px;border-left:3px solid var(--gold);font-size:11px;font-weight:800;letter-spacing:1px}body.page-fees-timeline .fee-intro-copy h2{font-size:clamp(30px,4vw,44px);margin:9px 0 15px}body.page-fees-timeline .fee-intro-copy>p{font-size:15px;line-height:1.9;max-width:650px}body.page-fees-timeline .fee-rule{display:grid;grid-template-columns:repeat(3,1fr);margin-top:27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}body.page-fees-timeline .fee-rule div{padding:17px 14px;border-right:1px solid var(--line)}body.page-fees-timeline .fee-rule div:last-child{border:0}body.page-fees-timeline .fee-rule strong{display:block;font-family:'Manrope',sans-serif;font-size:14px;color:var(--text)}body.page-fees-timeline .fee-rule span{font-size:11px;color:var(--muted)}
/* SERVICE FEES */
body.page-fees-timeline .service-fees{padding:78px 0;background:var(--white)}body.page-fees-timeline .section-head{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;margin-bottom:35px}body.page-fees-timeline .section-head h2{font-size:clamp(30px,4vw,44px);margin:9px 0 0}body.page-fees-timeline .section-head p{font-size:14px;line-height:1.85}body.page-fees-timeline .fee-table{border-top:2px solid var(--navy)}body.page-fees-timeline .fee-table-head,
body.page-fees-timeline .fee-table-row{display:grid;grid-template-columns:2fr 1.05fr 1.15fr 1.1fr 1fr;align-items:center}body.page-fees-timeline .fee-table-head{background:var(--navy);color:#fff;padding:14px 18px;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}body.page-fees-timeline .fee-table-row{padding:21px 18px;border-bottom:1px solid var(--line);transition:.3s}body.page-fees-timeline .fee-table-row:hover{background:var(--cream);transform:translateX(5px)}body.page-fees-timeline .service-name{display:flex;gap:14px;align-items:center}body.page-fees-timeline .service-no{font-family:'Playfair Display',serif;font-size:25px;color:var(--gold)}body.page-fees-timeline .service-name b{display:block;font-family:'Manrope',sans-serif;font-size:15px}body.page-fees-timeline .service-name span{font-size:11px;color:var(--muted)}body.page-fees-timeline .fee-value{font-family:'Manrope',sans-serif;font-weight:800;font-size:14px;color:var(--text)}body.page-fees-timeline .fee-value.gold{color:var(--gold)}body.page-fees-timeline .fee-time{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:var(--muted)}body.page-fees-timeline .fee-time i{color:var(--gold)}body.page-fees-timeline .fee-table-note{padding:14px 18px;background:var(--cream);font-size:11px;color:var(--muted)}body.page-fees-timeline .fee-table-note i{color:var(--gold);margin-right:7px}
/* FEE BREAKDOWN — navy */
body.page-fees-timeline .breakdown{padding:78px 0;background:var(--navy);color:#fff}body.page-fees-timeline .breakdown .section-head h2{color:#fff}body.page-fees-timeline .breakdown .section-head p{color:#c7d0de}body.page-fees-timeline .breakdown .eyebrow{color:var(--gold-light)}body.page-fees-timeline .break-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}body.page-fees-timeline .break-item{padding:27px 22px;border-right:1px solid rgba(255,255,255,.15)}body.page-fees-timeline .break-item:last-child{border:0}body.page-fees-timeline .break-icon{width:46px;height:46px;border-radius:10px;background:var(--gold);color:var(--navy);display:grid;place-items:center;margin-bottom:17px}body.page-fees-timeline .break-item h3{font-family:'Manrope',sans-serif;color:#fff;font-size:17px;margin-bottom:7px}body.page-fees-timeline .break-item p{color:#bdc8d6;font-size:12px;line-height:1.75}body.page-fees-timeline .break-item strong{display:block;color:var(--gold-light);font-family:'Manrope',sans-serif;font-size:12px;margin-top:12px}
/* SERVICE SPOTLIGHT */
body.page-fees-timeline .spotlight{padding:82px 0;background:var(--cream)}body.page-fees-timeline .spotlight-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}body.page-fees-timeline .spotlight-copy h2{font-size:clamp(32px,4.5vw,48px);margin:9px 0 15px}body.page-fees-timeline .spotlight-copy>p{font-size:15px;line-height:1.85;max-width:590px}body.page-fees-timeline .spotlight-list{margin-top:25px;border-top:1px solid var(--line)}body.page-fees-timeline .spotlight-row{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}body.page-fees-timeline .spotlight-row>span:first-child{font-family:'Playfair Display',serif;color:var(--gold);font-size:24px}body.page-fees-timeline .spotlight-row h3{font-family:'Manrope',sans-serif;font-size:15px;margin-bottom:2px}body.page-fees-timeline .spotlight-row p{font-size:11px}body.page-fees-timeline .spotlight-row b{font-family:'Manrope',sans-serif;color:var(--text);font-size:13px}body.page-fees-timeline .spotlight-visual{height:440px;position:relative;overflow:hidden;border-radius:12px}body.page-fees-timeline .spotlight-visual img{height:100%;transition:.7s}body.page-fees-timeline .spotlight-visual:hover img{transform:scale(1.04)}body.page-fees-timeline .spotlight-label{position:absolute;right:20px;top:20px;background:#fff;color:var(--navy);padding:12px 15px;font-size:10px;font-weight:900;letter-spacing:1.2px}body.page-fees-timeline .spotlight-caption{position:absolute;left:20px;right:20px;bottom:20px;background:rgba(10,20,37,.9);padding:17px 18px;border-left:3px solid var(--gold);color:#fff}body.page-fees-timeline .spotlight-caption strong{display:block;font-family:'Manrope',sans-serif;font-size:15px}body.page-fees-timeline .spotlight-caption span{font-size:11px;color:#c9d3df}
/* TIMELINE */
body.page-fees-timeline .timeline-section{padding:82px 0;background:var(--white)}body.page-fees-timeline .timeline-head{max-width:760px}body.page-fees-timeline .timeline-head h2{font-size:clamp(31px,4vw,45px);margin:9px 0 14px}body.page-fees-timeline .timeline-head p{font-size:14px;line-height:1.85}body.page-fees-timeline .road{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:55px}body.page-fees-timeline .road:before{content:"";position:absolute;left:7%;right:7%;top:29px;height:1px;background:var(--gold)}body.page-fees-timeline .road-step{position:relative;text-align:center}body.page-fees-timeline .road-dot{width:58px;height:58px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:var(--navy);border:5px solid var(--white);outline:1px solid var(--gold);color:var(--gold);font-family:'Manrope',sans-serif;font-size:11px;font-weight:900}body.page-fees-timeline .road-step i{font-size:17px;color:var(--gold);margin-bottom:8px}body.page-fees-timeline .road-step strong{display:block;font-family:'Manrope',sans-serif;font-size:13px;color:var(--text)}body.page-fees-timeline .road-step span{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:4px}body.page-fees-timeline .timeline-note{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}body.page-fees-timeline .timeline-note div{padding:19px 20px;border-right:1px solid var(--line)}body.page-fees-timeline .timeline-note div:last-child{border:0}body.page-fees-timeline .timeline-note strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}body.page-fees-timeline .timeline-note span{display:block;font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;color:var(--text);margin-top:5px}
/* FACTORS */
body.page-fees-timeline .factors{padding:78px 0;background:var(--cream)}body.page-fees-timeline .factor-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}body.page-fees-timeline .factor{padding:28px 22px;border-right:1px solid var(--line)}body.page-fees-timeline .factor:last-child{border:0}body.page-fees-timeline .factor>span{font-family:'Playfair Display',serif;color:var(--gold);font-size:34px}body.page-fees-timeline .factor h3{font-family:'Manrope',sans-serif;font-size:17px;margin:13px 0 7px}body.page-fees-timeline .factor p{font-size:12px;line-height:1.75}
/* FAQ */
body.page-fees-timeline .faq{padding:78px 0;background:var(--white)}body.page-fees-timeline .faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}body.page-fees-timeline .faq-copy h2{font-size:clamp(31px,4vw,45px);margin:9px 0 15px}body.page-fees-timeline .faq-copy p{font-size:14px;line-height:1.85}body.page-fees-timeline .faq-list{border-top:2px solid var(--navy)}body.page-fees-timeline .faq-item{border-bottom:1px solid var(--line)}body.page-fees-timeline .faq-item button{width:100%;padding:19px 0;border:0;background:transparent;color:var(--text);display:flex;justify-content:space-between;gap:20px;text-align:left;font-family:'Manrope',sans-serif;font-size:14px;font-weight:800}body.page-fees-timeline .faq-item button i{color:var(--gold);transition:.3s}body.page-fees-timeline .faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}body.page-fees-timeline .faq-answer p{font-size:13px;line-height:1.8;padding:0 35px 18px 0}body.page-fees-timeline .faq-item.open button i{transform:rotate(45deg)}
/* CTA */
body.page-fees-timeline .cta{padding:55px 0 75px;background:var(--cream)}body.page-fees-timeline .cta-box{background:var(--navy);padding:42px 48px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}body.page-fees-timeline .cta-box:after{content:"$";position:absolute;right:25px;bottom:-60px;font-family:'Playfair Display',serif;font-size:190px;color:rgba(230,202,151,.06)}body.page-fees-timeline .cta-copy{position:relative;z-index:1}body.page-fees-timeline .cta-copy h2{color:#fff;font-size:clamp(28px,4vw,42px);margin:8px 0 10px}body.page-fees-timeline .cta-copy p{color:#d1d8e2;font-size:14px;max-width:680px}body.page-fees-timeline .cta .eyebrow{color:var(--gold-light)}body.page-fees-timeline .cta .book-button{position:relative;z-index:2}body.page-fees-timeline .social-links{display:flex;gap:9px}body.page-fees-timeline .social-links a{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:7px;display:grid;place-items:center;color:#fff;font-size:13px}body.page-fees-timeline .social-links a:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
/* MODAL */
body.page-fees-timeline .booking-overlay{position:fixed;inset:0;background:rgba(4,12,25,.78);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:20px;z-index:2000}body.page-fees-timeline .booking-overlay.show{display:flex}body.page-fees-timeline .booking-modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:30px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.3)}body.page-fees-timeline .modal-close{position:absolute;right:17px;top:17px;width:38px;height:38px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:8px}body.page-fees-timeline .booking-modal h2{font-size:30px;margin-bottom:7px}body.page-fees-timeline .booking-modal>p{font-size:13px;margin-bottom:20px}body.page-fees-timeline .booking-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}body.page-fees-timeline .form-group{display:grid;gap:6px}body.page-fees-timeline .form-group:nth-last-of-type(1),
body.page-fees-timeline .form-message,
body.page-fees-timeline .booking-form .book-button{grid-column:1/-1}body.page-fees-timeline .form-group label{font-size:11px;font-weight:800;color:var(--text)}body.page-fees-timeline .form-group input,
body.page-fees-timeline .form-group select,
body.page-fees-timeline .form-group textarea{width:100%;border:1px solid var(--line);background:var(--cream);color:var(--text);padding:11px 12px;border-radius:7px;outline:none}body.page-fees-timeline .form-group textarea{min-height:90px;resize:vertical}body.page-fees-timeline .form-group input:focus,
body.page-fees-timeline .form-group select:focus,
body.page-fees-timeline .form-group textarea:focus{border-color:var(--gold)}body.page-fees-timeline .form-message{display:none;padding:11px 13px;background:rgba(201,166,107,.13);border-left:3px solid var(--gold);font-size:11px;color:var(--muted)}body.page-fees-timeline .back-top{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:0;border-radius:8px;background:var(--gold);color:var(--navy);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;z-index:900}body.page-fees-timeline .back-top.show{opacity:1;visibility:visible;transform:none}
/* REVEAL */
body.page-fees-timeline .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}body.page-fees-timeline .reveal.visible{opacity:1;transform:none}body.page-fees-timeline .delay-1{transition-delay:.1s}body.page-fees-timeline .delay-2{transition-delay:.2s}body.page-fees-timeline .delay-3{transition-delay:.3s}
/* DARK MODE */
body.page-fees-timeline.dark-mode .fee-hero-card{background:#17253b;border-color:#34435a}body.page-fees-timeline .dark-mode .fee-card-row{border-color:#34435a}body.page-fees-timeline .dark-mode .fee-card-row span,
body.page-fees-timeline .dark-mode .fee-card-note{color:#c0cad8}body.page-fees-timeline .dark-mode .fee-card-row b,
body.page-fees-timeline .dark-mode .fee-card-top strong{color:#fff}body.page-fees-timeline .dark-mode .fee-intro,
body.page-fees-timeline .dark-mode .factors,
body.page-fees-timeline .dark-mode .cta{background:#0b1423}body.page-fees-timeline .dark-mode .service-fees,
body.page-fees-timeline .dark-mode .timeline-section,
body.page-fees-timeline .dark-mode .faq{background:#111f32}body.page-fees-timeline .dark-mode .fee-intro-tag,
body.page-fees-timeline .dark-mode .spotlight-label{background:#172945;color:#fff}body.page-fees-timeline .dark-mode .fee-table-row:hover{background:#17253b}body.page-fees-timeline .dark-mode .fee-table-note{background:#16243a}body.page-fees-timeline .dark-mode .fee-table-row,
body.page-fees-timeline .dark-mode .fee-rule,
body.page-fees-timeline .dark-mode .fee-rule div,
body.page-fees-timeline .dark-mode .spotlight-list,
body.page-fees-timeline .dark-mode .spotlight-row,
body.page-fees-timeline .dark-mode .timeline-note,
body.page-fees-timeline .dark-mode .timeline-note div,
body.page-fees-timeline .dark-mode .factor-grid,
body.page-fees-timeline .dark-mode .factor,
body.page-fees-timeline .dark-mode .faq-item{border-color:#29364b}body.page-fees-timeline .dark-mode .fee-value,
body.page-fees-timeline .dark-mode .spotlight-row b,
body.page-fees-timeline .dark-mode .timeline-note span{color:#fff}body.page-fees-timeline .dark-mode .faq-item button{color:#fff}body.page-fees-timeline .dark-mode .booking-modal{background:#111f32}body.page-fees-timeline .dark-mode .form-group input,
body.page-fees-timeline .dark-mode .form-group select,
body.page-fees-timeline .dark-mode .form-group textarea{background:#0d1728;border-color:#34435a}
/* RTL */
html[dir="rtl"] body.page-fees-timeline .fee-hero:before{transform:scaleX(-1)}html[dir="rtl"] body.page-fees-timeline .breadcrumb{flex-direction:row-reverse}html[dir="rtl"] body.page-fees-timeline .fee-intro-tag{left:auto;right:20px;border-left:0;border-right:3px solid var(--gold)}html[dir="rtl"] body.page-fees-timeline .spotlight-caption{left:auto;right:20px;border-left:0;border-right:3px solid var(--gold)}
/* RESPONSIVE */
@media(max-width:1050px){
body.page-fees-timeline{.desktop-nav{gap:13px}.header-inner{gap:14px}.login-button{display:none}.fee-hero-grid,.fee-intro-grid,.spotlight-grid,.faq-grid{grid-template-columns:1fr;gap:38px}.fee-hero-card{justify-self:start}.break-grid{grid-template-columns:1fr 1fr}.factor-grid{grid-template-columns:1fr 1fr}.factor:nth-child(2){border-right:0}.factor:nth-child(-n+2){border-bottom:1px solid var(--line)}.road{grid-template-columns:repeat(3,1fr);row-gap:40px}.road:before{display:none}.footer-main{grid-template-columns:1.2fr 1fr 1fr}
}
}
@media(max-width:900px){body.page-fees-timeline .fee-hero-stats{grid-template-columns:1fr}body.page-fees-timeline .fee-hero-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}body.page-fees-timeline .fee-hero-stat:last-child{border-bottom:0}body.page-fees-timeline .section-head{grid-template-columns:1fr;gap:14px}body.page-fees-timeline .fee-table{overflow-x:auto}body.page-fees-timeline .fee-table-head,
body.page-fees-timeline .fee-table-row{min-width:850px}}
@media(max-width:650px){body.page-fees-timeline .container{width:min(var(--container),calc(100% - 30px))}body.page-fees-timeline .fee-hero-grid{padding-block:52px}body.page-fees-timeline .fee-hero-copy h1{font-size:43px}body.page-fees-timeline .fee-actions{flex-direction:column;align-items:flex-start}body.page-fees-timeline .fee-btn{width:100%;justify-content:center}body.page-fees-timeline .fee-intro,
body.page-fees-timeline .service-fees,
body.page-fees-timeline .breakdown,
body.page-fees-timeline .spotlight,
body.page-fees-timeline .timeline-section,
body.page-fees-timeline .factors,
body.page-fees-timeline .faq{padding:58px 0}body.page-fees-timeline .fee-intro-image,
body.page-fees-timeline .spotlight-visual{height:310px}body.page-fees-timeline .fee-rule{grid-template-columns:1fr}body.page-fees-timeline .fee-rule div{border-right:0;border-bottom:1px solid var(--line)}body.page-fees-timeline .fee-rule div:last-child{border-bottom:0}body.page-fees-timeline .break-grid,
body.page-fees-timeline .factor-grid{grid-template-columns:1fr}body.page-fees-timeline .break-item,
body.page-fees-timeline .factor{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}body.page-fees-timeline .factor{border-bottom:1px solid var(--line)}body.page-fees-timeline .break-item:last-child,
body.page-fees-timeline .factor:last-child{border-bottom:0}body.page-fees-timeline .spotlight-row{grid-template-columns:40px 1fr}body.page-fees-timeline .spotlight-row b{grid-column:2}body.page-fees-timeline .road{grid-template-columns:1fr 1fr}body.page-fees-timeline .timeline-note{grid-template-columns:1fr}body.page-fees-timeline .timeline-note div{border-right:0;border-bottom:1px solid var(--line)}body.page-fees-timeline .timeline-note div:last-child{border-bottom:0}body.page-fees-timeline .cta-box{padding:32px 25px;display:block}body.page-fees-timeline .cta .book-button{margin-top:22px}body.page-fees-timeline .booking-form{grid-template-columns:1fr}body.page-fees-timeline .form-group:nth-last-of-type(1),
body.page-fees-timeline .form-message,
body.page-fees-timeline .booking-form .book-button{grid-column:auto}}

/* PREMIUM FIXED TEXAS PRICING */
body.page-fees-timeline .pricing-note{margin-top:18px;padding:13px 16px;border-left:3px solid var(--gold);background:#f5f0e6;color:var(--muted);font-size:12px;line-height:1.65}
body.page-fees-timeline .price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:42px}
body.page-fees-timeline .price-card{position:relative;background:#fff;border:1px solid var(--line);padding:30px;box-shadow:0 16px 38px rgba(16,29,53,.07);transition:transform .3s,box-shadow .3s;overflow:hidden}
body.page-fees-timeline .price-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(16,29,53,.12)}
body.page-fees-timeline .price-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--gold)}
body.page-fees-timeline .price-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}body.page-fees-timeline .price-card-top i{font-size:22px;color:var(--gold)}
body.page-fees-timeline .price-card-no{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--gold)}
body.page-fees-timeline .price-card h3{font-size:25px;margin:7px 0 5px;color:var(--navy)}
body.page-fees-timeline .price-card-sub{font-size:12px;color:var(--muted);margin:0;line-height:1.6}
body.page-fees-timeline .price-main{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:25px 0 20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.page-fees-timeline .price-main small{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:900}body.page-fees-timeline .price-main strong{display:block;font-family:"Playfair Display",serif;font-size:43px;line-height:1;color:var(--navy)}
body.page-fees-timeline .price-total{font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}
body.page-fees-timeline .price-lines{display:grid;gap:10px}body.page-fees-timeline .price-line{display:flex;justify-content:space-between;gap:20px;font-size:12px}body.page-fees-timeline .price-line span{color:var(--muted)}body.page-fees-timeline .price-line b{color:var(--navy)}
body.page-fees-timeline .price-timeline{margin-top:20px;padding:13px 14px;background:var(--cream);display:flex;justify-content:space-between;gap:15px;align-items:center}body.page-fees-timeline .price-timeline span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--muted)}body.page-fees-timeline .price-timeline strong{font-size:13px;color:var(--navy)}
body.page-fees-timeline .price-source{margin-top:12px;font-size:10px;color:#7b7e85;line-height:1.55}
body.page-fees-timeline .timeline-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:48px;border:1px solid var(--line)}
body.page-fees-timeline .timeline-service{background:var(--surface);padding:24px 20px}body.page-fees-timeline .timeline-service b{font-size:10px;color:var(--gold);letter-spacing:.14em}body.page-fees-timeline .timeline-service h3{font-size:17px;margin:9px 0;color:var(--navy)}body.page-fees-timeline .timeline-service strong{font-family:"Playfair Display",serif;font-size:29px;color:var(--navy)}body.page-fees-timeline .timeline-service p{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 0}
body.page-fees-timeline.dark-mode .price-card,
body.page-fees-timeline.dark .price-card{background:#17253b;border-color:#34435a}body.page-fees-timeline .dark-mode .price-card h3,
body.page-fees-timeline .dark .price-card h3,
body.page-fees-timeline .dark-mode .price-main strong,
body.page-fees-timeline .dark .price-main strong,
body.page-fees-timeline .dark-mode .price-line b,
body.page-fees-timeline .dark .price-line b,
body.page-fees-timeline .dark-mode .price-timeline strong,
body.page-fees-timeline .dark .price-timeline strong,
body.page-fees-timeline .dark-mode .timeline-service h3,
body.page-fees-timeline .dark .timeline-service h3,
body.page-fees-timeline .dark-mode .timeline-service strong,
body.page-fees-timeline .dark .timeline-service strong{color:#fff}body.page-fees-timeline .dark-mode .price-timeline,
body.page-fees-timeline .dark .price-timeline,
body.page-fees-timeline .dark-mode .pricing-note,
body.page-fees-timeline .dark .pricing-note{background:#121e31}body.page-fees-timeline .dark-mode .price-source,
body.page-fees-timeline .dark .price-source{color:#9faabc}body.page-fees-timeline .dark-mode .timeline-service-grid,
body.page-fees-timeline .dark .timeline-service-grid{background:#29364b;border-color:#29364b}body.page-fees-timeline .dark-mode .timeline-service,
body.page-fees-timeline .dark .timeline-service{background:#0f1b2e}
@media(max-width:850px){body.page-fees-timeline .price-grid{grid-template-columns:1fr}body.page-fees-timeline .timeline-service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){body.page-fees-timeline .timeline-service-grid{grid-template-columns:1fr}body.page-fees-timeline .price-card{padding:24px}body.page-fees-timeline .price-main strong{font-size:38px}}

/* inline style hooks */
.page-fees-timeline .dc-inline-fees-timeline-1{font-size:25px;color:#c9a66b}
.page-fees-timeline .dc-inline-fees-timeline-2{margin-top:20px}

/* === PAGE CONTACT (scoped) === */
/* =========================================================
   DRIVECARE — ABOUT PAGE THEME
========================================================= */
body.page-contact{
    --navy:#101d35;
    --navy2:#172945;
    --navy3:#203755;
    --gold:#c9a66b;
    --gold-light:#e6ca97;
    --cream:#faf7f0;
    --white:#fff;
    --text:#101d35;
    --muted:#4e5b70;
    --line:#dededc;
    --surface:#fff;
    --shadow:0 12px 35px rgba(16,29,53,.09);
    --container:1200px;
}



html{
    scroll-behavior:smooth;
    scroll-padding-top:95px;
}

body.page-contact{
    font-family:'DM Sans',sans-serif;
    background:var(--cream);
    color:var(--text);
    line-height:1.7;
    overflow-x:hidden;
    font-weight:500;
    transition:.3s;
}

body.page-contact.dark-mode{
    --cream:#0b1423;
    --white:#111f32;
    --text:#f5f1e9;
    --muted:#c0cad8;
    --line:#2b3a50;
    --surface:#111f32;
    --shadow:0 12px 35px rgba(0,0,0,.25);
}





body.page-contact button{
    cursor:pointer;
}

body.page-contact img{
    width:100%;
    display:block;
    object-fit:cover;
}

body.page-contact .container{
    width:min(var(--container),calc(100% - 48px));
    margin-inline:auto;
}

body.page-contact .section{
    padding-block:68px;
}

body.page-contact h1,
body.page-contact h2,
body.page-contact h3,
body.page-contact h4{
    font-family:'Playfair Display',serif;
    line-height:1.2;
    font-weight:700;
    color:var(--text);
}

body.page-contact .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--gold);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:13px;
}

body.page-contact .eyebrow:before{
    content:"";
    width:28px;
    height:2px;
    background:var(--gold);
}

/* =========================================================
   CONTACT HERO
========================================================= */
body.page-contact .contact-hero{
    position:relative;
    min-height:350px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:var(--navy);
    isolation:isolate;
}

body.page-contact .contact-hero:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
    linear-gradient(90deg,rgba(10,22,42,.96),rgba(10,22,42,.68)),
    url("../images/inter.jpg")
    center/cover no-repeat;
    animation:dc-contact-heroZoom 18s ease-in-out infinite alternate;
}

body.page-contact .contact-hero:after{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    border:1px solid rgba(201,166,107,.3);
    border-radius:50%;
    right:-120px;
    bottom:-240px;
}

@keyframes dc-contact-heroZoom{
    from{
        transform:scale(1);
    }
    to{
        transform:scale(1.07) translateX(-1%);
    }
}

body.page-contact .hero-content{
    padding-block:65px;
    max-width:760px;
    animation:dc-contact-heroContent .8s ease both;
}

@keyframes dc-contact-heroContent{
    from{
        opacity:0;
        transform:translateY(25px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

body.page-contact .hero-content .eyebrow{
    color:var(--gold-light);
}

body.page-contact .hero-content h1{
    color:#fff;
    font-size:clamp(37px,5.5vw,61px);
    margin-bottom:18px;
}

body.page-contact .hero-content p{
    max-width:690px;
    color:#e0e5ed;
    font-size:16px;
    line-height:1.9;
}

body.page-contact .breadcrumb{
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:23px;
    color:#d9deea;
    font-size:13px;
}

body.page-contact .breadcrumb a{
    color:var(--gold-light);
    font-weight:800;
}

/* =========================================================
   QUICK CONTACT
========================================================= */
body.page-contact .quick-contact{
    background:var(--white);
    border-bottom:1px solid var(--line);
}

body.page-contact .quick-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

body.page-contact .quick-item{
    min-height:112px;
    padding:22px 25px;
    display:flex;
    align-items:center;
    gap:14px;
    border-right:1px solid var(--line);
}

body.page-contact .quick-item:last-child{
    border-right:0;
}

body.page-contact .quick-icon{
    width:46px;
    height:46px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    background:var(--gold);
    color:var(--navy);
    border-radius:10px;
}

body.page-contact .quick-item h3{
    font-family:'Manrope',sans-serif;
    font-size:15px;
    margin-bottom:3px;
}

body.page-contact .quick-item p,
body.page-contact .quick-item a{
    font-size:13px;
    color:var(--muted);
}

body.page-contact .quick-item a:hover{
    color:var(--gold);
}

/* =========================================================
   INQUIRY SECTION
========================================================= */
body.page-contact .inquiry-section{
    background:var(--cream);
}

body.page-contact .inquiry-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px;
    align-items:center;
}

body.page-contact .inquiry-copy h2{
    font-size:clamp(30px,4vw,45px);
    margin-bottom:16px;
}

body.page-contact .inquiry-copy>p{
    font-size:15px;
    line-height:1.9;
}

body.page-contact .inquiry-points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin-top:25px;
}

body.page-contact .inquiry-point{
    display:flex;
    gap:10px;
    align-items:flex-start;
}

body.page-contact .inquiry-point i{
    color:var(--gold);
    margin-top:5px;
}

body.page-contact .inquiry-point span{
    font-size:13px;
    font-weight:700;
}

body.page-contact .inquiry-image{
    height:190px;
    margin-top:25px;
    border-radius:14px 4px 14px 4px;
    overflow:hidden;
    box-shadow:var(--shadow);
}

body.page-contact .inquiry-image img{
    height:100%;
    transition:.7s;
}

body.page-contact .inquiry-image:hover img{
    transform:scale(1.05);
}

/* FORM */
body.page-contact .form-box{
    background:var(--white);
    border:1px solid var(--line);
    border-top:4px solid var(--gold);
    border-radius:6px 18px 6px 18px;
    padding:30px;
    box-shadow:var(--shadow);
}

body.page-contact .form-box h3{
    font-size:28px;
    margin-bottom:5px;
}

body.page-contact .form-box>p{
    font-size:13px;
    margin-bottom:20px;
}

body.page-contact .form{
    display:grid;
    gap:14px;
}

body.page-contact .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
}

body.page-contact .form-group{
    display:grid;
    gap:6px;
}

body.page-contact .form-group label{
    font-size:12px;
    font-weight:800;
    color:var(--text);
}

body.page-contact .form-group input,
body.page-contact .form-group select,
body.page-contact .form-group textarea{
    width:100%;
    padding:12px 13px;
    border:1px solid var(--line);
    background:var(--cream);
    color:var(--text);
    border-radius:8px;
    outline:none;
    transition:.25s;
}

body.page-contact .form-group input:focus,
body.page-contact .form-group select:focus,
body.page-contact .form-group textarea:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(201,166,107,.1);
}

body.page-contact .form-group textarea{
    min-height:110px;
    resize:vertical;
}

body.page-contact .form-message{
    display:none;
    padding:11px 12px;
    border-radius:8px;
    background:#e5f5e8;
    color:#155724;
    font-size:12px;
    font-weight:700;
}

/* =========================================================
   OFFICE + LIVE MAP
========================================================= */
body.page-contact .office-section{
    background:var(--white);
}

body.page-contact .section-heading{
    max-width:700px;
    margin:0 auto 35px;
    text-align:center;
}

body.page-contact .section-heading h2{
    font-size:clamp(29px,4vw,43px);
    margin-bottom:14px;
}

body.page-contact .section-heading p{
    font-size:15px;
    line-height:1.85;
}

body.page-contact .office-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:28px;
}

body.page-contact .office-info{
    position:relative;
    overflow:hidden;
    min-height:440px;
    padding:32px;
    background:var(--navy);
    border-radius:18px 5px 18px 5px;
    color:#fff;
}

body.page-contact .office-info:after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-130px;
    bottom:-130px;
    border:1px solid rgba(201,166,107,.25);
    border-radius:50%;
}

body.page-contact .office-info h2{
    color:#fff;
    font-size:32px;
    margin-bottom:10px;
}

body.page-contact .office-info>p{
    color:#cbd4e1;
    font-size:14px;
    line-height:1.85;
}

body.page-contact .office-details{
    display:grid;
    gap:16px;
    margin-top:25px;
}

body.page-contact .office-detail{
    display:flex;
    gap:12px;
    align-items:flex-start;
}

body.page-contact .office-detail i{
    width:36px;
    height:36px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(201,166,107,.16);
    color:var(--gold-light);
}

body.page-contact .office-detail strong{
    display:block;
    color:#fff;
    font:800 13px 'Manrope',sans-serif;
    margin-bottom:2px;
}

body.page-contact .office-detail span,
body.page-contact .office-detail a{
    color:#cbd4e1;
    font-size:13px;
    line-height:1.6;
}

body.page-contact .office-detail a:hover{
    color:var(--gold-light);
}

body.page-contact .directions{
    position:relative;
    z-index:2;
    display:inline-flex;
    margin-top:25px;
    padding:11px 15px;
    border:1px solid rgba(201,166,107,.5);
    border-radius:8px;
    color:var(--gold-light);
    font-size:12px;
    font-weight:800;
}

body.page-contact .directions:hover{
    background:var(--gold);
    color:var(--navy);
}

body.page-contact .map-box{
    min-height:440px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:5px 18px 5px 18px;
    box-shadow:var(--shadow);
    background:#e9edf2;
}

body.page-contact .map-box iframe{
    width:100%;
    height:100%;
    min-height:440px;
    border:0;
    display:block;
}

/* =========================================================
   BOOKING SECTION
========================================================= */
body.page-contact .booking-section{
    background:var(--cream);
}

body.page-contact .booking-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:40px;
    align-items:center;
}

body.page-contact .booking-image{
    height:430px;
    position:relative;
    padding:0 28px 28px 0;
}

body.page-contact .booking-image-main{
    height:100%;
    overflow:hidden;
    border-radius:8px 20px 8px 20px;
    box-shadow:var(--shadow);
}

body.page-contact .booking-image-main img{
    height:100%;
    transition:.7s;
}

body.page-contact .booking-image-main:hover img{
    transform:scale(1.05);
}

body.page-contact .booking-badge{
    position:absolute;
    right:0;
    bottom:0;
    width:48%;
    padding:18px;
    border:6px solid var(--cream);
    border-radius:10px;
    background:var(--gold);
    color:var(--navy);
    box-shadow:var(--shadow);
}

body.page-contact .booking-badge strong{
    display:block;
    font:900 20px 'Manrope',sans-serif;
}

body.page-contact .booking-badge span{
    display:block;
    font-size:11px;
    font-weight:800;
    margin-top:3px;
}

body.page-contact .booking-copy h2{
    font-size:clamp(29px,4vw,43px);
    margin-bottom:14px;
}

body.page-contact .booking-copy>p{
    font-size:15px;
    line-height:1.9;
}

body.page-contact .booking-steps{
    display:grid;
    gap:0;
    margin-top:22px;
}

body.page-contact .booking-step{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 0;
    border-bottom:1px solid var(--line);
}

body.page-contact .booking-step:last-child{
    border-bottom:0;
}

body.page-contact .step-number{
    width:36px;
    height:36px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--navy);
    color:var(--gold-light);
    font:800 11px 'Manrope',sans-serif;
}

body.page-contact .booking-step h3{
    font-family:'Manrope',sans-serif;
    font-size:14px;
    margin-bottom:2px;
}

body.page-contact .booking-step p{
    font-size:12px;
}

/* =========================================================
   FINAL CTA
========================================================= */
body.page-contact .final-contact{
    padding-block:52px;
    background:var(--navy);
}

body.page-contact .final-contact-inner{
    display:grid;
    grid-template-columns:1fr auto;
    gap:30px;
    align-items:center;
}

body.page-contact .final-contact h2{
    color:#fff;
    font-size:clamp(28px,4vw,40px);
    margin-bottom:10px;
}

body.page-contact .final-contact p{
    color:#cbd4e1;
    max-width:680px;
    font-size:14px;
}

body.page-contact .final-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.page-contact .outline-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 18px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:8px;
    color:#fff;
    font-size:13px;
    font-weight:800;
}

body.page-contact .outline-button:hover{
    border-color:var(--gold);
    color:var(--gold-light);
}

body.page-contact .social-links{
    display:flex;
    gap:9px;
    margin-top:20px;
}

body.page-contact .social-links a{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:8px;
    color:#fff;
    transition:.25s;
}

body.page-contact .social-links a:hover{
    background:var(--gold);
    color:var(--navy);
}

/* =========================================================
   BOOKING MODAL
========================================================= */
body.page-contact .booking-overlay{
    position:fixed;
    inset:0;
    z-index:2000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(4,12,25,.75);
    backdrop-filter:blur(5px);
}

body.page-contact .booking-overlay.show{
    display:flex;
}

body.page-contact .booking-modal{
    position:relative;
    width:min(550px,100%);
    max-height:90vh;
    overflow-y:auto;
    background:var(--white);
    color:var(--text);
    padding:30px;
    border-radius:13px;
    box-shadow:var(--shadow);
}

body.page-contact .booking-modal h2{
    font-size:28px;
    margin-bottom:8px;
}

body.page-contact .booking-modal>p{
    font-size:14px;
    margin-bottom:22px;
}

body.page-contact .modal-close{
    position:absolute;
    top:13px;
    right:13px;
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--cream);
    color:var(--text);
}

body.page-contact .modal-form{
    display:grid;
    gap:14px;
}

/* =========================================================
   ANIMATIONS
========================================================= */
body.page-contact .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.75,.25,1);
}

body.page-contact .reveal.visible{
    opacity:1;
    transform:translateY(0);
}

body.page-contact .from-left{
    transform:translateX(-35px);
}

body.page-contact .from-right{
    transform:translateX(35px);
}

body.page-contact .from-left.visible,
body.page-contact .from-right.visible{
    transform:translateX(0);
}

body.page-contact .zoom{
    transform:scale(.95);
}

body.page-contact .zoom.visible{
    transform:scale(1);
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:1100px){
body.page-contact{

    .container{
        width:calc(100% - 40px);
    }

    .desktop-nav{
        gap:13px;
    }

    .nav-link{
        font-size:12px;
    }

    .footer-main{
        grid-template-columns:repeat(2,1fr);
    }


}
}

@media(max-width:900px){

    body.page-contact .inquiry-grid,
body.page-contact .office-grid,
body.page-contact .booking-grid{
        grid-template-columns:1fr;
    }

    body.page-contact .booking-image{
        max-width:650px;
        width:100%;
        margin:auto;
    }

    body.page-contact .office-info,
body.page-contact .map-box{
        min-height:390px;
    }

    body.page-contact .map-box iframe{
        min-height:390px;
    }

    body.page-contact .quick-grid{
        grid-template-columns:1fr;
    }

    body.page-contact .quick-item{
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    body.page-contact .quick-item:last-child{
        border-bottom:0;
    }

    body.page-contact .final-contact-inner{
        grid-template-columns:1fr;
    }

}

@media(max-width:600px){

    body.page-contact .container{
        width:calc(100% - 32px);
    }

    body.page-contact .section{
        padding-block:48px;
    }

    body.page-contact .contact-hero{
        min-height:330px;
    }

    body.page-contact .hero-content{
        padding-block:55px;
    }

    body.page-contact .hero-content h1{
        font-size:36px;
    }

    body.page-contact .hero-content p{
        font-size:14px;
    }

    body.page-contact .form-row,
body.page-contact .inquiry-points{
        grid-template-columns:1fr;
    }

    body.page-contact .form-box{
        padding:23px 18px;
    }

    body.page-contact .inquiry-copy h2,
body.page-contact .booking-copy h2{
        font-size:29px;
    }

    body.page-contact .inquiry-image{
        height:180px;
    }

    body.page-contact .office-info{
        padding:25px;
        min-height:410px;
    }

    body.page-contact .map-box,
body.page-contact .map-box iframe{
        min-height:340px;
    }

    body.page-contact .booking-image{
        height:310px;
        padding:0 20px 20px 0;
    }

    body.page-contact .booking-badge{
        width:52%;
        padding:14px;
        border-width:5px;
    }

    body.page-contact .booking-badge strong{
        font-size:17px;
    }

    body.page-contact .final-actions{
        width:100%;
    }

    body.page-contact .final-actions>*{
        width:100%;
    }

    body.page-contact .booking-modal{
        padding:25px 18px;
    }

}

/* =========================================================
   RTL
========================================================= */
html[dir="rtl"] body.page-contact body{
    text-align:right;
}

@media(prefers-reduced-motion:reduce){

    body.page-contact *,
body.page-contact *::before,
body.page-contact *::after{
        animation-duration:.01ms!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
    }

    body.page-contact .reveal,
body.page-contact .from-left,
body.page-contact .from-right,
body.page-contact .zoom{
        opacity:1;
        transform:none;
    }

}

/* inline style hooks */
.page-contact .dc-inline-contact-1{margin-top:22px}

/* =========================================================
   FINAL SHARED HEADER / FOOTER RESPONSIVE SAFETY LAYER
   About page behavior is the reference for every page.
========================================================= */
.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:10000 !important;
  width:100% !important;
}
.site-header .container{width:min(var(--container),calc(100% - 48px));margin-inline:auto;}
.site-header .header-inner{min-height:82px;}

@media(max-width:1100px){
  .site-header .container{width:calc(100% - 40px);}
  .site-header .desktop-nav{gap:13px;}
}

@media(max-width:900px){
  .site-header .header-inner{
    grid-template-columns:1fr auto !important;
    min-height:76px !important;
    gap:8px !important;
  }
  .site-header .desktop-nav{
    position:fixed !important;
    top:76px !important;
    left:20px !important;
    right:20px !important;
    width:auto !important;
    max-height:calc(100dvh - 95px) !important;
    overflow-y:auto !important;
    background:var(--white) !important;
    border:1px solid var(--line) !important;
    border-radius:12px !important;
    box-shadow:var(--shadow) !important;
    padding:14px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:3px !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) !important;
  }
  .site-header .desktop-nav.open{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
  }
  .site-header .nav-link{width:100% !important;padding:12px !important;}
  .site-header .nav-link.active:after{display:none !important;}
  .site-header .nav-link.active{background:rgba(201,166,107,.17);}
  .site-header .nav-dropdown{width:100% !important;}
  .site-header .dropdown-menu{
    position:static !important;
    display:none !important;
    width:100% !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    box-shadow:none !important;
    border:0 !important;
    padding:0 0 5px 15px !important;
    background:transparent !important;
  }
  .site-header .nav-dropdown.open .dropdown-menu{display:block !important;}
  .site-header .dropdown-menu a{padding:11px !important;}
  .site-header .hamburger{display:flex !important;}
  .site-header .desktop-book{display:none !important;}
  .site-header .mobile-book{display:flex !important;width:100% !important;margin-top:8px !important;}
  .site-header .login-button{display:none !important;}
}

@media(max-width:600px){
  .site-header .container{width:calc(100% - 32px) !important;}
  .site-header .header-inner{min-height:70px !important;}
  .site-header .desktop-nav{top:70px !important;left:16px !important;right:16px !important;max-height:calc(100dvh - 86px) !important;}
  .site-header .brand{gap:8px !important;}
  .site-header .brand-icon{width:35px !important;height:35px !important;font-size:16px !important;}
  .site-header .brand-text strong{font-size:15px !important;}
  .site-header .brand-text span{font-size:7px !important;letter-spacing:1.2px !important;}
  .site-header .header-actions{gap:5px !important;}
  .site-header .icon-button,.site-header .hamburger{width:34px !important;height:34px !important;font-size:14px !important;}
}

/* Prevent horizontal overflow/collapse on every page. */
html,body{max-width:100%;overflow-x:hidden;}
img,video,iframe{max-width:100%;}
@media(max-width:600px){
  .container{max-width:100%;}
  .site-footer .footer-main{grid-template-columns:1fr !important;}
  .site-footer .footer-bottom-inner{flex-direction:column !important;text-align:center !important;gap:8px !important;}
}


/* =========================================================
   FINAL SHARED ABOUT HEADER / FOOTER + RESPONSIVE LOCK
   This section intentionally comes last so page-specific legacy
   rules cannot override the shared header behavior.
========================================================= */
.site-header{
  position:sticky !important;
  position:-webkit-sticky !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:9999 !important;
  background:var(--white) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:0 4px 20px rgba(16,29,53,.06) !important;
}
.site-header .header-inner{
  min-height:82px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:22px !important;
}
.site-header .desktop-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:21px !important;
}
.site-header .nav-dropdown{position:relative !important;width:auto !important}
.site-header .dropdown-menu{
  position:absolute !important;
  top:calc(100% + 8px) !important;
  left:0 !important;
  right:auto !important;
  width:235px !important;
  display:block !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(8px) !important;
  background:var(--white) !important;
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  padding:10px !important;
  box-shadow:var(--shadow) !important;
  z-index:10001 !important;
}
.site-header .nav-dropdown:hover>.dropdown-menu,
.site-header .nav-dropdown:focus-within>.dropdown-menu,
.site-header .nav-dropdown.open>.dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}
.site-header .header-actions{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:8px !important}
.site-header .hamburger{display:none !important}
.site-header .desktop-book{display:inline-flex !important}
.site-header .mobile-book{display:none !important}
.site-header .nav-link{white-space:nowrap !important}

@media(max-width:1100px){
  .site-header .header-inner{gap:13px !important}
  .site-header .desktop-nav{gap:13px !important}
  .site-header .nav-link{font-size:12px !important}
}
@media(max-width:900px){
  .site-header .header-inner{
    grid-template-columns:1fr auto !important;
    min-height:76px !important;
  }
  .site-header .desktop-nav{
    position:fixed !important;
    top:76px !important;
    left:20px !important;
    right:20px !important;
    width:auto !important;
    max-height:calc(100dvh - 95px) !important;
    overflow-y:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:3px !important;
    padding:14px !important;
    background:var(--white) !important;
    border:1px solid var(--line) !important;
    border-radius:12px !important;
    box-shadow:var(--shadow) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) !important;
    transition:opacity .25s ease,visibility .25s ease,transform .25s ease !important;
    z-index:10000 !important;
  }
  .site-header .desktop-nav.open{opacity:1 !important;visibility:visible !important;transform:translateY(0) !important}
  .site-header .nav-dropdown{width:100% !important}
  .site-header .nav-link{width:100% !important;padding:12px !important;font-size:14px !important;border-radius:7px !important}
  .site-header .nav-link.active:after{display:none !important}
  .site-header .nav-dropdown>.dropdown-menu{
    position:static !important;
    width:100% !important;
    display:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    box-shadow:none !important;
    border:0 !important;
    padding:0 0 5px 15px !important;
    background:transparent !important;
  }
  .site-header .nav-dropdown.open>.dropdown-menu{display:block !important}
  .site-header .dropdown-menu a{padding:11px !important}
  .site-header .hamburger{display:flex !important;width:40px !important;height:40px !important;align-items:center !important;justify-content:center !important}
  .site-header .desktop-book{display:none !important}
  .site-header .mobile-book{display:flex !important;width:100% !important;margin-top:8px !important}
}
@media(max-width:600px){
  .site-header .header-inner{min-height:70px !important;gap:8px !important}
  .site-header .brand{gap:8px !important}
  .site-header .brand-icon{width:35px !important;height:35px !important;font-size:16px !important}
  .site-header .brand-text strong{font-size:15px !important}
  .site-header .brand-text span{font-size:7px !important;letter-spacing:1.2px !important}
  .site-header .header-actions{gap:5px !important}
  .site-header .icon-button,.site-header .hamburger{width:34px !important;height:34px !important;font-size:14px !important}
  .site-header .desktop-nav{top:70px !important;left:16px !important;right:16px !important;max-height:calc(100dvh - 86px) !important}
}
@media(max-width:380px){
  .site-header .icon-button,.site-header .hamburger{width:31px !important;height:31px !important}
  .site-header .brand-text span{display:none !important}
}
html[dir="rtl"] .site-header .dropdown-menu{left:auto !important;right:0 !important}
@media(max-width:900px){html[dir="rtl"] .site-header .dropdown-menu{padding:0 15px 5px 0 !important}}
body.dark-mode .site-header{background:var(--white) !important;border-color:var(--line) !important}
body.dark-mode .site-header .desktop-nav,
body.dark-mode .site-header .dropdown-menu{background:var(--white) !important;border-color:var(--line) !important}

/* FINAL GLOBAL ABOUT-STYLE HEADER + BOOK NOW */

/* FINAL GLOBAL ABOUT-STYLE HEADER + BOOK NOW */
.site-header{
  position:sticky !important;
  position:-webkit-sticky !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:10000 !important;
}
.site-header .header-inner{position:relative;z-index:10001;}
.site-header .desktop-book,
.site-header .mobile-book{
  white-space:nowrap;
}
@media (max-width:1100px) and (min-width:901px){
  .desktop-nav{gap:10px !important;}
  .desktop-nav .nav-link{padding-left:7px !important;padding-right:7px !important;}
  .header-actions{gap:7px !important;}
  .desktop-book{padding-left:12px !important;padding-right:12px !important;}
}
@media (max-width:900px){
  .site-header{position:sticky !important;top:0 !important;}
  .desktop-nav{
    position:fixed !important;
    top:var(--header-h,76px) !important;
    left:12px !important;
    right:12px !important;
    max-height:calc(100dvh - var(--header-h,76px) - 16px) !important;
    overflow-y:auto !important;
    z-index:10002 !important;
  }
}
@media (max-width:600px){
  .site-header{position:sticky !important;top:0 !important;}
  .desktop-nav{
    top:var(--header-h,72px) !important;
    left:10px !important;
    right:10px !important;
    max-height:calc(100dvh - var(--header-h,72px) - 12px) !important;
  }
}
/* =========================================================
   ADDRESS CHANGE ONLY
   Does NOT modify the project's main style.css
========================================================= */

:root{
    --ac-navy:#101d35;
    --ac-navy2:#172945;
    --ac-navy3:#203755;

    --ac-gold:#c9a66b;
    --ac-gold-light:#e6ca97;

    --ac-cream:#faf7f0;
    --ac-white:#ffffff;

    --ac-text:#101d35;
    --ac-muted:#59667a;

    --ac-line:#dededc;

    --ac-surface:#ffffff;
    --ac-surface2:#f5f1e8;

    --ac-shadow:0 15px 40px rgba(16,29,53,.10);

    --ac-container:1200px;
    --ac-radius:18px;

    --ac-ease:cubic-bezier(.2,.7,.2,1);
}


/* RESET ONLY INSIDE ADDRESS PAGE */

.address-change-page,
.address-change-page *,
.site-header,
.site-header *,
.site-footer,
.site-footer *,
.booking-overlay,
.booking-overlay *,
.back-top{
    box-sizing:border-box;
}


html{
    scroll-behavior:smooth;
}


body{
    margin:0;
    font-family:"DM Sans",sans-serif;
    color:var(--ac-text);
    background:var(--ac-cream);
    line-height:1.6;
    overflow-x:hidden;
}


img{
    max-width:100%;
    display:block;
}


a{
    color:inherit;
    text-decoration:none;
}


button,
input,
textarea,
select{
    font:inherit;
}


button{
    cursor:pointer;
}


.container{
    width:min(
        var(--ac-container),
        calc(100% - 48px)
    );

    margin-inline:auto;
}


/* =========================================================
   HEADER
========================================================= */

.site-header{
    position:sticky;
    top:0;
    z-index:1000;

    background:rgba(250,247,240,.96);

    border-bottom:1px solid var(--ac-line);

    backdrop-filter:blur(14px);

    transition:.35s ease;
}


.header-inner{
    min-height:82px;

    display:flex;
    align-items:center;

    gap:26px;
}


/* BRAND */

.brand{
    display:flex;
    align-items:center;
    gap:12px;

    flex-shrink:0;
}


.brand-mark{
    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    color:var(--ac-gold);

    border:1px solid var(--ac-gold);

    border-radius:50%;
}


.brand-text{
    display:flex;
    flex-direction:column;
    line-height:1.1;
}


.brand-text strong{
    font-family:"Manrope",sans-serif;
    font-size:20px;
    font-weight:800;
    letter-spacing:.02em;
}


.brand-text span{
    margin-top:4px;

    font-size:10px;
    font-weight:600;

    letter-spacing:.07em;
    text-transform:uppercase;

    color:var(--ac-muted);
}


/* NAV */

.main-nav{
    display:flex;
    align-items:center;

    gap:22px;

    margin-left:auto;
}


.main-nav > a,
.nav-dropdown > button{
    position:relative;

    border:0;
    background:none;

    color:var(--ac-text);

    font-size:14px;
    font-weight:600;

    padding:8px 0;
}


.main-nav > a::after,
.nav-dropdown > button::after{
    content:"";

    position:absolute;

    left:0;
    right:100%;
    bottom:0;

    height:2px;

    background:var(--ac-gold);

    transition:.3s ease;
}


.main-nav > a:hover::after,
.main-nav > a.active::after,
.nav-dropdown:hover > button::after{
    right:0;
}


.nav-dropdown{
    position:relative;
}


.nav-dropdown > button{
    display:flex;
    align-items:center;
    gap:7px;
}


.nav-dropdown > button i{
    font-size:9px;
}


.dropdown-menu{
    position:absolute;

    top:calc(100% + 14px);
    left:50%;

    transform:
        translateX(-50%)
        translateY(8px);

    width:210px;

    padding:9px;

    background:var(--ac-white);

    border:1px solid var(--ac-line);

    box-shadow:var(--ac-shadow);

    border-radius:12px;

    opacity:0;
    visibility:hidden;

    pointer-events:none;

    transition:.25s ease;
}


.nav-dropdown:hover .dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;

    transform:
        translateX(-50%)
        translateY(0);
}


.dropdown-menu a{
    display:block;

    padding:10px 12px;

    border-radius:8px;

    font-size:13px;
    font-weight:600;
}


.dropdown-menu a:hover,
.dropdown-menu a.active{
    background:var(--ac-surface2);
    color:var(--ac-gold);
}


/* HEADER ACTIONS */

.header-actions{
    display:flex;
    align-items:center;
    gap:9px;
}


.book-btn{
    border:0;

    padding:11px 18px;

    border-radius:999px;

    background:var(--ac-navy);

    color:white;

    font-size:13px;
    font-weight:700;

    transition:.3s ease;
}


.book-btn:hover{
    transform:translateY(-2px);
    background:var(--ac-navy2);
}


.icon-btn{
    width:38px;
    height:38px;

    display:grid;
    place-items:center;

    border:1px solid var(--ac-line);

    border-radius:50%;

    background:transparent;

    color:var(--ac-text);

    transition:.3s ease;
}


.icon-btn:hover{
    border-color:var(--ac-gold);
    color:var(--ac-gold);
}


.menu-btn{
    width:40px;
    height:40px;

    display:none;

    place-items:center;

    gap:4px;

    padding:8px;

    border:1px solid var(--ac-line);

    border-radius:9px;

    background:transparent;
}


.menu-btn span{
    display:block;

    width:19px;
    height:2px;

    background:currentColor;

    transition:.3s ease;
}


/* MOBILE MENU */

.mobile-menu{
    display:none;

    position:absolute;

    top:100%;
    left:0;
    right:0;

    background:var(--ac-cream);

    border-bottom:1px solid var(--ac-line);

    box-shadow:0 18px 35px rgba(16,29,53,.12);
}


.mobile-menu-inner{
    width:min(
        var(--ac-container),
        calc(100% - 48px)
    );

    margin:auto;

    padding:16px 0 20px;
}


.mobile-menu-inner > a,
.mobile-dropdown-toggle{
    width:100%;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:13px 0;

    border:0;
    border-bottom:1px solid var(--ac-line);

    background:none;

    color:var(--ac-text);

    text-align:left;

    font-size:14px;
    font-weight:600;
}


.mobile-dropdown{
    display:none;

    padding:4px 0 6px 15px;
}


.mobile-dropdown.open{
    display:block;
}


.mobile-dropdown a{
    display:block;

    padding:9px 0;

    color:var(--ac-muted);

    font-size:13px;
}


.mobile-book-btn{
    width:100%;

    margin-top:15px;

    padding:12px 18px;

    border:0;

    border-radius:999px;

    background:var(--ac-navy);

    color:#fff;

    font-weight:700;
}


/* =========================================================
   ADDRESS HERO
========================================================= */

.address-hero{
    position:relative;

    min-height:610px;

    display:flex;
    align-items:center;

    overflow:hidden;

    padding:70px 0 60px;

    background:
        linear-gradient(
            120deg,
            #faf7f0 0%,
            #f5f1e8 58%,
            #e9dfcc 100%
        );
}


.hero-circle{
    position:absolute;

    width:500px;
    height:500px;

    right:-190px;
    top:-150px;

    border-radius:50%;

    border:1px solid rgba(201,166,107,.4);

    box-shadow:
        0 0 0 55px rgba(201,166,107,.06),
        0 0 0 110px rgba(201,166,107,.035);

    pointer-events:none;
}


.hero-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(400px,.95fr);

    align-items:center;

    gap:70px;
}


.hero-copy{
    max-width:650px;
}


.hero-kicker,
.eyebrow{
    display:flex;
    align-items:center;

    gap:9px;

    color:var(--ac-gold);

    font-size:11px;
    font-weight:800;

    letter-spacing:.16em;
    text-transform:uppercase;
}


.hero-kicker::before,
.eyebrow::before{
    content:"";

    width:30px;
    height:2px;

    background:currentColor;
}


.hero-copy h1{
    margin:16px 0 20px;

    font-family:"Playfair Display",serif;

    font-size:clamp(42px,5vw,70px);

    line-height:1.04;

    letter-spacing:-.035em;
}


.hero-copy > p{
    max-width:610px;

    margin:0;

    color:var(--ac-muted);

    font-size:17px;

    line-height:1.8;
}


.hero-buttons{
    display:flex;
    flex-wrap:wrap;

    gap:13px;

    margin-top:30px;
}


.primary-btn,
.secondary-btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    padding:13px 20px;

    border-radius:999px;

    font-size:13px;
    font-weight:800;

    transition:.3s ease;
}


.primary-btn{
    background:var(--ac-navy);
    color:#fff;
}


.primary-btn:hover{
    transform:translateY(-3px);
}


.secondary-btn{
    border:1px solid var(--ac-navy);

    background:transparent;

    color:var(--ac-navy);
}


.secondary-btn:hover{
    background:var(--ac-navy);
    color:#fff;
}


/* HERO CARD */

.hero-visual{
    position:relative;

    min-height:420px;

    display:grid;
    place-items:center;
}


.address-card{
    width:min(100%,430px);

    padding:25px;

    background:#fff;

    border:1px solid rgba(16,29,53,.1);

    box-shadow:
        0 25px 60px rgba(16,29,53,.16);

    border-radius:20px;

    transform:rotate(2deg);

    animation:
        addressFloat 5s ease-in-out infinite;
}


.address-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding-bottom:18px;

    border-bottom:1px solid var(--ac-line);

    color:var(--ac-navy);

    font-size:11px;
    font-weight:800;

    letter-spacing:.12em;
}


.address-card-top i{
    color:var(--ac-gold);

    font-size:24px;
}


.address-line{
    display:flex;
    align-items:center;

    gap:15px;

    padding:23px 0;
}


.address-icon{
    width:52px;
    height:52px;

    display:grid;
    place-items:center;

    flex-shrink:0;

    border-radius:14px;

    background:var(--ac-surface2);

    color:var(--ac-gold);

    font-size:19px;
}


.address-line span{
    display:block;

    margin-bottom:3px;

    color:var(--ac-muted);

    font-size:11px;

    text-transform:uppercase;
    letter-spacing:.08em;
}


.address-line strong{
    font-size:17px;
}


.address-arrow{
    width:38px;
    height:38px;

    display:grid;
    place-items:center;

    margin:0 auto;

    border:1px solid var(--ac-gold);

    border-radius:50%;

    color:var(--ac-gold);

    animation:arrowPulse 2s ease-in-out infinite;
}


.floating-pin{
    position:absolute;

    right:4%;

    bottom:12%;

    width:65px;
    height:65px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--ac-navy);

    color:var(--ac-gold);

    font-size:25px;

    box-shadow:
        0 18px 35px rgba(16,29,53,.25);

    transform:rotate(-8deg);

    animation:pinFloat 4s ease-in-out infinite;
}


/* =========================================================
   COMMON SECTIONS
========================================================= */

.section{
    padding:90px 0;
}


.section-title{
    margin:13px 0 17px;

    font-family:"Manrope",sans-serif;

    font-size:clamp(31px,4vw,48px);

    line-height:1.12;

    letter-spacing:-.03em;
}


.section-intro{
    max-width:650px;

    color:var(--ac-muted);

    font-size:16px;

    line-height:1.8;
}


.section-heading.center{
    max-width:700px;

    margin:0 auto 55px;

    text-align:center;
}


.section-heading.center .eyebrow{
    justify-content:center;
}


.section-heading.center p{
    margin:0;

    color:var(--ac-muted);
}


/* =========================================================
   SNAPSHOT
========================================================= */

.address-intro{
    background:var(--ac-white);
}


.snapshot-grid{
    display:grid;

    grid-template-columns:
        .9fr
        1.1fr;

    gap:80px;

    align-items:start;
}


.snapshot-heading{
    position:relative;
}


.snapshot-copy{
    padding-top:14px;

    max-width:670px;
}


.snapshot-copy p{
    margin:0 0 18px;

    color:var(--ac-muted);

    font-size:17px;

    line-height:1.85;
}


/* =========================================================
   WHY
========================================================= */

.why-section{
    background:var(--ac-surface2);
}


.why-layout{
    display:grid;

    grid-template-columns:
        .75fr
        1.25fr;

    gap:80px;

    align-items:start;
}


.why-note{
    max-width:410px;

    margin-top:30px;

    padding-left:18px;

    border-left:2px solid var(--ac-gold);

    color:var(--ac-muted);

    font-size:14px;
}


.reason-list{
    border-top:1px solid var(--ac-line);
}


.reason{
    display:grid;

    grid-template-columns:60px 1fr 30px;

    align-items:center;

    gap:20px;

    padding:25px 0;

    border-bottom:1px solid var(--ac-line);

    transition:.3s ease;
}


.reason:hover{
    padding-left:8px;
}


.reason-number{
    color:var(--ac-gold);

    font-family:"Manrope",sans-serif;

    font-size:13px;
    font-weight:800;
}


.reason h3{
    margin:0 0 5px;

    font-family:"Manrope",sans-serif;

    font-size:19px;
}


.reason p{
    margin:0;

    color:var(--ac-muted);

    font-size:14px;
}


.reason > i{
    color:var(--ac-gold);

    transition:.3s ease;
}


.reason:hover > i{
    transform:translateX(5px);
}


/* =========================================================
   DOCUMENT DESK
========================================================= */

.document-desk{
    background:var(--ac-white);
}


.desk-grid{
    display:grid;

    grid-template-columns:
        .9fr
        1.1fr;

    gap:80px;

    align-items:center;
}


.paper-stack{
    position:relative;

    min-height:390px;

    display:grid;
    place-items:center;
}


.paper{
    position:absolute;

    width:min(390px,90%);

    height:270px;

    border-radius:12px;

    box-shadow:
        0 18px 45px rgba(16,29,53,.12);
}


.paper.back{
    background:#ded8cb;

    transform:
        rotate(-7deg)
        translate(-25px,15px);
}


.paper.middle{
    background:#eee9df;

    transform:
        rotate(5deg)
        translate(20px,5px);
}


.paper.front{
    padding:25px;

    background:#fff;

    border:1px solid var(--ac-line);

    transform:rotate(-1deg);

    animation:
        paperFloat 5s ease-in-out infinite;
}


.paper-top{
    display:flex;
    justify-content:space-between;

    padding-bottom:18px;

    border-bottom:1px solid var(--ac-line);

    color:var(--ac-navy);

    font-size:11px;
}


.paper-row{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:16px 0;

    border-bottom:1px solid #ece9e1;

    font-size:13px;
}


.paper-row span{
    color:var(--ac-muted);
}


.paper-row strong{
    color:#52765f;

    font-size:12px;
}


.paper-stamp{
    position:absolute;

    right:25px;
    bottom:20px;

    width:48px;
    height:48px;

    display:grid;
    place-items:center;

    border:2px solid #52765f;

    border-radius:50%;

    color:#52765f;

    transform:rotate(-12deg);
}


/* =========================================================
   CHECKLIST
========================================================= */

.checklist-section{
    background:var(--ac-surface2);
}


.check-layout{
    display:grid;

    grid-template-columns:
        .85fr
        1.15fr;

    gap:80px;

    align-items:start;
}


.check-intro p{
    max-width:480px;

    color:var(--ac-muted);

    line-height:1.8;
}


.check-list{
    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:18px;
}


.check-item{
    display:flex;

    gap:16px;

    padding:22px;

    background:var(--ac-white);

    border:1px solid var(--ac-line);

    border-radius:14px;

    transition:.3s ease;
}


.check-item:hover{
    transform:translateY(-5px);

    border-color:var(--ac-gold);

    box-shadow:var(--ac-shadow);
}


.check-icon{
    width:43px;
    height:43px;

    display:grid;
    place-items:center;

    flex-shrink:0;

    border-radius:11px;

    background:var(--ac-surface2);

    color:var(--ac-gold);
}


.check-item h3{
    margin:0 0 5px;

    font-size:16px;
}


.check-item p{
    margin:0;

    color:var(--ac-muted);

    font-size:13px;
}


/* =========================================================
   JOURNEY
========================================================= */

.journey-section{
    background:var(--ac-white);
}


.journey{
    position:relative;

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:25px;
}


.journey-line{
    position:absolute;

    top:31px;
    left:8%;
    right:8%;

    height:1px;

    background:var(--ac-gold);

    opacity:.45;
}


.journey-step{
    position:relative;

    text-align:center;

    padding:0 10px;
}


.journey-number{
    position:relative;
    z-index:2;

    width:62px;
    height:62px;

    display:grid;
    place-items:center;

    margin:0 auto 22px;

    border:1px solid var(--ac-gold);

    border-radius:50%;

    background:var(--ac-white);

    color:var(--ac-gold);

    font-family:"Manrope",sans-serif;

    font-size:13px;
    font-weight:800;
}


.journey-step h3{
    margin:0 0 8px;

    font-family:"Manrope",sans-serif;

    font-size:19px;
}


.journey-step p{
    margin:0;

    color:var(--ac-muted);

    font-size:13px;

    line-height:1.7;
}


/* =========================================================
   SUPPORT STRIP
========================================================= */

.support-strip{
    position:relative;

    overflow:hidden;

    padding:65px 0;

    background:var(--ac-navy);

    color:#fff;
}


.support-strip::before{
    content:"";

    position:absolute;

    width:300px;
    height:300px;

    right:-100px;
    top:-130px;

    border-radius:50%;

    border:1px solid rgba(201,166,107,.35);
}


.support-inner{
    position:relative;
    z-index:2;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:35px;
}


.support-inner h2{
    margin:10px 0 7px;

    font-family:"Playfair Display",serif;

    font-size:clamp(28px,4vw,44px);

    line-height:1.1;
}


.support-inner p{
    margin:0;

    color:#c7ced8;
}


.support-btn{
    display:inline-flex;

    align-items:center;
    gap:10px;

    flex-shrink:0;

    padding:14px 21px;

    border:1px solid var(--ac-gold);

    border-radius:999px;

    background:var(--ac-gold);

    color:var(--ac-navy);

    font-weight:800;

    transition:.3s ease;
}


.support-btn:hover{
    transform:translateY(-3px);

    background:var(--ac-gold-light);
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer{
    padding:70px 0 0;

    background:#0c1729;

    color:#fff;
}


.footer-grid{
    display:grid;

    grid-template-columns:
        1.3fr
        1fr
        1fr
        1.2fr;

    gap:45px;

    padding-bottom:50px;
}


.footer-brand .brand-text strong{
    color:#fff;
}


.footer-brand .brand-text span{
    color:#aeb8c7;
}


.footer-brand > p{
    max-width:300px;

    margin:22px 0;

    color:#aeb8c7;

    font-size:14px;

    line-height:1.8;
}


.socials{
    display:flex;

    gap:9px;
}


.socials a{
    width:36px;
    height:36px;

    display:grid;
    place-items:center;

    border:1px solid #304056;

    border-radius:50%;

    color:#dbe1e8;

    transition:.3s ease;
}


.socials a:hover{
    border-color:var(--ac-gold);

    color:var(--ac-gold);

    transform:translateY(-3px);
}


.footer-title{
    margin-bottom:18px;

    color:#fff;

    font-family:"Manrope",sans-serif;

    font-size:15px;
    font-weight:800;
}


.footer-links{
    display:flex;

    flex-direction:column;

    gap:11px;
}


.footer-links a{
    color:#aeb8c7;

    font-size:13px;

    transition:.3s ease;
}


.footer-links a:hover{
    color:var(--ac-gold);

    transform:translateX(3px);
}


.contact-list{
    display:flex;

    flex-direction:column;

    gap:15px;
}


.contact-row{
    display:flex;

    align-items:flex-start;

    gap:12px;

    color:#aeb8c7;

    font-size:13px;
}


.contact-row i{
    width:18px;

    margin-top:3px;

    color:var(--ac-gold);
}


.footer-bottom{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:20px;

    padding:20px 0;

    border-top:1px solid #25354b;

    color:#8e9aab;

    font-size:12px;
}


.footer-bottom-links a{
    color:#aeb8c7;
}


.footer-bottom-links a:hover{
    color:var(--ac-gold);
}


/* =========================================================
   BOOKING MODAL
========================================================= */

.booking-overlay{
    position:fixed;

    inset:0;

    z-index:2000;

    display:grid;
    place-items:center;

    padding:25px;

    background:rgba(5,11,20,.72);

    backdrop-filter:blur(8px);

    opacity:0;
    visibility:hidden;

    pointer-events:none;

    transition:.3s ease;
}


.booking-overlay.open{
    opacity:1;
    visibility:visible;

    pointer-events:auto;
}


.booking-modal{
    position:relative;

    width:min(650px,100%);

    max-height:90vh;

    overflow:auto;

    padding:35px;

    background:var(--ac-white);

    border-radius:20px;

    box-shadow:
        0 30px 80px rgba(0,0,0,.3);

    transform:
        translateY(20px)
        scale(.97);

    transition:.3s ease;
}


.booking-overlay.open .booking-modal{
    transform:
        translateY(0)
        scale(1);
}


.booking-close{
    position:absolute;

    top:15px;
    right:15px;

    width:35px;
    height:35px;

    display:grid;
    place-items:center;

    border:1px solid var(--ac-line);

    border-radius:50%;

    background:transparent;

    color:var(--ac-text);
}


.booking-modal-heading{
    padding-right:35px;

    margin-bottom:25px;
}


.booking-modal-heading h2{
    margin:9px 0 6px;

    font-family:"Manrope",sans-serif;

    font-size:30px;
}


.booking-modal-heading p{
    margin:0;

    color:var(--ac-muted);
}


.form-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:17px;
}


.form-group{
    display:flex;

    flex-direction:column;

    gap:7px;
}


.form-full{
    grid-column:1 / -1;
}


.form-group label{
    font-size:12px;

    font-weight:700;
}


.form-group input,
.form-group select,
.form-group textarea{
    width:100%;

    padding:12px 13px;

    border:1px solid var(--ac-line);

    border-radius:9px;

    outline:none;

    background:var(--ac-cream);

    color:var(--ac-text);
}


.form-group textarea{
    resize:vertical;
}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    border-color:var(--ac-gold);

    box-shadow:
        0 0 0 3px rgba(201,166,107,.12);
}


.booking-submit{
    width:100%;

    display:flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    margin-top:20px;

    padding:13px 18px;

    border:0;

    border-radius:999px;

    background:var(--ac-navy);

    color:#fff;

    font-weight:800;
}


/* =========================================================
   BACK TOP
========================================================= */

.back-top{
    position:fixed;

    right:22px;
    bottom:22px;

    z-index:900;

    width:43px;
    height:43px;

    display:grid;
    place-items:center;

    border:1px solid var(--ac-gold);

    border-radius:50%;

    background:var(--ac-navy);

    color:var(--ac-gold);

    opacity:0;
    visibility:hidden;

    transform:translateY(10px);

    transition:.3s ease;
}


.back-top.show{
    opacity:1;
    visibility:visible;

    transform:translateY(0);
}


/* =========================================================
   REVEAL
========================================================= */

.reveal,
.reveal-left,
.reveal-right{
    opacity:0;

    transition:
        opacity .8s ease,
        transform .8s var(--ac-ease);
}


.reveal{
    transform:translateY(25px);
}


.reveal-left{
    transform:translateX(-35px);
}


.reveal-right{
    transform:translateX(35px);
}


.reveal.visible,
.reveal-left.visible,
.reveal-right.visible{
    opacity:1;

    transform:none;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes addressFloat{

    0%,100%{
        transform:
            rotate(2deg)
            translateY(0);
    }

    50%{
        transform:
            rotate(0deg)
            translateY(-10px);
    }

}


@keyframes pinFloat{

    0%,100%{
        transform:
            rotate(-8deg)
            translateY(0);
    }

    50%{
        transform:
            rotate(-3deg)
            translateY(-10px);
    }

}


@keyframes arrowPulse{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.12);
    }

}


@keyframes paperFloat{

    0%,100%{
        transform:
            rotate(-1deg)
            translateY(0);
    }

    50%{
        transform:
            rotate(1deg)
            translateY(-8px);
    }

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1100px){

    .main-nav{
        gap:14px;
    }

    .hero-grid{
        gap:40px;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:900px){

    .main-nav,
    .header-actions .book-btn{
        display:none;
    }

    .menu-btn{
        display:grid;
    }

    .header-actions{
        margin-left:auto;
    }

    .mobile-menu.open{
        display:block;
    }

    .hero-grid,
    .snapshot-grid,
    .why-layout,
    .desk-grid,
    .check-layout{
        grid-template-columns:1fr;

        gap:45px;
    }

    .hero-copy{
        max-width:750px;
    }

    .hero-visual{
        min-height:350px;
    }

    .journey{
        grid-template-columns:1fr 1fr;

        gap:35px;
    }

    .journey-line{
        display:none;
    }

}


@media(max-width:650px){

    .container{
        width:min(
            var(--ac-container),
            calc(100% - 32px)
        );
    }

    .header-inner{
        min-height:72px;

        gap:12px;
    }

    .brand-mark{
        width:37px;
        height:37px;
    }

    .brand-text strong{
        font-size:18px;
    }

    .brand-text span{
        display:none;
    }

    .icon-btn{
        width:36px;
        height:36px;
    }

    .address-hero{
        min-height:auto;

        padding:60px 0 50px;
    }

    .hero-copy h1{
        font-size:42px;
    }

    .hero-copy > p{
        font-size:15px;
    }

    .hero-buttons{
        flex-direction:column;

        align-items:stretch;
    }

    .primary-btn,
    .secondary-btn{
        width:100%;
    }

    .hero-visual{
        min-height:330px;
    }

    .address-card{
        width:100%;

        transform:none;
    }

    .floating-pin{
        right:0;
        bottom:4%;
    }

    .section{
        padding:65px 0;
    }

    .section-title{
        font-size:32px;
    }

    .reason{
        grid-template-columns:42px 1fr 20px;

        gap:12px;
    }

    .reason h3{
        font-size:16px;
    }

    .check-list{
        grid-template-columns:1fr;
    }

    .journey{
        grid-template-columns:1fr;
    }

    .support-inner{
        flex-direction:column;

        align-items:flex-start;
    }

    .support-btn{
        width:100%;
    }

    .footer-grid{
        grid-template-columns:1fr;

        gap:35px;
    }

    .footer-bottom{
        flex-direction:column;

        align-items:flex-start;
    }

    .form-grid{
        grid-template-columns:1fr;
    }

    .form-full{
        grid-column:auto;
    }

    .booking-modal{
        padding:25px 20px;
    }

}


@media(max-width:420px){

    .header-actions{
        gap:5px;
    }

    .hero-copy h1{
        font-size:37px;
    }

    .hero-circle{
        width:350px;
        height:350px;

        right:-200px;
    }

}


/* =========================================================
   STICKY HEADER FIX (FINAL OVERRIDE - KEEP LAST)
   overflow-x:hidden on BOTH html and body makes body a scroll
   container, which breaks position:sticky. Only html may clip X.
========================================================= */
html{overflow-x:hidden !important;overflow-y:auto !important}
body,body[class]{overflow-x:visible !important;overflow-x:clip !important;overflow-y:visible !important;height:auto !important}
.site-header,body[class] .site-header{
  position:-webkit-sticky !important;position:sticky !important;
  top:0 !important;left:auto !important;right:auto !important;
  z-index:9999 !important;width:100% !important;transform:none !important;
}
body.page-index .hero{padding-top:0 !important}
@media(max-width:900px){
  html{scroll-padding-top:80px}
  .site-header .desktop-nav{max-height:calc(100dvh - 86px);overflow-y:auto}
}
/* FEES & TIMELINE — FINAL DARK MODE FIX */
body.page-fees-timeline.dark-mode .price-card h3,
body.page-fees-timeline.dark-mode .price-main strong,
body.page-fees-timeline.dark-mode .price-line b,
body.page-fees-timeline.dark-mode .price-timeline strong,
body.page-fees-timeline.dark-mode .timeline-service h3,
body.page-fees-timeline.dark-mode .timeline-service strong {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.page-fees-timeline.dark-mode .price-card-sub,
body.page-fees-timeline.dark-mode .price-line span,
body.page-fees-timeline.dark-mode .price-timeline span,
body.page-fees-timeline.dark-mode .price-source,
body.page-fees-timeline.dark-mode .price-main small,
body.page-fees-timeline.dark-mode .timeline-service p {
    color: #d4dce7 !important;
    opacity: 1 !important;
}

body.page-fees-timeline.dark-mode .price-card-no,
body.page-fees-timeline.dark-mode .price-total,
body.page-fees-timeline.dark-mode .timeline-service b {
    color: #e6ca97 !important;
}

body.page-fees-timeline.dark-mode .price-card {
    background: #172945 !important;
    border-color: #34435a !important;
}

body.page-fees-timeline.dark-mode .price-timeline,
body.page-fees-timeline.dark-mode .pricing-note {
    background: #101d30 !important;
    color: #d4dce7 !important;
}

body.page-fees-timeline.dark-mode .timeline-service {
    background: #111f32 !important;
}

body.page-fees-timeline.dark-mode .timeline-service-grid {
    background: #34435a !important;
}
/* FIX ACTUAL FEES HEADER SUMMARY BOX IN DARK MODE */

body.page-fees-timeline.dark-mode .fee-hero-card {
    background: #172945 !important;
    color: #faf7f0 !important;
    border-color: #34435a !important;
}

body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-top strong,
body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-row span,
body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-row b,
body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-note,
body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-note span {
    color: #faf7f0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-top {
    border-color: #34435a !important;
}

body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-row {
    border-color: #46566d !important;
}

body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-top small,
body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-top i,
body.page-fees-timeline.dark-mode .fee-hero-card .fee-card-note i {
    color: #e6ca97 !important;
}

body.page-fees-timeline.dark-mode .fee-hero-card * {
    text-shadow: none !important;
}
/* =========================================
   DOCUMENTATION - DOSSIER SECTION TEXT FIX
   Exact HTML class: .doc-dossier
   ========================================= */

body .doc-dossier {
    background: #f1ece3 !important;
    color: #172945 !important;
}

/* Main heading */
body .doc-dossier .dossier-copy h2 {
    color: #172945 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Main description */
body .doc-dossier .dossier-copy > p {
    color: #34435a !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Organise It Better label */
body .doc-dossier .dossier-copy > .eyebrow {
    color: #9b783b !important;
    opacity: 1 !important;
}

/* Numbered labels */
body .doc-dossier .dossier-list > div > span {
    color: #9b783b !important;
    opacity: 1 !important;
}

/* Details and descriptions */
body .doc-dossier .dossier-list p {
    color: #34435a !important;
    opacity: 1 !important;
}

/* Personal details, Address details, etc. */
body .doc-dossier .dossier-list p strong {
    color: #172945 !important;
    opacity: 1 !important;
}

/* Override dark mode and inherited text colors */
body.dark-mode .doc-dossier,
body.dark .doc-dossier {
    background: #f1ece3 !important;
    color: #172945 !important;
}

body.dark-mode .doc-dossier .dossier-copy h2,
body.dark .doc-dossier .dossier-copy h2,
body.dark-mode .doc-dossier .dossier-copy > p,
body.dark .doc-dossier .dossier-copy > p,
body.dark-mode .doc-dossier .dossier-list p,
body.dark .doc-dossier .dossier-list p {
    color: #34435a !important;
    opacity: 1 !important;
}

body.dark-mode .doc-dossier .dossier-copy h2,
body.dark .doc-dossier .dossier-copy h2,
body.dark-mode .doc-dossier .dossier-list p strong,
body.dark .doc-dossier .dossier-list p strong {
    color: #172945 !important;
}
/* ==========================================
   ABOUT PAGE - TESTIMONIALS LIGHT MODE FIX
   ========================================== */

body:not(.dark-mode) .testimonials-section .testimonial-card {
    background: #ffffff !important;
    color: #172945 !important;
}

/* Review text */
body:not(.dark-mode) .testimonials-section .testimonial-card blockquote {
    color: #34435a !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Customer names */
body:not(.dark-mode) .testimonials-section .testimonial-person h3 {
    color: #172945 !important;
    opacity: 1 !important;
}

/* Service labels */
body:not(.dark-mode) .testimonials-section .testimonial-person p {
    color: #4e5b70 !important;
    opacity: 1 !important;
}

/* Stars */
body:not(.dark-mode) .testimonials-section .stars {
    color: #c9a66b !important;
    opacity: 1 !important;
}

/* Avatar letters */
body:not(.dark-mode) .testimonials-section .person-avatar {
    color: #172945 !important;
}

/* Keep testimonial text fully visible */
body:not(.dark-mode) .testimonials-section .testimonial-card blockquote,
body:not(.dark-mode) .testimonials-section .testimonial-person,
body:not(.dark-mode) .testimonials-section .testimonial-person * {
    filter: none !important;
    text-shadow: none !important;
}
/* =========================================
   ADDRESS CHANGE - DARK MODE TEXT FIX
   ========================================= */

/* Force all headings to cream white */
body.page-address-change.dark-mode h1,
body.page-address-change.dark-mode h2,
body.page-address-change.dark-mode h3,
body.page-address-change.dark-mode h4,
body.page-address-change.dark-mode h5,
body.page-address-change.dark-mode h6,
body.page-address-change.dark-mode h1 *,
body.page-address-change.dark-mode h2 *,
body.page-address-change.dark-mode h3 * {
    color: #faf7f0 !important;
    -webkit-text-fill-color: #faf7f0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Paragraphs and descriptions */
body.page-address-change.dark-mode p,
body.page-address-change.dark-mode li,
body.page-address-change.dark-mode label,
body.page-address-change.dark-mode small,
body.page-address-change.dark-mode blockquote {
    color: #d6dfeb !important;
    -webkit-text-fill-color: #d6dfeb !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Hero heading */
body.page-address-change.dark-mode .hero h1,
body.page-address-change.dark-mode .hero h1 span,
body.page-address-change.dark-mode .hero p {
    color: #faf7f0 !important;
    -webkit-text-fill-color: #faf7f0 !important;
}

/* Text inside content sections */
body.page-address-change.dark-mode main span,
body.page-address-change.dark-mode main strong,
body.page-address-change.dark-mode main b,
body.page-address-change.dark-mode main a {
    color: #e6ca97 !important;
    -webkit-text-fill-color: #e6ca97 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Override transparent text and gradient clipping */
body.page-address-change.dark-mode main h1,
body.page-address-change.dark-mode main h2,
body.page-address-change.dark-mode main h3,
body.page-address-change.dark-mode main p,
body.page-address-change.dark-mode main span {
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    text-shadow: none !important;
    mix-blend-mode: normal !important;
    filter: none !important;
}
/* ===== Unified header/footer: identical to about page on every page ===== */
body[class] .site-header .container,
body[class] .site-footer .container{
width:min(var(--container),calc(100% - 48px));
margin-inline:auto;
}
@media(max-width:1100px){body[class] .site-header .container,body[class] .site-footer .container{width:calc(100% - 40px)}}
@media(max-width:650px){body[class] .site-header .container,body[class] .site-footer .container{width:calc(100% - 32px)}}
@media(max-width:480px){body[class] .site-header .container,body[class] .site-footer .container{width:calc(100% - 26px)}}
body[class] .site-header,
body[class] .site-footer{line-height:1.6;font-family:'DM Sans',sans-serif;font-weight:500}
body[class] .site-footer .footer-heading{font-family:'Manrope',sans-serif;color:#fff;font-size:17px;line-height:1.2;font-weight:700;margin-bottom:19px}
body[class] .site-footer .footer-brand>p{max-width:300px;margin:22px 0;color:#aeb8c7;font-size:14px;line-height:1.8}
body[class] .site-footer .footer-bottom p{font-size:12px;color:#aeb9c9;line-height:1.6}

/* =========================================================
   FINAL FOOTER + IMAGELESS HERO ALIGNMENT FIX
   Keep the footer consistent across every page and center hero
   content on pages whose hero has no visual/image column.
========================================================= */

/* Shared footer: same structure and spacing as the About page. */
.site-footer .footer-main{
  display:grid !important;
  grid-template-columns:1.3fr 1fr 1fr 1.1fr !important;
  gap:30px !important;
  align-items:start !important;
  padding:55px 0 40px !important;
}

.site-footer .footer-brand,
.site-footer .footer-main > div{
  min-width:0 !important;
}

.site-footer .footer-heading{
  display:block !important;
  color:#fff !important;
  margin:0 0 19px !important;
}

.site-footer .footer-links{
  display:grid !important;
  gap:11px !important;
}

.site-footer .footer-contact{
  display:grid !important;
  gap:15px !important;
}

.site-footer .footer-contact-item{
  display:flex !important;
  align-items:flex-start !important;
  gap:11px !important;
}

.site-footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.12) !important;
  padding:19px 0 !important;
}

.site-footer .footer-bottom-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
}

/* Hero sections without an image/visual: center the complete content. */
body.page-license-renewal .renewal-hero .hero-content{
  width:min(900px,100%) !important;
  max-width:900px !important;
  margin-inline:auto !important;
  text-align:center !important;
}

body.page-contact .contact-hero .hero-content{
  width:min(900px,100%) !important;
  max-width:900px !important;
  margin-inline:auto !important;
  text-align:center !important;
}


/* About page has no separate hero visual either. */
body:not([class]) .about-hero .hero-content,
body:not([class]) .about-hero .container{
  max-width:900px !important;
  margin-inline:auto !important;
  text-align:center !important;
}

@media(max-width:1100px){
  .site-footer .footer-main{
    grid-template-columns:1.2fr 1fr 1fr !important;
  }
  .site-footer .footer-main > div:last-child{
    grid-column:2 / 4 !important;
  }
}

@media(max-width:900px){
  .site-footer .footer-main{
    grid-template-columns:1fr 1fr !important;
    gap:30px !important;
  }
  .site-footer .footer-main > div:last-child{
    grid-column:auto !important;
  }
}

@media(max-width:600px){
  .site-footer .footer-main{
    grid-template-columns:1fr !important;
    gap:30px !important;
    padding:45px 0 35px !important;
  }
  .site-footer .footer-main > div:last-child{
    grid-column:auto !important;
  }
  .site-footer .footer-bottom-inner{
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    gap:8px !important;
  }

  body.page-license-renewal .renewal-hero .hero-content,
  body.page-contact .contact-hero .hero-content,
  body:not([class]) .about-hero .hero-content,
  body:not([class]) .about-hero .container{
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
  }
}


/* =========================================================
   HOME 1 FOOTER POLISH
   Keep the same footer structure as the other pages, but give
   Home 1 stronger contrast and a slightly richer premium finish.
========================================================= */
body.page-index .site-footer{
  background:linear-gradient(180deg,#111f35 0%,#0b1628 100%) !important;
  color:#f7f5ef !important;
  border-top:1px solid rgba(201,166,107,.22) !important;
}
body.page-index .site-footer .footer-main{
  background:transparent !important;
}
body.page-index .site-footer .footer-heading{
  color:#ffffff !important;
  text-shadow:0 1px 10px rgba(0,0,0,.18);
}
body.page-index .site-footer .footer-brand>p,
body.page-index .site-footer .footer-links a,
body.page-index .site-footer .footer-contact-item p,
body.page-index .site-footer .footer-contact-item a{
  color:#d4deea !important;
}
body.page-index .site-footer .footer-links a:hover,
body.page-index .site-footer .footer-contact-item a:hover{
  color:#f0d39b !important;
}
body.page-index .site-footer .footer-links i{
  color:#e2bd79 !important;
}
body.page-index .site-footer .footer-contact-item>i{
  background:rgba(201,166,107,.20) !important;
  color:#f0d39b !important;
  border:1px solid rgba(240,211,155,.16) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.14);
}
body.page-index .site-footer .social-links a{
  border-color:rgba(240,211,155,.30) !important;
  background:rgba(255,255,255,.035) !important;
  color:#f4ead8 !important;
}
body.page-index .site-footer .social-links a:hover{
  background:#d1ad72 !important;
  border-color:#d1ad72 !important;
  color:#101d35 !important;
}
body.page-index .site-footer .footer-bottom{
  border-top:1px solid rgba(240,211,155,.20) !important;
  background:rgba(0,0,0,.10) !important;
}
body.page-index .site-footer .footer-bottom p{
  color:#c6d1df !important;
}
body.page-index .site-footer .footer-brand .brand-text strong{
  color:#ffffff !important;
}
body.page-index .site-footer .footer-brand .brand-text span{
  color:#c9d3df !important;
}

/* =========================================================
   FINAL ALIGNMENT + HOME 1 SERVICE CARD VISIBILITY FIX
========================================================= */

/* Licence Renewal hero: center the complete hero composition. */
body.page-license-renewal .renewal-hero .container{
  justify-content:center !important;
}

body.page-license-renewal .renewal-hero .hero-content{
  width:min(920px,100%) !important;
  max-width:920px !important;
  margin-inline:auto !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

body.page-license-renewal .renewal-hero .hero-content h1,
body.page-license-renewal .renewal-hero .hero-content p{
  margin-inline:auto !important;
}

body.page-license-renewal .renewal-hero .hero-content p{
  max-width:760px !important;
}

body.page-license-renewal .renewal-hero .breadcrumb{
  justify-content:center !important;
  margin-inline:auto !important;
}

/* Home 1 service/image cards: keep all copy readable over the dark image overlay. */
body.page-index .service-card,
body.page-index:not(.dark-mode) .service-card{
  color:#ffffff !important;
}

body.page-index .service-card h3,
body.page-index .service-card p,
body.page-index .service-card a,
body.page-index .service-card .service-icon,
body.page-index .service-card .service-content *{
  opacity:1 !important;
  visibility:visible !important;
}

body.page-index .service-card .service-content h3{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.45) !important;
}

body.page-index .service-card .service-content p{
  color:#e6edf5 !important;
  -webkit-text-fill-color:#e6edf5 !important;
  text-shadow:0 1px 7px rgba(0,0,0,.55) !important;
}

body.page-index .service-card .service-content a{
  color:#f0d39b !important;
  -webkit-text-fill-color:#f0d39b !important;
  text-shadow:0 1px 6px rgba(0,0,0,.45) !important;
}

body.page-index .service-card .service-overlay{
  background:linear-gradient(
    180deg,
    rgba(16,29,53,.12) 8%,
    rgba(16,29,53,.72) 55%,
    rgba(10,20,36,.98) 100%
  ) !important;
}

body.page-index.dark-mode .service-card .service-content h3,
body.page-index.dark .service-card .service-content h3{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

body.page-index.dark-mode .service-card .service-content p,
body.page-index.dark .service-card .service-content p{
  color:#dce6f2 !important;
  -webkit-text-fill-color:#dce6f2 !important;
}

body.page-index.dark-mode .service-card .service-content a,
body.page-index.dark .service-card .service-content a{
  color:#f0d39b !important;
  -webkit-text-fill-color:#f0d39b !important;
}

@media(max-width:600px){
  body.page-license-renewal .renewal-hero .hero-content{
    width:100% !important;
    max-width:100% !important;
  }
}


/* =========================================================
   FINAL HERO ALIGNMENT — ABOUT + CONTACT
   Keep the complete hero content centered consistently.
========================================================= */
body:not([class]) .about-hero .container,
body.page-contact .contact-hero .container{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-inline:auto !important;
}

body:not([class]) .about-hero .hero-content,
body.page-contact .contact-hero .hero-content{
  width:100% !important;
  max-width:900px !important;
  margin-inline:auto !important;
  padding-block:65px !important;
  text-align:center !important;
}

body:not([class]) .about-hero .hero-content p,
body.page-contact .contact-hero .hero-content p{
  max-width:720px !important;
  margin-inline:auto !important;
}

body:not([class]) .about-hero .hero-content .breadcrumb,
body.page-contact .contact-hero .hero-content .breadcrumb{
  justify-content:center !important;
  width:100% !important;
  margin-inline:auto !important;
}

body:not([class]) .about-hero .hero-content .eyebrow,
body.page-contact .contact-hero .hero-content .eyebrow{
  justify-content:center !important;
  text-align:center !important;
}

@media(max-width:600px){
  body:not([class]) .about-hero .hero-content,
  body.page-contact .contact-hero .hero-content{
    max-width:100% !important;
    padding-block:55px !important;
  }

  body:not([class]) .about-hero .hero-content h1,
  body.page-contact .contact-hero .hero-content h1{
    text-align:center !important;
  }
}

/* =========================================================
   FINAL DOCUMENT HERO + DROPDOWN USABILITY FIX
========================================================= */

/* Keep the full checklist visible on the animated document paper. */
body.page-document .document-visual{
  overflow:visible !important;
}

body.page-document .paper-main{
  box-sizing:border-box !important;
  height:355px !important;
  min-height:355px !important;
  overflow:visible !important;
  padding:24px 25px 22px !important;
}

body.page-document .paper-main h3{
  margin:20px 0 10px !important;
  line-height:1.15 !important;
}

body.page-document .paper-main .check-row{
  min-height:34px !important;
  box-sizing:border-box !important;
  padding:8px 0 !important;
  line-height:1.35 !important;
}

/* Give the final Vehicle Documents row enough room above the READY stamp. */
body.page-document .paper-main .check-row:nth-of-type(5){
  padding-bottom:9px !important;
}

body.page-document .paper-main .paper-stamp{
  bottom:10px !important;
  z-index:5 !important;
  background:rgba(255,255,255,.94) !important;
}

/* Desktop dropdowns: remove the hover gap so the pointer can move
   directly from the menu label to an option without the menu disappearing. */
.site-header .nav-dropdown{
  position:relative !important;
}

.site-header .nav-dropdown > .dropdown-menu{
  top:100% !important;
  margin-top:0 !important;
  width:245px !important;
  padding:10px !important;
  border-radius:10px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(5px) !important;
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease !important;
}

.site-header .nav-dropdown:hover > .dropdown-menu,
.site-header .nav-dropdown:focus-within > .dropdown-menu,
.site-header .nav-dropdown.open > .dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

.site-header .nav-dropdown > .dropdown-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-8px;
  height:8px;
}

.site-header .dropdown-menu a{
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  padding:10px 12px !important;
  border-radius:7px !important;
  transition:background .16s ease,color .16s ease,transform .16s ease !important;
}

.site-header .dropdown-menu a:hover,
.site-header .dropdown-menu a:focus-visible{
  background:var(--cream) !important;
  color:var(--gold) !important;
  transform:translateX(2px) !important;
  outline:none !important;
}

/* Mobile: keep dropdown options comfortably tappable and clearly separated. */
@media(max-width:900px){
  .site-header .nav-dropdown > .dropdown-menu{
    top:auto !important;
    margin-top:0 !important;
    width:100% !important;
    padding:3px 0 7px 15px !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    transition:none !important;
  }

  html[dir="rtl"] .site-header .nav-dropdown > .dropdown-menu{
    padding:3px 15px 7px 0 !important;
  }

  .site-header .dropdown-menu a{
    min-height:42px !important;
    padding:11px 13px !important;
  }
}
