:root{--navy:#06264A;--burg:#A80F2A;--cream:#F7F2E8;--ink:#18283A;--white:#fffdf8;--muted:#687382;--line:rgba(6,38,74,.15);--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{position:sticky;top:0;z-index:30;background:rgba(247,242,232,.91);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;gap:34px}.logo{width:178px;height:58px;overflow:hidden;display:flex;align-items:center}.logo img{width:100%;height:auto}.nav nav{display:flex;gap:28px;margin-left:auto}.nav nav a{font-size:14px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--burg);color:#fff;border:1px solid var(--burg);border-radius:999px;padding:15px 24px;font-weight:800;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(168,15,42,.18)}.button.small{padding:11px 18px;font-size:13px}.button.ghost{background:transparent;color:var(--navy);border-color:rgba(6,38,74,.28)}.button.full{width:100%;border-radius:12px}.menu{display:none}.hero{padding:68px 0 82px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:68px;align-items:center}.kicker,.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:900;color:var(--burg)}.kicker{display:flex;align-items:center;gap:10px}.kicker span{width:34px;height:2px;background:var(--burg)}h1,h2{font-family:var(--serif);color:var(--navy);letter-spacing:-.035em;margin:16px 0;line-height:.96}h1{font-size:clamp(52px,6.5vw,86px)}h2{font-size:clamp(42px,5vw,66px)}h1 em,h2 em{color:var(--burg);font-style:normal}.lead{font-size:19px;max-width:670px;color:#4d5d6d}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;font-size:13px;font-weight:800;color:var(--navy)}.hero-visual{position:relative}.hero-visual>img{height:690px;width:100%;object-fit:cover;border-radius:220px 220px 22px 22px;box-shadow:0 30px 70px rgba(6,38,74,.16)}.floating{position:absolute;left:-35px;bottom:35px;width:270px;background:var(--white);border:1px solid var(--line);padding:20px;border-radius:16px;box-shadow:0 18px 50px rgba(6,38,74,.14)}.floating b,.floating span{display:block}.floating b{font-family:var(--serif);font-size:24px;color:var(--navy)}.floating span{font-size:13px;color:var(--muted);margin-top:6px}.strip{background:var(--navy);color:#fff;padding:28px 0}.strip p{margin:0;text-align:center;font-family:var(--serif);font-size:clamp(24px,3vw,36px)}.strip strong{color:#f3bdc6}.section{padding:105px 0}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-head>div{max-width:760px}.section-head>p{max-width:360px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service{position:relative;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:28px;overflow:hidden;min-height:540px;display:flex;flex-direction:column}.service .num{color:var(--burg);font-weight:900;letter-spacing:.14em}.service h3{font-family:var(--serif);font-size:38px;color:var(--navy);margin:14px 0 8px}.service p{max-width:500px;color:var(--muted);margin:0 0 18px}.text-link{font-weight:900;color:var(--burg);margin-bottom:22px}.service img{margin-top:auto;height:300px;width:100%;object-fit:cover;border-radius:14px;object-position:top}.dark{background:var(--navy);color:#dce4ec}.light h2{color:#fff}.light p{color:#bdc9d5}.dark .eyebrow{color:#f3a9b7}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}.steps>div{padding:32px 28px 10px 0;border-right:1px solid rgba(255,255,255,.18);margin-right:28px}.steps>div:last-child{border:0}.steps b{font-size:13px;color:#f3a9b7}.steps h3{font-family:var(--serif);font-size:30px;color:#fff;line-height:1.05}.steps p{color:#b9c5d1}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.split>div p{font-size:18px;color:var(--muted);max-width:520px;margin-bottom:28px}.split img{height:650px;width:100%;object-fit:cover;border-radius:22px}.faq{background:#fffaf2}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:24px 0}summary{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary:after{content:'+';color:var(--burg)}details[open] summary:after{content:'−'}details p{max-width:760px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.contact-grid>div>p{font-size:18px;color:var(--muted);max-width:520px}.mini-proof{border-left:3px solid var(--burg);padding:10px 16px;margin-top:30px}.mini-proof span,.mini-proof b{display:block}.mini-proof span{font-size:13px;color:var(--muted)}form{background:var(--white);border:1px solid var(--line);padding:26px;border-radius:20px;box-shadow:0 24px 60px rgba(6,38,74,.09)}label{display:block;font-size:13px;font-weight:800;color:var(--navy);margin-bottom:14px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid rgba(6,38,74,.2);background:#fff;padding:14px;border-radius:10px;font:inherit;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--burg);box-shadow:0 0 0 3px rgba(168,15,42,.08)}.form-note{font-size:11px;color:var(--muted);text-align:center;margin:10px 0 0}footer{background:#041c36;color:#c9d4df;padding:58px 0 28px}.footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer img{width:170px;border-radius:8px}.footer p{font-size:11px;letter-spacing:.18em}.footer>div{display:flex;flex-direction:column;gap:10px}.footer b{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;font-size:11px;color:#8295a7}@media(max-width:900px){.nav nav,.nav>.button{display:none}.menu{display:block;margin-left:auto;border:0;background:transparent;font-size:26px;color:var(--navy)}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero{padding-top:42px}.hero-visual>img{height:560px}.floating{left:16px}.cards{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);margin:0}.section-head{display:block}.section-head>p{max-width:620px}.footer{grid-template-columns:1fr 1fr}.footer>div:first-child{grid-column:1/-1}}@media(max-width:560px){.shell{width:min(100% - 28px,1180px)}.nav{height:70px}.logo{width:145px}.hero{padding:34px 0 58px}h1{font-size:48px}.lead{font-size:16px}.hero-visual>img{height:470px;border-radius:150px 150px 18px 18px}.floating{right:14px;left:14px;bottom:14px;width:auto}.section{padding:72px 0}.cards{gap:14px}.service{padding:20px;min-height:470px}.service h3{font-size:32px}.service img{height:245px}.split img{height:500px}.footer{grid-template-columns:1fr}.footer>div:first-child{grid-column:auto}}
.consent{display:flex;gap:9px;align-items:flex-start;font-size:11px;font-weight:500;color:var(--muted)}.consent input{width:auto;margin:3px 0 0}.consent a{text-decoration:underline}.cookie{position:fixed;z-index:50;left:18px;bottom:18px;max-width:430px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:13px 15px;box-shadow:0 18px 50px rgba(6,38,74,.16);display:flex;align-items:center;gap:14px;font-size:12px}.cookie button{border:0;background:var(--navy);color:#fff;border-radius:999px;padding:8px 13px;font-weight:800;cursor:pointer}.cookie.hide{display:none}

/* DOCSGO-04 HERO ARCH */
.hero .hero-visual > img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 180px 180px 22px 22px;
}
.hero .hero-visual .floating {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    width: auto;
    margin-top: 0;
    padding: 18px 20px;
}
@media (max-width: 560px) {
    .hero .hero-visual > img {
        border-radius: 120px 120px 18px 18px;
    }
    .hero .hero-visual .floating {
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 14px 16px;
    }
    .hero .hero-visual .floating b {
        font-size: 22px;
    }
    .hero .hero-visual .floating span {
        font-size: 12px;
        line-height: 1.45;
    }
}

/* DOCSGO-07 SERVICE IMAGES */
#services .service .text-link {
    margin-top: auto;
}
#services .service > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: contain;
    object-position: center;
    background: var(--cream);
    margin-top: 0;
    flex-shrink: 0;
}

