:root {
    --navy: #001835;
    --navy-deep: #001129;
    --navy-rich: #062443;
    --gold: #d09c3f;
    --gold-deep: #9a681b;
    --gold-soft: #f0d191;
    --gold-wash: #faf3e3;
    --surface: #f5f3ed;
    --surface-raised: #fffefb;
    --warm: #fcfaf4;
    --text: #0a2038;
    --muted: #5f6872;
    --line: rgba(0, 24, 53, .12);
    --shadow: 0 14px 40px rgba(0, 17, 41, .09);
    --shadow-lg: 0 28px 80px rgba(0, 12, 28, .2);
    --radius: 20px;
    --font-display: "Cormorant Garamond", Georgia, serif;
    --font-body: "Inter", sans-serif;
    /* Compatibility aliases for previously themed components. */
    --teal: var(--gold);
    --teal-soft: var(--gold-soft);
}

html { scroll-behavior: smooth; }
body { color: var(--text); font-family: var(--font-body); background: var(--surface-raised); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, .heading-two, .heading-three, .heading-four, .heading-five { font-family: var(--font-display); }
button, input, textarea, select { font-family: var(--font-body); }
p { color: var(--muted); }
.container { width: min(100% - 40px, 1180px); }
header { z-index: 1000; }
.top-bar { padding: 8px 0; background: var(--navy-deep); }
.top-bar ul { gap: 24px; }
.top-bar ul li a { font-size: 13px; font-weight: 500; opacity: .9; }

.main-header {
    padding: 3px 20px;
    background: rgba(0, 17, 41, .78);
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    box-shadow: none;
    backdrop-filter: blur(16px);
    transition: .25s ease;
}
.main-header.bg_header { padding-block: 8px; background: rgba(0, 17, 41, .97); box-shadow: 0 10px 30px rgba(0, 0, 0, .14); }
.main-header img, .main-header.bg_header img { width: 188px; }
ul.menu { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
ul.menu > li, ul.menu > li:last-child { margin: 0; }
ul.menu > li > a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 13px;
    border: 0 !important;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
}
ul.menu > li.active > a, ul.menu > li > a.active, ul.menu > li > a:hover { background: rgba(255, 255, 255, .1); }
ul.menu > li > a.nav-contact { padding-inline: 20px; background: var(--gold); color: var(--navy-deep); }
ul.menu > li > a.nav-contact:hover { background: #fff; }
.nav-item .dropdown-menu { min-width: 220px; padding: 10px; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-lg); }
.dropdown-item { padding: 10px 12px; border-radius: 9px; font-size: 14px; }
.dropdown-item:hover { background: var(--surface); color: var(--navy); }
.mobile-menu-brand, .mobile-menu-contact, .mobile-menu-backdrop { display: none; }

section.home-banner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 720px;
    padding: 190px 0 88px;
    background-image: linear-gradient(105deg, rgba(0, 15, 34, .97), rgba(14, 31, 49, .93) 52%, rgba(0, 24, 53, .75)), url(../images/banner/home-banner.webp);
    background-position: center;
    background-size: cover;
}
section.home-banner::before {
    position: absolute;
    z-index: -1;
    top: 16%;
    right: -7%;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(240, 209, 145, .25);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(208, 156, 63, .035), 0 0 0 140px rgba(208, 156, 63, .025);
    content: "";
}
.home-banner .banner-text > .row, .hero-row { align-items: center; }
.banner-text h1 {
    max-width: 760px;
    margin-bottom: 22px;
    color: #fff;
    font-size: clamp(38px, 4.3vw, 62px);
    font-weight: 760;
    line-height: 1.05;
    letter-spacing: -.045em;
    text-transform: none;
}
.banner-text p { max-width: 680px; margin-bottom: 20px; color: rgba(255, 255, 255, .76); font-size: 16px; line-height: 1.75; }
.banner-text ul, .homepage-banner .banner-text ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: initial;
    margin: 25px 0 0;
    padding: 0;
    gap: 12px 18px;
    text-align: left;
}
.banner-text ul li, .homepage-banner .banner-text ul li {
    position: relative;
    margin: 0;
    padding-left: 28px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    list-style: none;
}
.banner-text ul li::before {
    position: absolute;
    top: 1px;
    left: 0;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy-deep);
    content: "✓";
    font-size: 12px;
    line-height: 19px;
    text-align: center;
}
.hero-eyebrow, .form-eyebrow {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 8px 13px;
    border: 1px solid rgba(240, 209, 145, .35);
    border-radius: 999px;
    background: rgba(208, 156, 63, .1);
    color: var(--gold-soft);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.buttons-div { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.buttons-div a.btn-01, .buttons-div a.btn-02, .professional-book-text a, .btn_2.tilt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 25px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    transition: .25s ease;
}
.buttons-div a.btn-01 { margin-right: 0; background: var(--gold); color: var(--navy-deep); box-shadow: 0 12px 30px rgba(208, 156, 63, .22); }
.buttons-div a.btn-02 { border-color: rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .08); color: #fff; }
.buttons-div a:hover, .professional-book-text a:hover, .btn_2.tilt:hover { transform: translateY(-2px); box-shadow: 0 15px 32px rgba(0, 12, 28, .18); }
.hero-copy { padding-right: 38px; }
.hero-visual-frame {
    position: relative;
    min-height: 490px;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04));
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(12px);
}
.hero-visual-frame::before { position: absolute; inset: 16px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 22px; content: ""; }
.hero-visual-frame > img { position: absolute; z-index: 1; inset: 50% auto auto 50%; width: 87%; max-width: none; transform: translate(-50%, -50%); filter: drop-shadow(0 28px 30px rgba(0, 0, 0, .28)); }
.hero-visual-label { position: relative; z-index: 2; color: rgba(255, 255, 255, .72); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero-proof { position: absolute; z-index: 2; right: 24px; bottom: 24px; left: 24px; padding: 16px 18px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; background: rgba(9, 19, 32, .84); color: #fff; }
.hero-proof strong, .hero-proof span { display: block; }
.hero-proof strong { margin-bottom: 4px; font-size: 14px; }
.hero-proof span { color: rgba(255, 255, 255, .62); font-size: 11px; }

.banner-form { padding: 32px; border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--radius); background: rgba(9, 19, 32, .84); box-shadow: var(--shadow-lg); backdrop-filter: blur(18px); }
.homepage-banner .banner-form { margin-top: 48px; }
.banner-form h2 { margin-bottom: 20px; font-size: 22px; letter-spacing: -.02em; text-transform: none; }
.banner-form .cta label { color: rgba(255, 255, 255, .72) !important; font-size: 12px !important; font-weight: 600 !important; }
.banner-form .cta input[type="text"], .banner-form .cta input[type="number"], .banner-form .cta input[type="email"], .banner-form .cta textarea {
    min-height: 48px;
    margin: 7px 0 16px !important;
    padding: 11px 13px !important;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .06) !important;
    color: #fff !important;
    font-size: 14px !important;
}
.banner-form .cta input:focus, .banner-form .cta textarea:focus { border-color: var(--gold) !important; box-shadow: 0 0 0 3px rgba(208, 156, 63, .12); }
.banner-form button.btn.submitbtn { min-height: 50px; border: 0; border-radius: 999px; background: var(--gold); color: var(--navy-deep); font-size: 13px; font-weight: 800; }
.banner-form .fldset { margin-top: 10px; }
.banner-form .fldset label, .banner-form .fldset label a, .home-banner .cta .fldset label, .home-banner .cta .fldset label a { color: rgba(255, 255, 255, .66) !important; font-size: 10px !important; font-weight: 400 !important; line-height: 1.55; }

section.professional-book, section.service, section.value, section.faqs, section.contact { padding-block: 96px; }
section.professional-book { position: relative; overflow: hidden; background: var(--navy-deep); }
section.professional-book::after { position: absolute; right: -140px; bottom: -200px; width: 430px; height: 430px; border-radius: 50%; background: rgba(208, 156, 63, .08); content: ""; }
.professional-book .row { align-items: center; }
img.img-work { border-radius: var(--radius); filter: drop-shadow(0 25px 42px rgba(0, 0, 0, .26)); }
.professional-book-text h2, .step-works-head .heading-two, .services-head h2, .value-text h2, .faqs-text h2, .about-cnt h2 {
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.1;
    letter-spacing: -.04em;
    text-transform: none;
}
.professional-book-text p, .services-head p, .value-text p, .faqs-text p { font-size: 16px; line-height: 1.75; }
.professional-book-text ul { gap: 14px 0; }
.professional-book-text ul li { margin: 0; }
.professional-book-text a { background: var(--gold); color: var(--navy-deep); }

