/* Homes Decoded: responsive refinements to the existing page. */
html { scroll-padding-top: 110px; }
.hd-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.header-one .header-content .logo .hd-brand img, .hd-brand img { width:52px; height:52px; object-fit:contain; border-radius:8px; flex-shrink:0; }
.hd-brand-copy { display:flex; flex-direction:column; line-height:1.25; }
.hd-brand-copy strong { color:#fff; font-size:20px; white-space:nowrap; }
.hd-brand-copy small { color:#b8c8d5; font-size:11px; margin-top:5px; letter-spacing:.4px; }
.header-content { gap:20px; }
.banner-main-demo-inner-content h1.top-intro { font-size:clamp(21px,2.6vw,36px); font-weight:500; max-width:850px; margin:0 auto 20px; line-height:1.4; }
.banner-main-demo-inner-content h1.top-intro img { width:36px; vertical-align:middle; }
#about > .container > .about-us-area > .container { padding:0; }
#about .section-head { margin-bottom:28px !important; }
#about .description + .description { margin-top:16px; }
#pricing { padding-top:80px; }
#pricing .row { align-items:stretch !important; row-gap:24px; }
#pricing .row > div { display:flex; }
#pricing .price-plan-card { width:100%; height:100%; display:flex; flex-direction:column; }
#pricing .price-plan-card .tmp-button-here { margin-top:auto; padding-top:26px; }
#pricing .price-plan-card .per-month { font-size:24px; line-height:1.4; margin-bottom:24px; }
#pricing .price-plan-card .tmp-btn { font-size:14px; padding-inline:20px; max-width:100%; }
#pricing .box-para { overflow-wrap:anywhere; }
.hd-enquiry-form label { display:block; color:#d7e3eb; font-size:14px; margin-bottom:8px; line-height:1.5; }
.hd-enquiry-form .input-field { width:100%; min-height:52px; }
.hd-enquiry-form select { color:#fff; background:#091923; padding:12px 16px; border:1px solid #334650; border-radius:8px; }
.hd-enquiry-form option { color:#fff; background:#091923; }
.hd-form-error { padding:14px; border:1px solid #ef8585; color:#ffd4d4; border-radius:8px; }
#contact-us .title, #contact-us .title-left { line-height:1.3; }
#contact-us .ft-link-wrap { min-width:0; overflow-wrap:anywhere; }
.hd-footer { margin-top:80px; padding:54px 0 24px; background:#06141e; border-top:1px solid #20323f; }
.hd-footer-grid { display:grid; grid-template-columns:1.35fr .8fr 1fr; gap:48px; }
.hd-footer h2 { font-size:18px; margin-bottom:20px; }
.hd-footer p { font-size:14px; color:#afbfca; line-height:1.8; margin:18px 0 0; }
.hd-footer-grid nav > a, .hd-footer-grid > div > a:not(.hd-brand) { display:block; font-size:14px; margin-bottom:12px; overflow-wrap:anywhere; }
.hd-footer-bottom { border-top:1px solid #20323f; margin-top:40px; padding-top:22px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.hd-footer-bottom p { margin:0; font-size:12px; }
.hd-footer-bottom nav { display:flex; flex-wrap:wrap; gap:18px; font-size:12px; }
.hd-skip { position:fixed; top:-100px; left:16px; z-index:99999; background:#fff; color:#06141e; padding:12px; }
.hd-skip:focus { top:12px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline:2px solid #37b8ff; outline-offset:4px; }
@media (min-width:1200px) and (max-width:1399px) { .header-content .social-share-wrapper { display:none !important; } }
@media (max-width:767px) {
 .hd-brand-copy strong { font-size:17px; }
 .header-one .header-content .logo .hd-brand img, .hd-brand img { width:44px; height:44px; }
 .hd-brand { gap:9px; }
 .hd-footer-grid { grid-template-columns:1fr; gap:28px; }
 .hd-footer-bottom { align-items:flex-start; flex-direction:column; }
 #pricing { padding-top:54px; }
 .hd-footer { margin-top:54px; }
 .banner-main-demo-inner-content h1.top-intro { max-width:540px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
.hd-paths { text-align:center; padding:0 20px 65px; display:flex; justify-content:center; flex-wrap:wrap; gap:16px; }
.hd-paths p { flex-basis:100%; font-size:14px; margin:0; color:#b6c5cf; }
.hd-paths .hd-sample-cta { background:#123346; border:1px solid #39b6f4; }
.hd-sample-alternative { font-size:14px; margin:24px 0 0; }
.hd-sample-alternative a { color:#51c7ff; }
[hidden] { display:none !important; }
/* Keep hero labels centred: motion adjusts only the small secondary translation. */
#home .absolute-designation .shape { transform:translateX(-50%) translate(var(--hero-x,0px),var(--hero-y,0px)); transition:transform .18s ease-out; min-width:0; max-width:calc(100% - 32px); white-space:nowrap; font-size:clamp(24px,6vw,96px); }
.hd-footer .hd-footer-contact { display:flex !important; align-items:flex-start; gap:12px; }
.hd-footer-contact i { flex:0 0 18px; width:18px; text-align:center; color:#59c5f8; font-size:16px; line-height:1.6; }
.hd-footer-contact span { min-width:0; overflow-wrap:anywhere; }
@media(max-width:575px){.hd-paths .tmp-btn{width:100%;font-size:14px;}.hd-footer-bottom nav a{padding-block:8px;}}
/* Blend the supplied transparent portrait into the existing hero background. */
#home img.main-demo { -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%); }
.hd-contact-form-column { order:0; }
.hd-contact-details-column { order:1; }
@media(min-width:992px){.hd-contact-form-column{order:1;}.hd-contact-details-column{order:0;}}
[data-rolling-count] { font-variant-numeric:tabular-nums; }
.hd-digit-window { display:inline-block; height:1.2em; line-height:1.2; overflow:hidden; vertical-align:bottom; }
.hd-digit-track { display:flex; flex-direction:column; will-change:transform; }
.hd-digit-track > span { display:block; height:1.2em; line-height:1.2; flex-shrink:0; }
/* One shared heading: above the form on mobile, above contact details on desktop. */
#contact-us .hd-contact-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); grid-template-areas:"heading form" "details form"; gap:24px 48px; margin:0; align-items:start !important; }
#contact-us .hd-contact-grid > * { width:auto; padding:0; margin:0; min-width:0; }
.hd-contact-heading { grid-area:heading; }
.hd-contact-form-column { grid-area:form; }
.hd-contact-details-column { grid-area:details; }
#contact-us .hd-contact-heading .section-head { margin-bottom:0; }
@media(max-width:991px){
 #contact-us .hd-contact-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "form" "details"; gap:24px; }
 #contact-us .hd-contact-form-column .section-head { display:none; }
 #contact-us .hd-contact-heading h2 { font-size:clamp(27px,5.5vw,38px); line-height:1.25; margin:0; }
 #contact-us .hd-enquiry-form > p:first-of-type { margin-top:0; margin-bottom:26px; font-size:16px; line-height:1.7; }
 #contact-us .hd-contact-details-column { border-top:1px solid #243943; padding-top:26px; }
}