/* DOCSGO-17 AUDIENCE IMAGE */
.section.audience .split > img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* DOCSGO-22 CONTACT MODAL */
html.contact-modal-open,
html.contact-modal-open body {
    overflow: hidden;
}
.contact-dialog {
    width: min(560px, calc(100% - 24px));
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    margin: auto;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--white);
    color: var(--ink);
    overflow: auto;
    overscroll-behavior: contain;
    box-shadow: 0 24px 80px rgba(6,38,74,.25);
}
.contact-dialog::backdrop {
    background: rgba(4,28,54,.65);
}
.contact-dialog-panel {
    position: relative;
    padding: 26px;
}
.contact-dialog-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: var(--cream);
    color: var(--navy);
    font-size: 30px;
    cursor: pointer;
}
.contact-dialog h2 {
    margin: 8px 44px 24px 0;
    font-size: 34px;
    line-height: 1.08;
}
.contact-dialog #leadForm {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.contact-dialog :is(input, select, textarea) {
    font-size: 16px;
}
.contact-dialog-close:focus-visible {
    outline: 2px solid var(--burg);
    outline-offset: 2px;
}
@media (max-width: 560px) {
    .contact-dialog-panel { padding: 20px; }
    .contact-dialog h2 { font-size: 28px; }
}

/* DOCSGO-24 MARRIAGE IMAGE */
#services .service > img[src="assets/marriage-wide.jpg"] {
    aspect-ratio: 16 / 9;
}

/* DOCSGO-31 TAX IMAGE */
#services .service > img[src="assets/tax-new.jpg"] {
    aspect-ratio: 16 / 9;
}

/* DOCSGO-38 BANK CARD IMAGE */
#services .service > img[src="assets/bank-cards.jpg"] {
    aspect-ratio: 4 / 3;
}

/* DOCSGO-55 FOOTER CONTACT ICONS */
.footer .footer-contacts {
    min-width: 0;
}
.footer .contact-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 32px;
    width: fit-content;
    max-width: 100%;
}
.footer .contact-icon {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}
.footer .contact-link span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.footer .contact-link:hover {
    color: #fff;
}
.footer .contact-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 5px;
    border-radius: 3px;
}