section.step-works-wrap { padding: 96px 0 72px; background: var(--surface); }
.step-works-wrap .step-works-head { max-width: 820px; margin-bottom: 44px; }
.step-works-head .heading-two { color: var(--navy); }
.step-works-head p { color: var(--muted); line-height: 1.75; }
.step-works-inner .step-works-box { height: calc(100% - 24px); margin-bottom: 24px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.step-works-box:hover { background: #fff; box-shadow: 0 20px 46px rgba(0, 17, 41, .13); transform: translateY(-4px); }
.works-box-head-content span { color: var(--gold); font-size: 14px; font-weight: 800; }
.works-box-head-content .heading-five { color: var(--navy); font-size: 21px; line-height: 1.25; }
.step-works-box p { min-height: 150px; max-height: 150px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.work-box-head-img img { filter: brightness(0) saturate(100%) invert(65%) sepia(46%) saturate(831%) hue-rotate(359deg) brightness(92%) contrast(89%); }

section.service {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 12%, rgba(208, 156, 63, .09), transparent 26%),
        linear-gradient(180deg, #fff 0%, #f6f4ee 100%);
}
section.service::before {
    position: absolute;
    top: -190px;
    right: -170px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(0, 24, 53, .07);
    border-radius: 50%;
    box-shadow: 0 0 0 55px rgba(0, 24, 53, .018), 0 0 0 110px rgba(0, 24, 53, .012);
    content: "";
    pointer-events: none;
}
.services-head { position: relative; z-index: 1; max-width: 800px; margin: 0 auto 54px; }
.services-head::before {
    display: inline-flex;
    margin-bottom: 15px;
    padding: 7px 12px;
    border: 1px solid rgba(208, 156, 63, .22);
    border-radius: 999px;
    background: rgba(208, 156, 63, .08);
    color: var(--gold-deep);
    content: "Our expertise";
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.services-head h2 { color: var(--navy); font-size: clamp(34px, 4vw, 50px); line-height: 1.08; letter-spacing: -.045em; text-transform: none; }
.services-head p { width: auto; margin-top: 16px; color: var(--muted); line-height: 1.75; }
section.service > .container > .row { position: relative; z-index: 1; counter-reset: service-card; }
section.service .row .col-lg-4 { display: flex; margin-bottom: 26px; counter-increment: service-card; }
.serve-box {
    position: relative;
    isolation: isolate;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
    padding: 32px;
    border: 1px solid rgba(0, 24, 53, .1);
    border-radius: 24px;
    background: rgba(255, 255, 255, .94);
    color: var(--navy);
    box-shadow: 0 12px 34px rgba(0, 17, 41, .07);
    text-align: left;
    transform: translateY(0);
    transition: transform .38s cubic-bezier(.2, .75, .25, 1), box-shadow .38s ease, border-color .3s ease, background-color .3s ease;
}
.serve-box::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(145deg, var(--navy-deep), var(--navy));
    content: "";
    opacity: 0;
    transition: opacity .35s ease;
}
.serve-box::after {
    position: absolute;
    top: 30px;
    right: 30px;
    color: rgba(0, 24, 53, .18);
    content: "0" counter(service-card);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    transition: color .3s ease;
}
.serve-box > img {
    width: 66px;
    height: 66px;
    margin: 0 0 28px;
    padding: 16px;
    border: 1px solid rgba(208, 156, 63, .15);
    border-radius: 18px;
    background: rgba(208, 156, 63, .09);
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(65%) sepia(46%) saturate(831%) hue-rotate(359deg) brightness(92%) contrast(89%);
    transition: transform .35s ease, background-color .3s ease, filter .3s ease, border-color .3s ease;
}
.serve-box h4 { max-width: 88%; min-height: 55px; margin-bottom: 14px; color: inherit; font-size: 22px; font-weight: 750; line-height: 1.24; letter-spacing: -.025em; text-align: left; text-transform: none; }
.serve-box h4 br { display: none; }
.serve-box p { flex: 1; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; text-align: left; transition: color .3s ease; }
.serve-box .buttons-div { align-self: stretch; justify-content: flex-start; margin-top: 28px; }
.serve-box .buttons-div a.btn-02 {
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: 12px 17px;
    border: 1px solid var(--navy);
    border-radius: 12px;
    background: var(--navy);
    color: #fff;
    box-shadow: none;
    font-size: 13px;
    letter-spacing: .01em;
    transition: transform .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.serve-box .buttons-div a.btn-02::after { content: "↗"; font-size: 17px; font-weight: 400; transition: transform .25s ease; }
.serve-box .buttons-div a.btn-02:hover, .serve-box .buttons-div a.btn-02:focus-visible {
    border-color: var(--gold);
    background: var(--gold);
    color: var(--navy-deep);
    box-shadow: 0 10px 24px rgba(208, 156, 63, .2);
    transform: translateY(-2px);
}
.serve-box .buttons-div a.btn-02:hover::after, .serve-box .buttons-div a.btn-02:focus-visible::after { transform: translate(2px, -2px); }
.serve-box:hover, .serve-box:focus-within { border-color: rgba(208, 156, 63, .32); box-shadow: 0 24px 60px rgba(0, 17, 41, .18); color: #fff; transform: translateY(-8px); }
.serve-box:hover::before, .serve-box:focus-within::before { opacity: 1; }
.serve-box:hover::after, .serve-box:focus-within::after { color: rgba(255, 255, 255, .25); }
.serve-box:hover > img, .serve-box:focus-within > img { border-color: rgba(240, 209, 145, .25); background: rgba(208, 156, 63, .15); filter: brightness(0) invert(1); transform: translateY(-3px) rotate(-2deg); }
.serve-box:hover p, .serve-box:focus-within p { color: rgba(255, 255, 255, .72); }
.serve-box:hover .buttons-div a.btn-02, .serve-box:focus-within .buttons-div a.btn-02 { border-color: var(--gold); background: var(--gold); color: var(--navy-deep); }

section.authors-sec { padding: 86px 0; background-image: linear-gradient(90deg, rgba(0, 17, 41, .98), rgba(0, 24, 53, .78)), url(../images/authors-bg.webp); }
.author-sec-content { padding-left: max(20px, calc((100vw - 1180px) / 2)); }
.author-sec-content h3 { width: 90%; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: -.04em; text-transform: none; }
.author-sec-content p { width: 88%; color: rgba(255, 255, 255, .72); line-height: 1.75; }
section.authors-sec .buttons-div a.btn-01 { background: var(--gold); color: var(--navy-deep); }

section.value { background: var(--warm); }
.value-text { max-width: 900px; margin: auto; }
.value-text .buttons-div { justify-content: center; margin: 28px 0 64px; }
.value-text .buttons-div a.btn-01 { background: var(--navy); color: #fff; }
.vision-process { gap: 20px; }
.v-process .text { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.v-process .text h3 { color: var(--navy); }

section.contact { background: var(--navy-deep); }
section.contact .contact-box, section.contact .sec10_left { margin: 0; padding: 36px; border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--radius); background: rgba(255, 255, 255, .055); }
section.contact .about-cnt h4 { font-size: 18px; font-weight: 700; }
section.contact .about-cnt h2 { margin-bottom: 12px; }
section.contact form input, section.contact form textarea { border-radius: 10px; border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .06); color: #fff; }

section.faqs { background: #fff; }
.faqs-text { max-width: 760px; margin: 0 auto 38px; }
.faqs-text h2 { color: var(--navy); }
.accordion-container { max-width: 900px; margin: auto; }
.accordion-container .set { margin-bottom: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(0, 17, 41, .05); overflow: hidden; }
.accordion-container .set > a { display: flex; align-items: center; margin: 0; padding: 18px 20px; background: #fff; color: var(--navy); font-weight: 700; }
.accordion-container .set > a.active { margin: 0 !important; background: var(--navy); color: #fff; }
.accordion-container .set > a i.fa { flex: 0 0 34px; width: 34px; height: 34px; margin-right: 12px; padding: 10px; border-radius: 50%; background: var(--surface); color: var(--navy); }
.accordion-container .content p { padding: 18px 24px 22px; line-height: 1.7; }

footer { padding: 76px 0 60px; background-image: linear-gradient(110deg, rgba(0, 17, 41, .98), rgba(0, 24, 53, .93)), url(../images/footer-bg.webp); }
.footer-grid { row-gap: 40px; }
.ftr-lt img { width: 190px; }
.ftr-lt p { width: 92%; color: rgba(255, 255, 255, .65); font-size: 14px; line-height: 1.7; }
.contact-details a, .other-details a { color: rgba(255, 255, 255, .72); }
.contact-details a:hover, .other-details a:hover { color: var(--gold-soft); }
.other-details h4 { margin-bottom: 22px; color: #fff; font-size: 14px; letter-spacing: .08em; }
.copyright { padding: 18px 0; background: #080f19; }
.copyright-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.copyright p { margin: 0; color: rgba(255, 255, 255, .56); font-size: 12px; }
.legal-links { display: flex; flex-wrap: wrap; gap: 18px; }
.legal-links a { color: rgba(255, 255, 255, .7); font-size: 12px; }

/* Modal design is defined after the page-specific rules so it wins over legacy popup CSS. */

/* Unique About and Contact page presentation */
section.banner-abt-contact {
    position: relative;
    overflow: hidden;
    min-height: 560px;
    padding: 175px 0 70px;
    background-color: var(--navy-deep);
    background-blend-mode: soft-light;
}
section.banner-abt-contact::before { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(0, 15, 34, .95), rgba(0, 24, 53, .58)); content: ""; }
section.banner-abt-contact .container { position: relative; z-index: 1; }
section.banner-abt-contact h1 { color: #fff; font-size: clamp(46px, 6vw, 76px); line-height: 1; letter-spacing: -.05em; text-transform: none; }
section.banner-abt-contact h1 span { color: var(--gold-soft); }
section.banner-abt-contact .banner-img img { filter: drop-shadow(0 28px 38px rgba(0, 0, 0, .3)); }
section.our-mission, section.getto-know, section.form, section.top-notch, section.faqshead { padding-block: 88px; }
.consulation-col, .mission-col { height: 100%; padding: 36px; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.consulation-col { background: var(--navy); color: #fff; }
.consulation-col h2, .mis-2-col h2, section.getto-know h2 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.1; letter-spacing: -.04em; }
.consulation-col p { color: rgba(255, 255, 255, .7); line-height: 1.7; }
.consulation-col .abt-button { display: inline-flex; margin-top: 12px; padding: 13px 24px; border-radius: 999px; background: var(--gold); color: var(--navy-deep); font-weight: 700; }
.mission-col { background: var(--surface); }
section.quote-sec { padding: 50px 0; background: var(--navy); }
section.quote-sec h2 { color: #fff; font-size: 28px; letter-spacing: -.02em; }
section.quote-sec input { min-height: 50px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 10px; background: rgba(255, 255, 255, .08); color: #fff; }
section.quote-sec .bgbtn { padding: 13px 28px; border-radius: 999px; background: var(--gold); color: var(--navy-deep); font-weight: 700; }
section.top-notch { background-image: linear-gradient(100deg, rgba(0, 17, 41, .96), rgba(0, 24, 53, .72)), url(../images/struggling.png); }
section.top-notch h2, section.faqshead h2 { max-width: 850px; color: #fff; font-size: clamp(32px, 4vw, 50px); line-height: 1.12; letter-spacing: -.04em; }
section.faqshead { background: var(--warm); text-align: center; }
section.faqshead h2 { margin-inline: auto; color: var(--navy); }
.contact-button { display: inline-flex; margin-top: 24px; padding: 14px 26px; border-radius: 999px; background: var(--navy); color: #fff; font-weight: 700; }
section.getto-know { text-align: center; background: var(--surface); }
section.getto-know > .container > p { margin-bottom: 40px; }
ul.contact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
ul.contact li { margin: 0; }
ul.contact li a { display: flex; align-items: center; height: 100%; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); color: var(--navy); text-align: left; }
ul.contact li a > i { display: grid; flex: 0 0 46px; height: 46px; margin-right: 14px; place-items: center; border-radius: 50%; background: rgba(208, 156, 63, .12); color: var(--gold); }
ul.contact li p { margin: 3px 0 0; }
section.form { overflow: hidden; background: #fff; }
section.form .row { align-items: center; }
section.form .img-contact { display: block; max-height: 720px; margin: auto; object-fit: contain; }
.form-work2 { margin: 24px 7vw 24px 0; padding: 40px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.form-work2 h2 { font-size: clamp(32px, 4vw, 48px); letter-spacing: -.04em; }
.form-work2 .cta input, .form-work2 .cta textarea { margin: 7px 0 16px !important; padding: 12px 14px !important; border: 1px solid var(--line) !important; border-radius: 10px !important; background: #fff !important; color: var(--text) !important; }
.form-work2 button.submitbtn { padding: 14px 28px; border-radius: 999px; background: var(--navy); color: #fff; font-weight: 700; }

/* These selectors outrank page-level legacy style blocks loaded after the CSS files. */
section.home-banner .banner-form .cta label { color: rgba(255, 255, 255, .72) !important; font-size: 12px !important; }
section.home-banner .banner-form .cta input[type="text"], section.home-banner .banner-form .cta input[type="number"], section.home-banner .banner-form .cta input[type="email"], section.home-banner .banner-form .cta textarea {
    margin: 7px 0 16px !important;
    padding: 11px 13px !important;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .06) !important;
}
section.home-banner .banner-form .cta .fldset label, section.home-banner .banner-form .cta .fldset label a { color: rgba(255, 255, 255, .66) !important; font-size: 10px !important; }

@media (max-width: 1024px) {
    .container { width: min(100% - 32px, 960px); }
    ul.menu > li > a { padding-inline: 9px; font-size: 13px; }
    section.home-banner { min-height: auto; padding-top: 172px; }
    .banner-text h1 { font-size: clamp(36px, 5vw, 50px); }
    .hero-visual-frame { min-height: 420px; }
    .author-sec-content { padding-inline: 32px; }
}

/* Tablet and mobile side navigation */
@media (max-width: 1200px) {
    body.menu-open { overflow: hidden; touch-action: none; }
    .main-header .container { position: relative; }
    .menu-Bar {
        position: absolute;
        z-index: 10002;
        top: 50%;
        right: 16px;
        bottom: auto;
        display: block;
        width: 46px;
        height: 46px;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(240, 209, 145, .38);
        border-radius: 14px;
        background: rgba(255, 255, 255, .08);
        box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
        transform: translateY(-50%);
        transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
    }
    .menu-Bar:hover, .menu-Bar:focus-visible { border-color: var(--gold); background: rgba(208, 156, 63, .15); }
    .menu-Bar:focus-visible { outline: 3px solid rgba(240, 209, 145, .3); outline-offset: 3px; }
    .menu-Bar span, .menu-Bar.open span {
        left: 12px;
        width: 20px;
        height: 2px;
        background: #fff;
        transition: top .25s ease, opacity .2s ease, transform .25s ease, width .25s ease;
    }
    .menu-Bar span:nth-child(1) { top: 14px; }
    .menu-Bar span:nth-child(2) { top: 21px; transform-origin: center; }
    .menu-Bar span:nth-child(3) { top: 28px; }
    .menu-Bar.open { position: fixed; top: 18px; right: 18px; border-color: rgba(0, 24, 53, .14); background: var(--surface-raised); transform: none; }
    .menu-Bar.open span { background: var(--navy); }
    .menu-Bar.open span:nth-child(1) { top: 21px; transform: rotate(45deg); transform-origin: center; }
    .menu-Bar.open span:nth-child(2) { width: 0; opacity: 0; }
    .menu-Bar.open span:nth-child(3) { top: 21px; transform: rotate(-45deg); transform-origin: center; }

    .menuWrap, .menuWrap.open {
        position: fixed;
        z-index: 10000;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        display: flex;
        width: min(90vw, 390px);
        height: 100vh;
        height: 100dvh;
        margin: 0;
        padding: 22px 22px max(24px, env(safe-area-inset-bottom));
        align-items: stretch;
        justify-content: flex-start;
        overflow: hidden;
        border-left: 1px solid rgba(208, 156, 63, .24);
        background: radial-gradient(circle at 90% 0, rgba(208, 156, 63, .16), transparent 28%), linear-gradient(165deg, var(--navy-rich), var(--navy-deep) 72%);
        box-shadow: -24px 0 65px rgba(0, 8, 20, .34);
        opacity: 0;
        visibility: hidden;
        transform: translateX(105%);
        transition: transform .38s cubic-bezier(.22, .72, .25, 1), opacity .25s ease, visibility 0s linear .38s;
    }
    .menuWrap.open { opacity: 1; visibility: visible; transform: translateX(0); transition-delay: 0s; }
    .mobile-menu-brand {
        display: flex;
        min-height: 86px;
        padding: 0 58px 18px 0;
        align-items: center;
        gap: 13px;
        border-bottom: 1px solid rgba(255, 255, 255, .11);
    }
    .mobile-menu-brand .mobile-menu-logo { display: inline-flex; padding: 6px 8px; border-radius: 10px; background: var(--surface-raised); }
    .mobile-menu-brand .mobile-menu-logo img { display: block; width: 102px; height: auto; filter: none !important; }
    .mobile-menu-brand > span { color: var(--gold-soft); font-size: 10px; font-weight: 800; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }

    .menuWrap ul.menu {
        display: flex;
        width: 100%;
        margin: 20px 0;
        padding: 0 3px 8px 0;
        flex: 1;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 7px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-color: rgba(208, 156, 63, .45) transparent;
        scrollbar-width: thin;
    }
    .menuWrap ul.menu > li, .menuWrap ul.menu > li:last-child { display: block; width: 100%; margin: 0; padding: 0; }
    .menuWrap ul.menu > li > a {
        display: flex;
        width: 100%;
        min-height: 50px;
        margin: 0;
        padding: 12px 14px;
        align-items: center;
        justify-content: flex-start;
        border: 1px solid transparent !important;
        border-radius: 13px;
        color: rgba(255, 255, 255, .84);
        font-size: 15px;
        font-weight: 650;
        line-height: 1.2;
        text-align: left;
    }
    .menuWrap ul.menu > li.active > a, .menuWrap ul.menu > li > a:hover, .menuWrap ul.menu > li > a:focus-visible {
        border-color: rgba(208, 156, 63, .22) !important;
        background: rgba(208, 156, 63, .1);
        color: var(--gold-soft);
    }
    .menuWrap ul.menu > li > a:focus-visible, .menuWrap .dropdown-item:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
    .menuWrap ul.menu > li > a.nav-contact {
        justify-content: center;
        margin-top: 8px;
        border-color: var(--gold) !important;
        background: var(--gold);
        color: var(--navy-deep);
        box-shadow: 0 12px 26px rgba(208, 156, 63, .2);
    }
    .menuWrap ul.menu > li > a.nav-contact:hover, .menuWrap ul.menu > li > a.nav-contact:focus-visible { background: var(--gold-soft); color: var(--navy-deep); }
    .menuWrap .dropdown-toggle { justify-content: space-between; }
    .menuWrap .dropdown-toggle::after { margin-left: auto; border: 0; content: "+"; color: var(--gold-soft); font-size: 21px; font-weight: 400; line-height: 1; transition: transform .25s ease; }
    .menuWrap .nav-item.submenu-open .dropdown-toggle::after { transform: rotate(45deg); }
    .menuWrap .nav-item .dropdown-menu, .menuWrap .nav-item:hover .dropdown-menu {
        position: static;
        display: block;
        width: 100%;
        min-width: 0;
        max-height: 0;
        margin: 0;
        padding: 0 8px;
        overflow: hidden;
        border-width: 0;
        background: rgba(0, 8, 20, .2);
        box-shadow: none;
        opacity: 0;
        pointer-events: none;
        transform: none;
        transition: max-height .35s ease, opacity .24s ease, padding .3s ease, margin .3s ease;
    }
    .menuWrap .nav-item.submenu-open .dropdown-menu {
        max-height: 430px;
        margin: 6px 0 3px;
        padding: 8px;
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: 13px;
        opacity: 1;
        pointer-events: auto;
    }
    .menuWrap .dropdown-item { display: flex; min-height: 40px; margin: 0; padding: 9px 11px; align-items: center; border-radius: 9px; color: rgba(255, 255, 255, .7); font-size: 12px; }
    .menuWrap .dropdown-item:hover, .menuWrap .dropdown-item:focus-visible { background: rgba(208, 156, 63, .1); color: var(--gold-soft); }

    .mobile-menu-contact { display: block; padding: 16px; border: 1px solid rgba(208, 156, 63, .18); border-radius: 15px; background: rgba(255, 255, 255, .055); }
    .mobile-menu-contact > span { display: block; margin-bottom: 7px; color: rgba(255, 255, 255, .58); font-size: 10px; line-height: 1.5; }
    .mobile-menu-contact > a { display: flex; align-items: center; justify-content: space-between; color: var(--gold-soft); font-size: 12px; font-weight: 750; }
    .mobile-menu-backdrop {
        position: fixed;
        z-index: 9999;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(0, 8, 20, .62);
        opacity: 0;
        visibility: hidden;
        cursor: pointer;
        -webkit-backdrop-filter: blur(5px);
        backdrop-filter: blur(5px);
        transition: opacity .3s ease, visibility 0s linear .3s;
    }
    .mobile-menu-backdrop.open { opacity: 1; visibility: visible; transition-delay: 0s; }
}

@media (max-width: 767px) {
    .container { width: min(100% - 28px, 720px); }
    .top-bar { display: none; }
    .main-header { padding: 10px 0; }
    .main-header .col-md-3 { width: auto; }
    .main-header img, .main-header.bg_header img { width: 160px; }
    .menu-Bar { right: 14px; }
    .menuWrap, .menuWrap.open { width: min(92vw, 380px); padding-inline: 18px; }
    section.home-banner { padding: 132px 0 64px; }
    .home-banner .banner-text > .row { row-gap: 38px; }
    .hero-copy { padding-right: 15px; }
    .banner-text h1 { font-size: clamp(34px, 9vw, 46px); }
    .banner-text p { font-size: 15px; line-height: 1.7; }
    .hero-visual-frame { min-height: 390px; }
    .homepage-banner .banner-form, .banner-form { margin-top: 0; }
    .homepage-banner .banner-form { margin-top: 12px; }
    section.professional-book, section.step-works-wrap, section.service, section.value, section.faqs, section.contact { padding-block: 68px; }
    img.img-work { margin-bottom: 38px; }
    .step-works-box p { min-height: auto; max-height: none; overflow: visible; }
    section.authors-sec { padding: 68px 0 0; }
    .author-sec-content { padding-inline: 28px; }
    section.authors-sec img { width: min(82%, 460px); margin: 20px 0 0; }
    section.contact .contact-box, section.contact .sec10_left { margin: 0 0 22px; padding: 28px; }
    .copyright-inner { flex-direction: column; align-items: flex-start; }
    section.banner-abt-contact { min-height: auto; padding: 130px 0 56px; }
    section.banner-abt-contact .banner-img { margin-top: 30px; }
    section.our-mission, section.getto-know, section.form, section.top-notch, section.faqshead { padding-block: 64px; }
    .consulation-col { margin-bottom: 24px; }
    ul.contact { grid-template-columns: 1fr; }
    .form-work2 { margin: 0 16px 32px; padding: 28px; }
}

@media (max-width: 480px) {
    .container { width: calc(100% - 24px); }
    .banner-text ul, .homepage-banner .banner-text ul { grid-template-columns: 1fr; }
    .buttons-div { flex-direction: column; }
    .buttons-div a.btn-01, .buttons-div a.btn-02 { width: 100%; }
    .hero-visual-frame { min-height: 325px; padding: 22px; }
    .hero-visual-frame > img { width: 120%; }
    .hero-proof { right: 16px; bottom: 16px; left: 16px; }
    .banner-form { padding: 24px 20px; }
    .homepage-banner .banner-form .row > div { width: 100%; }
    .professional-book-text ul li { width: 100% !important; }
    .site-modal { padding: 12px; }
    .site-modal-dialog { max-height: calc(100vh - 24px); padding: 28px 20px; }
    .site-modal .popup-work h2 { font-size: 27px; }
    .legal-links { gap: 10px 16px; }
}

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

/* About page */
.about-page { overflow: hidden; background: #fff; }
.about-page .about-kicker {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 7px 12px;
    border: 1px solid rgba(240, 209, 145, .28);
    border-radius: 999px;
    background: rgba(208, 156, 63, .1);
    color: var(--gold-soft);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.about-page .about-kicker-dark { border-color: rgba(208, 156, 63, .18); background: rgba(208, 156, 63, .08); color: var(--gold-deep); }
.about-page .about-hero {
    min-height: 760px;
    padding: 185px 0 88px;
    background-image: url(../images/abt-bg.png);
    background-position: center;
    background-size: cover;
}
.about-page .about-hero::before { background: linear-gradient(105deg, rgba(0, 15, 34, .97), rgba(14, 31, 49, .9) 54%, rgba(0, 24, 53, .68)); }
.about-hero-row { row-gap: 42px; }
.about-hero-copy { max-width: 620px; padding-right: 36px; }
.about-page .about-hero h1 { margin: 0 0 18px; font-size: clamp(52px, 6.5vw, 82px); }
.about-page .about-hero h2 { margin-bottom: 20px; color: #fff; font-size: clamp(25px, 2.8vw, 36px); font-weight: 650; line-height: 1.18; letter-spacing: -.035em; }
.about-page .about-hero p { margin: 0; color: rgba(255, 255, 255, .7); font-size: 15px; line-height: 1.78; }
.about-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 30px; }
.about-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-width: 148px;
    min-height: 50px;
    padding: 13px 20px;
    border-radius: 999px;
    background: var(--gold);
    color: var(--navy-deep);
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(208, 156, 63, .2);
    transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.about-primary-action:hover { background: #fff; color: var(--navy-deep); box-shadow: 0 16px 34px rgba(0, 0, 0, .18); transform: translateY(-2px); }
.about-text-action { color: rgba(255, 255, 255, .82); font-size: 14px; font-weight: 700; }
.about-text-action span { display: inline-block; margin-left: 5px; transition: transform .25s ease; }
.about-text-action:hover { color: var(--gold-soft); }
.about-text-action:hover span { transform: translateX(4px); }
.about-hero-visual {
    position: relative;
    min-height: 450px;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .035));
    box-shadow: 0 28px 70px rgba(0, 0, 0, .25);
    backdrop-filter: blur(12px);
}
.about-hero-visual::after { position: absolute; inset: 15px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 22px; content: ""; }
.about-hero-visual > img {position: absolute;z-index: 1;left: 50%;bottom: 76px;width: 90%;max-width: none;transform: translateX(-50%);filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .3));}
.about-visual-note { position: relative; z-index: 2; color: rgba(255, 255, 255, .64); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.about-visual-card { position: absolute; z-index: 3; right: 24px; bottom: 24px; left: 24px; padding: 17px 19px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 15px; background: rgba(0, 15, 34, .86); color: #fff; backdrop-filter: blur(12px); }
.about-visual-card strong, .about-visual-card span { display: block; }
.about-visual-card strong { margin-bottom: 4px; font-size: 14px; }
.about-visual-card span { color: rgba(255, 255, 255, .58); font-size: 11px; }

.about-page .about-story { position: relative; padding: 110px 0; background: linear-gradient(180deg, #fff, #f6f8f9); }
.about-page .about-story::before { position: absolute; top: 12%; right: -120px; width: 330px; height: 330px; border: 1px solid rgba(0, 24, 53, .06); border-radius: 50%; content: ""; }
.about-story-visual { position: relative; width: min(100%, 520px); min-height: 520px; padding: 45px; border: 1px solid var(--line); border-radius: 30px; background: #fff; box-shadow: var(--shadow-lg); }
.about-story-visual::before { position: absolute; right: 28px; bottom: 28px; width: 150px; height: 150px; border-radius: 50%; background: rgba(208, 156, 63, .1); content: ""; }
.about-story-visual img { position: relative; z-index: 1; display: block; width: 100%; height: 430px; object-fit: contain; }
.about-image-index { position: absolute; z-index: 2; top: 25px; left: 27px; color: rgba(0, 24, 53, .2); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.about-story-copy { max-width: 560px; padding-left: 54px; }
.about-story-copy h2 { margin-bottom: 22px; color: var(--navy); font-size: clamp(38px, 5vw, 58px); line-height: 1.05; letter-spacing: -.05em; }
.about-story-copy p { color: var(--muted); font-size: 16px; line-height: 1.82; }
.about-capabilities { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.about-capabilities span { padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--navy); font-size: 12px; font-weight: 750; box-shadow: 0 8px 18px rgba(0, 17, 41, .04); }

.about-page .about-quote { padding: 90px 0; background: var(--warm); }
.about-quote-shell { padding: 48px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 28px; background: linear-gradient(135deg, var(--navy-deep), var(--navy)); box-shadow: var(--shadow-lg); }
.about-quote-heading { max-width: 650px; margin-bottom: 34px; }
.about-page .about-quote h2 { margin: 0 0 10px; color: #fff; font-size: clamp(34px, 4vw, 48px); line-height: 1.08; letter-spacing: -.045em; }
.about-quote-heading p { margin: 0; color: rgba(255, 255, 255, .64); }
.about-page .about-quote .form-group { width: 100%; margin: 0 0 18px; }
.about-page .about-quote .form-group label { display: block; margin-bottom: 8px; color: rgba(255, 255, 255, .7); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.about-page .about-quote form input:not([type="checkbox"]) { width: 100%; min-height: 52px; margin: 0; padding: 13px 15px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 11px; background: rgba(255, 255, 255, .07); color: #fff; }
.about-page .about-quote form input::placeholder { color: rgba(255, 255, 255, .45); }
.about-page .about-quote form input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(208, 156, 63, .13); }
.about-consent { margin: 2px 0 22px; }
.about-page .about-consent label, .about-page .about-consent label a { color: rgba(255, 255, 255, .58) !important; font-size: 10px; line-height: 1.55; }
.about-page .about-quote .bgbtn { display: inline-flex; align-items: center; justify-content: space-between; min-width: 190px; min-height: 50px; padding: 13px 19px; border: 0; border-radius: 999px; background: var(--gold); color: var(--navy-deep); font-size: 13px; font-weight: 800; transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.about-page .about-quote .bgbtn:hover { background: #fff; box-shadow: 0 12px 26px rgba(0, 0, 0, .2); transform: translateY(-2px); }

.about-page .about-editorial-cta { position: relative; min-height: 520px; display: flex; align-items: center; padding: 100px 0; background-image: linear-gradient(90deg, rgba(0, 15, 34, .97), rgba(0, 17, 41, .72)), url(../images/struggling.png); background-position: center; background-size: cover; text-align: left; }
.about-editorial-inner { max-width: 850px; }
.about-page .about-editorial-cta h2 { margin: 0; color: #fff; font-size: clamp(40px, 5.5vw, 68px); line-height: 1.04; letter-spacing: -.052em; }
.about-page .about-editorial-cta .buttons-div { justify-content: flex-start; }

.about-page .about-office { padding: 100px 0; background: #f6f4ee; }
.about-office-card { position: relative; overflow: hidden; max-width: 980px; margin: auto; padding: 66px 72px; border: 1px solid var(--line); border-radius: 30px; background: #fff; box-shadow: var(--shadow); text-align: center; }
.about-office-card::before, .about-office-card::after { position: absolute; border-radius: 50%; content: ""; }
.about-office-card::before { top: -110px; left: -90px; width: 260px; height: 260px; background: rgba(208, 156, 63, .08); }
.about-office-card::after { right: -80px; bottom: -120px; width: 240px; height: 240px; border: 1px solid rgba(0, 24, 53, .07); }
.about-page .about-office h2 { position: relative; max-width: none; margin: 0 0 13px; color: var(--navy); font-size: clamp(38px, 5vw, 58px); line-height: 1.05; letter-spacing: -.05em; }
.about-office-card p { position: relative; margin: 0 auto; color: var(--muted); font-size: 17px; }
.about-page .about-office .contact-button { position: relative; align-items: center; gap: 12px; margin-top: 28px; padding: 14px 22px; background: var(--navy); transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.about-page .about-office .contact-button:hover { background: var(--gold); color: var(--navy-deep); box-shadow: 0 12px 26px rgba(208, 156, 63, .18); transform: translateY(-2px); }

@media (max-width: 1024px) {
    .serve-box { padding: 28px; }
    .serve-box h4 { font-size: 20px; }
    .about-page .about-hero { min-height: 700px; }
    .about-hero-copy { padding-right: 10px; }
    .about-hero-visual { min-height: 430px; }
    .about-story-copy { padding-left: 25px; }
    .about-story-visual { min-height: 460px; }
    .about-story-visual img { height: 370px; }
}

@media (max-width: 767px) {
    .services-head { margin-bottom: 38px; }
    .serve-box { padding: 28px 25px; }
    .serve-box h4 { min-height: 0; }
    .about-page .about-hero { min-height: auto; padding: 135px 0 68px; }
    .about-page .about-hero h1 { font-size: clamp(48px, 14vw, 68px); }
    .about-hero-visual { min-height: 400px; }
    .about-page .about-story { padding: 72px 0; }
    .about-story-visual { min-height: 420px; margin: 0 auto 42px; }
    .about-story-visual img { height: 330px; }
    .about-story-copy { padding-left: 0; }
    .about-page .about-quote { padding: 65px 0; }
    .about-quote-shell { padding: 32px 26px; }
    .about-page .about-editorial-cta { min-height: 460px; padding: 75px 0; }
    .about-office-card { padding: 48px 28px; }
}

@media (max-width: 480px) {
    section.service .row .col-lg-4 { margin-bottom: 18px; }
    .serve-box { border-radius: 20px; }
    .serve-box > img { width: 60px; height: 60px; margin-bottom: 23px; }
    .serve-box:hover, .serve-box:focus-within { transform: translateY(-4px); }
    .about-hero-actions { align-items: flex-start; flex-direction: column; }
    .about-primary-action { width: 100%; }
    .about-hero-visual { min-height: 320px; padding: 24px; border-radius: 22px; }
    .about-hero-visual > img { bottom: 58px; width: 124%; }
    .about-visual-card { right: 15px; bottom: 15px; left: 15px; }
    .about-story-visual { min-height: 350px; padding: 25px; border-radius: 22px; }
    .about-story-visual img { height: 290px; }
    .about-capabilities { gap: 7px; }
    .about-quote-shell { padding: 28px 20px; border-radius: 22px; }
    .about-page .about-quote .bgbtn { width: 100%; }
    .about-page .about-editorial-cta .buttons-div { align-items: stretch; }
    .about-office-card { padding: 42px 21px; border-radius: 22px; }
}

@media (hover: none) {
    .serve-box:hover { transform: none; }
}

/* Premium consultation modal */
.site-modal {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 28px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease, visibility 0s linear .34s;
}
.site-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
}
.site-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 12, 21, .68);
    opacity: 0;
    backdrop-filter: blur(14px) saturate(115%);
    -webkit-backdrop-filter: blur(14px) saturate(115%);
    transition: opacity .32s ease;
}
.site-modal.is-open .site-modal-backdrop { opacity: 1; }
.site-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 920px);
    max-height: calc(100vh - 56px);
    overflow: auto;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 28px;
    background: #f8f7f2;
    box-shadow: 0 36px 100px rgba(2, 9, 18, .38), 0 10px 35px rgba(2, 9, 18, .2);
    opacity: 0;
    transform: translateY(24px) scale(.975);
    transform-origin: center;
    transition: opacity .28s ease, transform .38s cubic-bezier(.2, .8, .2, 1);
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 24, 53, .28) transparent;
}
.site-modal-dialog::-webkit-scrollbar { width: 6px; }
.site-modal-dialog::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(0, 24, 53, .28); }
.site-modal.is-open .site-modal-dialog { opacity: 1; transform: translateY(0) scale(1); }
.site-modal-dialog:focus { outline: none; }
.site-modal-dialog:focus-visible { outline: 3px solid rgba(208, 156, 63, .42); outline-offset: 4px; }
.site-modal-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.25fr);
    /* min-height: 610px; */
}
.site-modal-decoration {
    position: absolute;
    z-index: 2;
    top: -120px;
    left: -110px;
    width: 310px;
    height: 310px;
    border: 1px solid rgba(240, 209, 145, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 45px rgba(208, 156, 63, .025), 0 0 0 90px rgba(208, 156, 63, .018);
    pointer-events: none;
}
.site-modal-intro {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: 62px 42px;
    background:
        radial-gradient(circle at 20% 15%, rgba(208, 156, 63, .2), transparent 34%),
        linear-gradient(145deg, var(--navy-deep), var(--navy));
}
.site-modal-intro::after {
    position: absolute;
    right: -95px;
    bottom: -105px;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: "";
}
.site-modal .form-eyebrow {
    align-self: flex-start;
    margin-bottom: 24px;
    border-color: rgba(240, 209, 145, .26);
    background: rgba(208, 156, 63, .12);
}
.site-modal .popup-work h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 18px;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 750;
    line-height: 1.03;
    letter-spacing: -.05em;
    text-align: left;
    text-transform: none;
}
.site-modal .popup-work p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: rgba(255, 255, 255, .67);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    text-align: left;
}
.site-modal-assurance { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin-top: 50px; }
.site-modal-assurance > span { width: 28px; height: 1px; background: var(--gold); }
.site-modal-assurance small { color: rgba(255, 255, 255, .48); font-size: 10px; line-height: 1.4; }
.site-modal-form { padding: 48px 44px 38px; background: #f8f7f2; }
.site-modal-form .cta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.site-modal-form .cta > label {
    display: block;
    width: 100%;
    margin: 0;
    color: var(--navy) !important;
    font-family: "Inter", sans-serif;
    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1.4;
    letter-spacing: .015em;
}
.site-modal-form .cta > label:nth-of-type(3),
.site-modal-form .cta > label:nth-of-type(4),
.site-modal-form .cta > .fldset,
.site-modal-form .cta > .text-center { grid-column: 1 / -1; }
.site-modal-form .cta input[type="text"]:not([hidden]),
.site-modal-form .cta input[type="email"],
.site-modal-form .cta input[type="number"],
.site-modal-form .cta textarea {
    display: block;
    width: 100% !important;
    min-height: 48px;
    margin: 7px 0 0 !important;
    padding: 11px 13px !important;
    border: 1px solid rgba(0, 24, 53, .16) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--text) !important;
    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500;
    line-height: 1.45;
    box-shadow: 0 4px 14px rgba(0, 17, 41, .035);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.site-modal-form .cta textarea { min-height: 82px; resize: vertical; }
.site-modal-form .cta input::placeholder,
.site-modal-form .cta textarea::placeholder { color: #929aa4 !important; opacity: 1; }
.site-modal-form .cta input:focus,
.site-modal-form .cta textarea:focus {
    border-color: var(--gold) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(208, 156, 63, .12), 0 7px 18px rgba(0, 17, 41, .06);
}
.site-modal-form .cta input:invalid:not(:placeholder-shown),
.site-modal-form .cta textarea:invalid:not(:placeholder-shown) { border-color: #d95b63 !important; box-shadow: 0 0 0 3px rgba(217, 91, 99, .09); }
.site-modal-form .cta input:valid:not(:placeholder-shown),
.site-modal-form .cta textarea:valid:not(:placeholder-shown) { border-color: rgba(34, 139, 94, .5) !important; }
.site-modal-form .fldset { align-items: flex-start; margin: 0; padding: 2px 1px 0; }
.site-modal-form .fldset input[type="checkbox"] {
    flex: 0 0 16px;
    width: 16px !important;
    height: 16px;
    margin: 2px 8px 0 0 !important;
    accent-color: var(--gold);
    cursor: pointer;
}
.site-modal-form .fldset label,
.site-modal-form .fldset label a {
    margin: 0;
    color: #68727f !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    line-height: 1.55;
}
.site-modal-form .fldset label a { color: var(--navy) !important; text-decoration: underline; text-underline-offset: 2px; }
.site-modal-form button.btn.submitbtn {
    position: relative;
    width: 100%;
    min-height: 50px;
    margin: 0 !important;
    padding: 13px 22px;
    border: 1px solid var(--navy);
    border-radius: 12px;
    background: var(--navy);
    color: #fff;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .01em;
    box-shadow: 0 10px 24px rgba(0, 24, 53, .15);
    cursor: pointer;
    transition: transform .22s ease, background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease;
}
.site-modal-form button.btn.submitbtn:hover,
.site-modal-form button.btn.submitbtn:focus-visible { border-color: var(--gold); background: var(--gold); color: var(--navy-deep); box-shadow: 0 12px 28px rgba(208, 156, 63, .22); transform: translateY(-2px); }
.site-modal-form button.btn.submitbtn:active { box-shadow: 0 5px 14px rgba(0, 17, 41, .14); transform: translateY(0) scale(.99); }
.site-modal-form button.btn.submitbtn:disabled { border-color: #b8bec5; background: #c7ccd1; color: #717983; box-shadow: none; cursor: not-allowed; opacity: .72; transform: none; }
.site-modal-close {
    position: absolute;
    z-index: 5;
    top: 16px;
    right: 16px;
    display: grid;
    width: 40px;
    height: 40px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(0, 24, 53, .11);
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    color: var(--navy);
    font-size: 25px;
    line-height: 1;
    box-shadow: 0 8px 22px rgba(0, 17, 41, .1);
    cursor: pointer;
    transition: transform .22s ease, background-color .22s ease, color .22s ease, box-shadow .22s ease;
}
.site-modal-close span { display: block; margin-top: -2px; }
.site-modal-close:hover, .site-modal-close:focus-visible { background: var(--navy); color: #fff; box-shadow: 0 10px 25px rgba(0, 17, 41, .2); transform: rotate(5deg) scale(1.06); }
.site-modal-close:active { transform: scale(.95); }
.site-modal-close:focus-visible { outline: 3px solid rgba(208, 156, 63, .28); outline-offset: 2px; }
body.modal-open { overflow: hidden; }

@media (max-width: 900px) {
    .site-modal { padding: 20px; }
    .site-modal-dialog { max-height: calc(100vh - 40px); }
    .site-modal-layout { grid-template-columns: minmax(235px, .72fr) minmax(390px, 1.28fr); }
    .site-modal-intro { padding: 52px 32px; }
    .site-modal-form { padding: 44px 34px 34px; }
    .site-modal .popup-work h2 { font-size: 37px; }
}

@media (max-width: 700px) {
    .site-modal { align-items: start; padding: 14px; overflow-y: auto; }
    .site-modal-dialog { width: 100%; max-height: none; margin: auto 0; border-radius: 23px; }
    .site-modal-layout { grid-template-columns: 1fr; min-height: 0; }
    .site-modal-intro { min-height: 240px; padding: 42px 30px 34px; }
    .site-modal .form-eyebrow { margin-bottom: 16px; }
    .site-modal .popup-work h2 { max-width: 520px; margin-bottom: 12px; font-size: clamp(31px, 8vw, 40px); }
    .site-modal-assurance { margin-top: 25px; }
    .site-modal-form { padding: 30px; }
    .site-modal-close { top: 12px; right: 12px; width: 38px; height: 38px; }
}

@media (max-width: 480px) {
    .site-modal { padding: 8px; }
    .site-modal-dialog { border-radius: 19px; }
    .site-modal-intro { min-height: 218px; padding: 36px 22px 28px; }
    .site-modal-assurance { display: none; }
    .site-modal-form { padding: 24px 19px 22px; }
    .site-modal-form .cta { grid-template-columns: 1fr; gap: 13px; }
    .site-modal-form .cta > label:nth-of-type(3),
    .site-modal-form .cta > label:nth-of-type(4),
    .site-modal-form .cta > .fldset,
    .site-modal-form .cta > .text-center { grid-column: auto; }
    .site-modal-form .cta textarea { min-height: 74px; }
}

@media (prefers-reduced-motion: reduce) {
    .site-modal,
    .site-modal-backdrop,
    .site-modal-dialog { transition-duration: .01ms !important; }
}

/* Reusable legal and information page system */
.legal-page { overflow: clip; background: #f5f3ed; }
.legal-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 175px 0 92px;
    background:
        radial-gradient(circle at 78% 24%, rgba(208, 156, 63, .19), transparent 26%),
        linear-gradient(115deg, #091321 0%, var(--navy-deep) 48%, var(--navy) 100%);
}
.legal-hero::before {
    position: absolute;
    z-index: -1;
    top: -240px;
    right: -130px;
    width: 560px;
    height: 560px;
    border: 1px solid rgba(240, 209, 145, .15);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(208, 156, 63, .025), 0 0 0 140px rgba(208, 156, 63, .018);
    content: "";
}
.legal-breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 46px; color: rgba(255, 255, 255, .43); font-size: 11px; font-weight: 650; }
.legal-breadcrumb a { color: rgba(255, 255, 255, .7); transition: color .2s ease; }
.legal-breadcrumb a:hover { color: var(--gold-soft); }
.legal-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 220px; align-items: center; gap: 70px; }
.legal-hero-copy { max-width: 790px; animation: legalReveal .65s ease both; }
.legal-kicker {
    display: inline-flex;
    margin-bottom: 19px;
    padding: 7px 12px;
    border: 1px solid rgba(240, 209, 145, .28);
    border-radius: 999px;
    background: rgba(208, 156, 63, .1);
    color: var(--gold-soft);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.legal-hero h1 { margin: 0 0 22px; color: #fff; font-size: clamp(48px, 6.5vw, 78px); font-weight: 760; line-height: .98; letter-spacing: -.055em; }
.legal-hero-copy > p { max-width: 760px; margin: 0; color: rgba(255, 255, 255, .69); font-size: 16px; line-height: 1.8; }
.legal-trust-note { display: flex; align-items: center; gap: 10px; margin-top: 27px; color: rgba(255, 255, 255, .48); font-size: 11px; }
.legal-trust-note i { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: rgba(208, 156, 63, .12); color: var(--gold-soft); }
.legal-hero-mark { position: relative; display: grid; min-height: 220px; padding: 28px; place-items: center; border: 1px solid rgba(255, 255, 255, .12); border-radius: 28px; background: rgba(255, 255, 255, .055); box-shadow: 0 24px 60px rgba(0, 0, 0, .2); backdrop-filter: blur(14px); animation: legalReveal .65s .1s ease both; }
.legal-hero-mark::before { position: absolute; inset: 12px; border: 1px solid rgba(255, 255, 255, .07); border-radius: 20px; content: ""; }
.legal-hero-icon { position: relative; display: grid; width: 76px; height: 76px; place-items: center; border-radius: 22px; background: rgba(208, 156, 63, .13); color: var(--gold-soft); font-size: 31px; }
.legal-hero-mark > span { position: relative; align-self: end; color: rgba(255, 255, 255, .5); font-size: 9px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }

.legal-main { padding: 86px 0 110px; }
.legal-layout { display: grid; grid-template-columns: 245px minmax(0, 820px); justify-content: center; align-items: start; gap: 48px; }
.legal-sidebar { position: sticky; top: 112px; }
.legal-toc-toggle { display: none; }
.legal-toc-panel { overflow: hidden; padding: 24px 20px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .9); box-shadow: 0 12px 35px rgba(0, 17, 41, .06); backdrop-filter: blur(12px); }
.legal-sidebar-label { display: block; margin: 0 10px 14px; color: #8a949f; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.legal-toc { display: flex; flex-direction: column; gap: 3px; }
.legal-toc a { position: relative; display: block; padding: 8px 10px 8px 17px; border-radius: 8px; color: #65707d; font-size: 11px; font-weight: 650; line-height: 1.4; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.legal-toc a::before { position: absolute; top: 50%; left: 5px; width: 3px; height: 3px; border-radius: 50%; background: #a7afb8; content: ""; transform: translateY(-50%); transition: height .2s ease, background-color .2s ease; }
.legal-toc a:hover { background: rgba(208, 156, 63, .06); color: var(--navy); transform: translateX(2px); }
.legal-toc a.is-active { background: rgba(208, 156, 63, .09); color: var(--navy); }
.legal-toc a.is-active::before { height: 15px; border-radius: 999px; background: var(--gold); }
.legal-help-card { display: flex; flex-direction: column; align-items: flex-start; margin-top: 16px; padding: 22px; border-radius: 18px; background: linear-gradient(145deg, var(--navy-deep), var(--navy)); box-shadow: 0 15px 38px rgba(0, 17, 41, .13); }
.legal-help-card > i { display: grid; width: 37px; height: 37px; margin-bottom: 16px; place-items: center; border-radius: 11px; background: rgba(208, 156, 63, .14); color: var(--gold-soft); }
.legal-help-card strong { margin-bottom: 6px; color: #fff; font-size: 13px; }
.legal-help-card > span { color: rgba(255, 255, 255, .53); font-size: 10px; line-height: 1.5; }
.legal-help-card a { margin-top: 15px; color: var(--gold-soft); font-size: 10px; font-weight: 750; }
.legal-help-card a span { display: inline-block; margin-left: 3px; transition: transform .2s ease; }
.legal-help-card a:hover span { transform: translateX(3px); }

.legal-article { min-width: 0; animation: legalReveal .65s .08s ease both; }
.legal-document { padding: 56px 60px; border: 1px solid rgba(0, 24, 53, .09); border-radius: 28px; background: #fff; box-shadow: 0 22px 65px rgba(0, 17, 41, .08); }
.legal-section { position: relative; padding: 0 0 46px; scroll-margin-top: 130px; }
.legal-section + .legal-section { padding-top: 46px; border-top: 1px solid var(--line); }
.legal-section:last-child { padding-bottom: 0; }
.legal-section-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 23px; }
.legal-section-heading > span { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(208, 156, 63, .18); border-radius: 10px; background: rgba(208, 156, 63, .075); color: var(--gold-deep); font-size: 9px; font-weight: 850; letter-spacing: .04em; }
.legal-section h2 { margin: 0; color: var(--navy); font-size: clamp(26px, 3vw, 34px); font-weight: 740; line-height: 1.15; letter-spacing: -.035em; }
.legal-section h3 { margin: 28px 0 9px; color: var(--navy); font-size: 17px; font-weight: 730; line-height: 1.3; letter-spacing: -.015em; }
.legal-section p, .legal-section li, .legal-section dd { color: #5d6875; font-size: 15px; line-height: 1.86; }
.legal-section p { margin: 0 0 17px; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section a { color: var(--gold-deep); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(154, 104, 27, .28); text-underline-offset: 3px; transition: color .2s ease, text-decoration-color .2s ease; }
.legal-section a:hover { color: var(--navy); text-decoration-color: var(--navy); }
.legal-callout, .legal-warning { margin: 0 -20px; padding: 30px 20px 32px; border: 1px solid rgba(208, 156, 63, .13) !important; border-radius: 18px; background: linear-gradient(135deg, rgba(208, 156, 63, .065), rgba(208, 156, 63, .025)); }
.legal-section + .legal-callout, .legal-section + .legal-warning { margin-top: 46px; }
.legal-warning { border-color: rgba(204, 139, 42, .17) !important; background: linear-gradient(135deg, rgba(255, 184, 77, .1), rgba(255, 184, 77, .035)); }

.legal-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.legal-info-card { padding: 24px; border: 1px solid var(--line); border-radius: 17px; background: #f8f7f2; }
.legal-info-card > i { display: grid; width: 42px; height: 42px; margin-bottom: 18px; place-items: center; border-radius: 12px; background: rgba(208, 156, 63, .1); color: var(--gold-deep); font-size: 17px; }
.legal-info-card h3 { margin: 0 0 10px; font-size: 16px; }
.legal-info-card p { font-size: 13px; line-height: 1.7; }
.legal-definitions { margin: 0; }
.legal-definitions > div { display: grid; grid-template-columns: 115px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.legal-definitions > div:last-child { border-bottom: 0; }
.legal-definitions dt { color: var(--navy); font-size: 13px; font-weight: 800; }
.legal-definitions dd { margin: 0; font-size: 13px; line-height: 1.7; }
.legal-policy-stack { display: grid; gap: 14px; }
.legal-policy-card { padding: 24px 25px; border: 1px solid var(--line); border-radius: 16px; background: #f8f7f2; }
.legal-policy-card h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.legal-policy-card h3 i { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: rgba(208, 156, 63, .11); color: var(--gold-deep); font-size: 11px; }
.legal-policy-card p { font-size: 13px; line-height: 1.72; }
.legal-steps { display: grid; gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; }
.legal-steps li { display: grid; grid-template-columns: 35px 1fr; align-items: start; gap: 13px; }
.legal-steps li > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: var(--navy); color: #fff; font-size: 11px; font-weight: 800; }
.legal-steps p { padding-top: 4px; }
.legal-highlight-line { display: grid; grid-template-columns: 45px 1fr; align-items: start; gap: 15px; margin-top: 20px; }
.legal-highlight-line > i { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 13px; background: var(--navy); color: var(--gold-soft); }
.legal-contact-card { display: grid; gap: 11px; margin: 22px 0; padding: 24px; border: 1px solid var(--line); border-radius: 17px; background: #f8f7f2; }
.legal-contact-card strong { margin-bottom: 3px; color: var(--navy); font-size: 16px; }
.legal-contact-card a { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.legal-contact-card a i { width: 18px; color: var(--gold-deep); text-align: center; }
.legal-list { display: grid; gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
.legal-list li { position: relative; padding-left: 27px; }
.legal-list li::before { position: absolute; top: 7px; left: 0; display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: rgba(208, 156, 63, .11); color: var(--gold-deep); content: "✓"; font-size: 9px; font-weight: 900; }
.legal-note { display: grid; grid-template-columns: 35px 1fr; gap: 12px; margin-top: 21px; padding: 18px; border: 1px solid rgba(208, 156, 63, .13); border-radius: 14px; background: rgba(208, 156, 63, .055); }
.legal-note > i { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: rgba(208, 156, 63, .11); color: var(--gold-deep); }
.legal-note p { font-size: 12px; line-height: 1.65; }

.legal-action-card { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 20px; margin-bottom: 26px; padding: 28px; border: 1px solid rgba(208, 156, 63, .18); border-radius: 20px; background: linear-gradient(135deg, var(--navy-deep), var(--navy)); box-shadow: 0 18px 45px rgba(0, 17, 41, .16); }
.legal-action-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; background: rgba(208, 156, 63, .14); color: var(--gold-soft); font-size: 20px; }
.legal-action-card > div:nth-child(2) > span { display: block; margin-bottom: 4px; color: var(--gold-soft); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.legal-action-card h2 { margin: 0 0 5px; color: #fff; font-size: 20px; letter-spacing: -.025em; }
.legal-action-card p { margin: 0; color: rgba(255, 255, 255, .58); font-size: 11px; line-height: 1.55; }
.legal-action-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 46px; padding: 12px 16px; border-radius: 11px; background: var(--gold); color: var(--navy-deep); font-size: 11px; font-weight: 850; box-shadow: 0 9px 22px rgba(208, 156, 63, .18); transition: transform .22s ease, background-color .22s ease, box-shadow .22s ease; }
.legal-action-button:hover { background: #fff; color: var(--navy-deep); box-shadow: 0 12px 28px rgba(0, 0, 0, .2); transform: translateY(-2px); }
.legal-action-button:active { transform: translateY(0) scale(.99); }
.legal-action-card > small { grid-column: 2 / -1; margin-top: -10px; color: rgba(255, 255, 255, .38); font-size: 8px; }

.legal-related { margin-top: 24px; padding: 25px 28px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .78); }
.legal-related > span { display: block; margin-bottom: 13px; color: #929ba5; font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.legal-related > div { display: flex; flex-wrap: wrap; gap: 9px; }
.legal-related a { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--navy); font-size: 10px; font-weight: 700; transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease; }
.legal-related a:hover { border-color: rgba(208, 156, 63, .25); background: rgba(208, 156, 63, .07); color: var(--gold-deep); transform: translateY(-1px); }
.legal-page a:focus-visible,
.legal-page button:focus-visible {
    outline: 3px solid rgba(208, 156, 63, .32) !important;
    outline-offset: 3px !important;
}
.legal-toc-toggle:hover { border-color: rgba(208, 156, 63, .24); background: #fbfefe; }

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

@media (max-width: 1024px) {
    .legal-layout { grid-template-columns: 215px minmax(0, 1fr); gap: 30px; }
    .legal-document { padding: 46px 42px; }
    .legal-help-card { padding: 19px; }
    .legal-action-card { grid-template-columns: 45px 1fr; }
    .legal-action-icon { width: 45px; height: 45px; }
    .legal-action-button { grid-column: 2; justify-self: start; }
    .legal-action-card > small { margin-top: -5px; }
}

@media (max-width: 820px) {
    .legal-hero { padding: 145px 0 72px; }
    .legal-breadcrumb { margin-bottom: 34px; }
    .legal-hero-grid { grid-template-columns: 1fr; }
    .legal-hero-mark { display: none; }
    .legal-main { padding: 55px 0 80px; }
    .legal-layout { grid-template-columns: 1fr; gap: 24px; }
    .legal-sidebar { position: relative; top: auto; z-index: 5; }
    .legal-toc-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 50px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--navy); box-shadow: 0 10px 28px rgba(0, 17, 41, .06); font-size: 12px; font-weight: 800; }
    .legal-toc-toggle > span { display: flex; align-items: center; gap: 9px; }
    .legal-toc-toggle > i { transition: transform .25s ease; }
    .legal-sidebar.is-open .legal-toc-toggle > i { transform: rotate(180deg); }
    .legal-toc-panel { display: grid; max-height: 0; margin-top: 0; padding: 0 18px; border-width: 0; opacity: 0; transition: max-height .32s ease, opacity .24s ease, padding .28s ease, margin .28s ease, border-width 0s linear .28s; }
    .legal-sidebar.is-open .legal-toc-panel { max-height: 650px; margin-top: 10px; padding: 20px 18px; border-width: 1px; opacity: 1; transition-delay: 0s; }
    .legal-sidebar-label { display: none; }
    .legal-help-card { display: none; }
}

@media (max-width: 600px) {
    .legal-hero { padding: 125px 0 60px; }
    .legal-hero h1 { font-size: clamp(42px, 13vw, 60px); }
    .legal-hero-copy > p { font-size: 14px; line-height: 1.72; }
    .legal-trust-note { align-items: flex-start; line-height: 1.45; }
    .legal-main { padding: 35px 0 65px; }
    .legal-document { margin-inline: -2px; padding: 32px 23px; border-radius: 21px; }
    .legal-section { padding-bottom: 36px; scroll-margin-top: 95px; }
    .legal-section + .legal-section { padding-top: 36px; }
    .legal-section-heading { align-items: flex-start; gap: 11px; margin-bottom: 19px; }
    .legal-section-heading > span { flex-basis: 31px; width: 31px; height: 31px; }
    .legal-section h2 { padding-top: 1px; font-size: 25px; }
    .legal-section h3 { font-size: 16px; }
    .legal-section p, .legal-section li, .legal-section dd { font-size: 14px; line-height: 1.78; }
    .legal-callout, .legal-warning { margin-inline: -10px; padding: 25px 15px 27px; }
    .legal-section + .legal-callout, .legal-section + .legal-warning { margin-top: 36px; }
    .legal-info-grid { grid-template-columns: 1fr; }
    .legal-definitions > div { grid-template-columns: 1fr; gap: 6px; }
    .legal-policy-card { padding: 21px; }
    .legal-action-card { grid-template-columns: 42px 1fr; gap: 14px; padding: 22px; border-radius: 17px; }
    .legal-action-icon { width: 42px; height: 42px; }
    .legal-action-card h2 { font-size: 18px; }
    .legal-action-button { grid-column: 1 / -1; width: 100%; justify-content: center; }
    .legal-action-card > small { grid-column: 1 / -1; margin: -2px 0 0; text-align: center; }
    .legal-related { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    .legal-hero-copy,
    .legal-hero-mark,
    .legal-article { animation: none !important; }
}

/* Logo-led brand unification */
::selection { background: var(--gold); color: var(--navy-deep); text-shadow: none; }
body { background-color: var(--surface-raised); }
a { transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease; }

.top-bar { border-bottom: 1px solid rgba(208, 156, 63, .14); }
.top-bar ul li a:hover { color: var(--gold-soft); opacity: 1; }
.main-header { background: rgba(0, 17, 41, .86); border-bottom-color: rgba(208, 156, 63, .16); }
.main-header.bg_header { background: rgba(0, 17, 41, .98); }
.main-header .logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* padding: 7px 12px; */
    /* border: 1px solid rgba(208, 156, 63, .24); */
    /* border-radius: 14px; */
    /* background: rgba(255, 254, 251, .97); */
    box-shadow: 0 9px 25px rgba(0, 8, 20, .16);
}
.main-header .logo img,
.main-header.bg_header .logo img {
    display: block;
    width: 135px;
    height: auto;
    margin: 0;
    /* filter: none !important; */
}
ul.menu > li > a.nav-contact { box-shadow: 0 8px 20px rgba(208, 156, 63, .17); }
ul.menu > li > a.nav-contact:hover { background: var(--gold-soft); color: var(--navy-deep); transform: translateY(-1px); }
.nav-item .dropdown-menu { border-top: 3px solid var(--gold); background: var(--surface-raised); }
.dropdown-item:hover { background: var(--gold-wash); color: var(--navy); }

.banner-text h1,
.about-page .about-hero h1,
.legal-hero h1 { text-wrap: balance; }
.hero-eyebrow,
.form-eyebrow,
.about-page .about-kicker,
.legal-kicker { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025); }
.buttons-div a.btn-01,
.about-primary-action,
.legal-action-button { box-shadow: 0 12px 28px rgba(208, 156, 63, .18); }
.buttons-div a.btn-01:hover,
.about-primary-action:hover,
.legal-action-button:hover { background: var(--gold-soft); color: var(--navy-deep); }

.serve-box,
.step-works-inner .step-works-box,
.legal-document,
.about-story-visual,
.about-office-card { border-color: rgba(0, 24, 53, .1); background-color: var(--surface-raised); }
.serve-box h4 { font-family: var(--font-display); font-size: 26px; font-weight: 700; }
.serve-box:hover > img,
.serve-box:focus-within > img { filter: brightness(0) saturate(100%) invert(78%) sepia(37%) saturate(585%) hue-rotate(354deg) brightness(101%) contrast(90%); }
.v-process .text,
.legal-info-card,
.legal-policy-card,
.legal-contact-card { background-color: var(--surface-raised); }

input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
textarea,
select {
    caret-color: var(--gold-deep);
    transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}
input[type="checkbox"],
input[type="radio"] { accent-color: var(--gold); }
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus { border-color: var(--gold) !important; box-shadow: 0 0 0 3px rgba(208, 156, 63, .13); }
.btn:focus-visible,
a.btn-01:focus-visible,
a.btn-02:focus-visible { outline: 3px solid rgba(208, 156, 63, .3) !important; outline-offset: 3px !important; }

.badge,
[class*="badge-"] {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid rgba(208, 156, 63, .22);
    border-radius: 999px;
    background: var(--gold-wash);
    color: var(--gold-deep);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
}
table { width: 100%; overflow: hidden; border: 1px solid var(--line); border-collapse: separate; border-spacing: 0; border-radius: 16px; background: var(--surface-raised); box-shadow: var(--shadow); }
thead { background: var(--navy); color: #fff; }
th, td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; }
th { color: #fff; font-size: 12px; letter-spacing: .03em; }
td { color: var(--muted); font-size: 13px; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: var(--gold-wash); }

.about-cnt h4,
.works-box-head-content span { color: var(--gold-deep); }
.contact-button:hover,
.professional-book-text a:hover { background: var(--gold-soft); color: var(--navy-deep); }
.accordion-container .set > a.active { box-shadow: inset 4px 0 0 var(--gold); }

footer { border-top: 1px solid rgba(208, 156, 63, .18); }
.ftr-lt > a:first-child {
    display: inline-flex;
    margin-bottom: 22px;
    /* padding: 9px 13px; */
    /* border: 1px solid rgba(208, 156, 63, .22); */
    /* border-radius: 14px; */
    /* background: rgba(255, 254, 251, .97); */
    /* box-shadow: 0 10px 28px rgba(0, 8, 20, .18); */
}
.ftr-lt > a:first-child img {
    display: block;
    width: 142px;
    height: auto;
    margin: 0;
    /* filter: none !important; */
}
.other-details h4 { color: var(--gold-soft); font-family: var(--font-body); }
.copyright { border-top: 1px solid rgba(208, 156, 63, .1); }

@media (max-width: 767px) {
    .main-header .logo { padding: 6px 10px; border-radius: 12px; }
    .main-header .logo img,
    .main-header.bg_header .logo img { width: 145px; }
    table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Context-aware CTA contrast */
.buttons-div a.btn-01, .buttons-div a.btn-02, .professional-book-text a,
.contact-button, .abt-button, .about-primary-action, .legal-action-button,
button.submitbtn, button.bgbtn { text-decoration: none; -webkit-tap-highlight-color: transparent; }

/* Light and transparent surfaces */
section.book-name { background: radial-gradient(circle at 92% 10%, rgba(208, 156, 63, .09), transparent 28%), linear-gradient(180deg, var(--surface-raised), var(--warm)); }
section.book-name .buttons-div a.btn-01, section.value .buttons-div a.btn-01,
section.form button.submitbtn, .contact-button {
    border-color: var(--navy); background: var(--navy); color: #fff;
    box-shadow: 0 10px 24px rgba(0, 17, 41, .16);
}
section.book-name .buttons-div a.btn-02 {
    border-color: rgba(0, 24, 53, .22); background: var(--gold-wash); color: var(--navy);
    box-shadow: 0 8px 20px rgba(0, 17, 41, .08);
}
section.book-name .buttons-div a.btn-01:hover, section.book-name .buttons-div a.btn-01:focus-visible,
section.value .buttons-div a.btn-01:hover, section.value .buttons-div a.btn-01:focus-visible,
section.form button.submitbtn:hover, section.form button.submitbtn:focus-visible,
.contact-button:hover, .contact-button:focus-visible {
    border-color: var(--gold); background: var(--gold); color: var(--navy-deep);
    box-shadow: 0 13px 28px rgba(208, 156, 63, .22); transform: translateY(-2px);
}
section.book-name .buttons-div a.btn-02:hover, section.book-name .buttons-div a.btn-02:focus-visible {
    border-color: var(--navy); background: var(--navy); color: #fff;
    box-shadow: 0 12px 26px rgba(0, 17, 41, .18); transform: translateY(-2px);
}

/* Dark and image-backed surfaces */
section.home-banner .buttons-div a.btn-02, section.edited .buttons-div a.btn-02,
section.authors-sec .buttons-div a.btn-02, section.authors-sec-2 .buttons-div a.btn-02,
section.top-notch .buttons-div a.btn-02 {
    border-color: rgba(240, 209, 145, .55); background: rgba(0, 17, 41, .62); color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04), 0 10px 24px rgba(0, 0, 0, .16);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
section.home-banner .buttons-div a.btn-02:hover, section.home-banner .buttons-div a.btn-02:focus-visible,
section.edited .buttons-div a.btn-02:hover, section.edited .buttons-div a.btn-02:focus-visible,
section.authors-sec .buttons-div a.btn-02:hover, section.authors-sec .buttons-div a.btn-02:focus-visible,
section.authors-sec-2 .buttons-div a.btn-02:hover, section.authors-sec-2 .buttons-div a.btn-02:focus-visible,
section.top-notch .buttons-div a.btn-02:hover, section.top-notch .buttons-div a.btn-02:focus-visible {
    border-color: var(--gold); background: var(--gold); color: var(--navy-deep);
    box-shadow: 0 13px 28px rgba(208, 156, 63, .24); transform: translateY(-2px);
}
section.authors-sec-2 {
    position: relative; isolation: isolate;
    background-image: linear-gradient(100deg, rgba(0, 17, 41, .97), rgba(0, 24, 53, .84)), url(../images/footer-bg.webp);
}
section.authors-sec-2::before {
    position: absolute; z-index: -1; inset: 0;
    background: radial-gradient(circle at 82% 18%, rgba(208, 156, 63, .13), transparent 32%);
    content: ""; pointer-events: none;
}
section.authors-sec-2 .author-sec-text .buttons-div a.btn-01 {
    border-color: var(--gold); background: var(--gold); color: var(--navy-deep);
    box-shadow: 0 12px 28px rgba(208, 156, 63, .22);
}
section.authors-sec-2 .author-sec-text .buttons-div a.btn-01:hover,
section.authors-sec-2 .author-sec-text .buttons-div a.btn-01:focus-visible,
.about-primary-action:hover, .about-primary-action:focus-visible,
.about-page .about-quote .bgbtn:hover, .about-page .about-quote .bgbtn:focus-visible,
.legal-action-button:hover, .legal-action-button:focus-visible {
    border-color: var(--gold-soft); background: var(--gold-soft); color: var(--navy-deep);
    box-shadow: 0 14px 30px rgba(208, 156, 63, .24); transform: translateY(-2px);
}

/* Interaction and availability states */
.buttons-div a.btn-01:active, .buttons-div a.btn-02:active,
.professional-book-text a:active, .contact-button:active, .abt-button:active,
.about-primary-action:active, .legal-action-button:active,
button.submitbtn:active, button.bgbtn:active {
    box-shadow: 0 5px 14px rgba(0, 17, 41, .16); transform: translateY(0) scale(.985);
}
.buttons-div a.btn-01[aria-disabled="true"], .buttons-div a.btn-02[aria-disabled="true"],
.contact-button[aria-disabled="true"], .about-primary-action[aria-disabled="true"],
.legal-action-button[aria-disabled="true"], button.submitbtn:disabled, button.bgbtn:disabled {
    border-color: #b8bec5 !important; background: #d8dbde !important; color: #68717b !important;
    box-shadow: none !important; cursor: not-allowed; opacity: .76; pointer-events: none; transform: none !important;
}

@media (max-width: 767px) {
    section.book-name { background: radial-gradient(circle at 100% 0, rgba(208, 156, 63, .08), transparent 24%), var(--warm); }
    section.home-banner .buttons-div a, section.book-name .buttons-div a,
    section.edited .buttons-div a, section.authors-sec .buttons-div a,
    section.authors-sec-2 .buttons-div a, section.top-notch .buttons-div a { min-height: 50px; }
}

/* Final mobile drawer cascade: keep desktop dropdown styles out of the side navigation. */
@media (max-width: 1200px) {
    .menuWrap, .menuWrap.open {
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-color: rgba(208, 156, 63, .38) transparent;
        scrollbar-width: thin;
    }
    .menuWrap::-webkit-scrollbar { width: 4px; }
    .menuWrap::-webkit-scrollbar-track { background: transparent; }
    .menuWrap::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(208, 156, 63, .38); }
    .menuWrap ul.menu {
        flex: 0 0 auto;
        overflow: visible;
        padding-right: 0;
    }
    .menuWrap .nav-item .dropdown-menu,
    .menuWrap .nav-item:hover .dropdown-menu {
        border-top: 0 !important;
        background: rgba(0, 8, 20, .24) !important;
    }
    .menuWrap .nav-item.submenu-open .dropdown-menu {
        max-height: 460px;
        border: 1px solid rgba(240, 209, 145, .14) !important;
        background: rgba(0, 8, 20, .24) !important;
    }
    .menuWrap .nav-item .dropdown-menu .dropdown-item,
    .menuWrap ul.menu > li.active .dropdown-menu .dropdown-item {
        min-height: 42px;
        margin: 0 !important;
        padding: 10px 12px !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .065) !important;
        border-radius: 8px !important;
        background: transparent !important;
        color: rgba(255, 255, 255, .76) !important;
        font-size: 13px;
        line-height: 1.35;
        text-align: left !important;
    }
    .menuWrap .nav-item .dropdown-menu .dropdown-item:last-child { border-bottom: 0 !important; }
    .menuWrap .nav-item .dropdown-menu .dropdown-item:hover,
    .menuWrap .nav-item .dropdown-menu .dropdown-item:focus-visible,
    .menuWrap .nav-item .dropdown-menu .dropdown-item.active {
        background: rgba(208, 156, 63, .12) !important;
        color: var(--gold-soft) !important;
    }
    .mobile-menu-contact { flex: 0 0 auto; margin-top: 0; }
}
