:root {
    --hd-ink: #123d2d;
    --hd-forest: #124b37;
    --hd-forest-deep: #0b3528;
    --hd-sage: #dfe9df;
    --hd-sage-2: #eff5ee;
    --hd-cream: #f8f4eb;
    --hd-paper: #fffdfa;
    --hd-gold: #805200;
    --hd-line: #cbd8cf;
    --hd-muted: #445f53;
    --hd-shadow: 0 24px 60px rgba(20, 54, 42, .12);
}

.ahs-home-docs,
.ahs-home-docs-request {
    color: var(--hd-ink);
    font-size: 17px;
    line-height: 1.65;
}

.ahs-home-docs h1,
.ahs-home-docs h2,
.ahs-home-docs h3,
.ahs-home-docs-request h1,
.ahs-home-docs-request h2 {
    color: var(--hd-ink);
    line-height: 1.05;
    text-wrap: balance;
}

.ahs-hd-kicker {
    margin: 0 0 12px;
    color: var(--hd-gold);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.ahs-hd-kicker span { color: var(--hd-muted); }

.ahs-hd-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
    gap: clamp(36px, 6vw, 88px);
    align-items: center;
    padding: clamp(44px, 7vw, 88px);
    border: 1px solid var(--hd-line);
    border-radius: 34px;
    background:
        radial-gradient(circle at 18% 10%, rgba(221, 234, 222, .95), transparent 34%),
        linear-gradient(135deg, #fffdfa 0%, #f7f1e6 100%);
    box-shadow: var(--hd-shadow);
    overflow: hidden;
}

.ahs-hd-hero__copy h1 {
    max-width: 12ch;
    margin: 0;
    font-size: clamp(48px, 6.2vw, 82px);
}

.ahs-hd-hero__copy > p:not(.ahs-hd-kicker) {
    max-width: 62ch;
    margin: 24px 0 0;
    color: var(--hd-muted);
    font-size: 19px;
}

.ahs-hd-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.ahs-hd-audiences {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.ahs-hd-audiences span {
    padding: 9px 13px;
    border: 1px solid #b8cbbd;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--hd-ink);
    font-size: 14px;
    font-weight: 700;
}

.ahs-hd-hero__visual { position: relative; min-height: 520px; }
.ahs-hd-hero__visual.has-photo { border-radius:28px; overflow:hidden; box-shadow:0 26px 60px rgba(16,51,39,.16); background:#dfe8df; }
.ahs-hd-hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.ahs-hd-hero__visual.has-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(8,38,28,.28)); pointer-events:none; }
.ahs-hd-room {
    position: absolute;
    inset: 0;
    border-radius: 28px;
    background: linear-gradient(#eef1ea 0 70%, #cfae83 70%);
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(17, 66, 48, .12), 0 26px 60px rgba(16, 51, 39, .16);
}
.ahs-hd-window { position:absolute; left:10%; top:10%; width:38%; height:38%; background:linear-gradient(145deg,#d8edf1,#fff); border:12px solid #fff; box-shadow:0 8px 20px rgba(10,53,40,.12); }
.ahs-hd-window::before,.ahs-hd-window::after { content:""; position:absolute; background:#fff; }
.ahs-hd-window::before { width:5px; top:0; bottom:0; left:50%; }
.ahs-hd-window::after { height:5px; left:0; right:0; top:50%; }
.ahs-hd-sofa { position:absolute; left:15%; right:11%; bottom:20%; height:30%; border-radius:28px 28px 12px 12px; background:#7f957e; box-shadow:0 18px 28px rgba(23,49,39,.2); }
.ahs-hd-sofa::before,.ahs-hd-sofa::after { content:""; position:absolute; top:18%; width:39%; height:54%; border-radius:18px; background:#9caf98; }
.ahs-hd-sofa::before { left:8%; } .ahs-hd-sofa::after { right:8%; }
.ahs-hd-table { position:absolute; right:8%; bottom:8%; width:26%; height:11%; border-radius:50%; background:#7b5738; box-shadow:0 16px 0 -6px #513a28; }
.ahs-hd-rug { position:absolute; left:7%; right:4%; bottom:4%; height:18%; border-radius:50%; background:rgba(238,224,196,.9); transform:skewX(-8deg); }
.ahs-hd-art { position:absolute; right:12%; top:14%; width:27%; height:26%; background:linear-gradient(135deg,#f0d9ad,#6f8d78); border:10px solid #fdfcf7; box-shadow:0 8px 20px rgba(10,53,40,.13); }
.ahs-hd-plant { position:absolute; left:5%; bottom:16%; width:10%; height:24%; border-radius:50% 50% 12px 12px; background:linear-gradient(75deg,#4d7658,#85a878); box-shadow:0 40px 0 -13px #8b5f3f; }
.ahs-hd-visual-card { position:absolute; left:-22px; bottom:26px; padding:18px 22px; border:1px solid var(--hd-line); border-radius:18px; background:#fff; box-shadow:0 18px 38px rgba(14,54,40,.18); }
.ahs-hd-visual-card strong,.ahs-hd-visual-card span { display:block; }
.ahs-hd-visual-card strong { font-size:18px; }
.ahs-hd-visual-card span { color:var(--hd-muted); font-size:14px; margin-top:3px; }

.ahs-hd-proof {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin:32px 0 0;
    padding:28px 34px;
    border-radius:22px;
    background:var(--hd-forest-deep);
    color:#fff;
}
.ahs-hd-proof > div { display:flex; align-items:center; gap:22px; max-width:880px; }
.ahs-hd-proof strong { color:#dceccf; font-size:46px; line-height:1; }
.ahs-hd-proof p { margin:0; color:#f5f8f4; }
.ahs-hd-proof a { flex:0 0 auto; color:#fff; font-weight:800; }

.ahs-hd-section { padding:clamp(68px,8vw,112px) 0 0; }
.ahs-hd-section > header { max-width:760px; margin-bottom:32px; }
.ahs-hd-section > header h2 { margin:0; font-size:clamp(38px,4.8vw,64px); }
.ahs-hd-section > header > p:not(.ahs-hd-kicker) { color:var(--hd-muted); font-size:18px; }
.ahs-hd-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ahs-hd-service-grid article { min-height:250px; padding:28px; border:1px solid var(--hd-line); border-radius:24px; background:#fff; box-shadow:0 14px 36px rgba(20,54,42,.08); transition:transform .2s ease, box-shadow .2s ease; }
.ahs-hd-service-grid article:hover { transform:translateY(-4px); box-shadow:var(--hd-shadow); }
.ahs-hd-service-grid article > span { display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center; border-radius:14px; background:var(--hd-sage); font-weight:800; }
.ahs-hd-service-grid h3 { margin:24px 0 10px; font-size:25px; }
.ahs-hd-service-grid p { margin:0; color:var(--hd-muted); }

.ahs-hd-realtor { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.7fr); gap:30px; align-items:stretch; }
.ahs-hd-realtor > div { padding:clamp(34px,5vw,64px); border-radius:28px; background:var(--hd-sage-2); border:1px solid var(--hd-line); }
.ahs-hd-realtor h2 { margin:0; font-size:clamp(36px,4vw,56px); }
.ahs-hd-realtor p,.ahs-hd-realtor li { color:var(--hd-muted); }
.ahs-hd-realtor ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; padding-left:20px; }
.ahs-hd-realtor__cta { display:flex; flex-direction:column; justify-content:flex-end; min-height:380px; padding:34px; border-radius:28px; background:linear-gradient(145deg,#174f3a,#0c382b); color:#fff; text-decoration:none; box-shadow:var(--hd-shadow); }
.ahs-hd-realtor__cta span { color:#cbe0d2; font-weight:700; }
.ahs-hd-realtor__cta strong { margin-top:8px; font-size:32px; line-height:1.1; }
.ahs-hd-realtor__cta i { margin-top:32px; font-size:34px; font-style:normal; }

.ahs-hd-faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ahs-hd-faq-list details { border:1px solid var(--hd-line); border-radius:18px; background:#fff; padding:0 22px; }
.ahs-hd-faq-list summary { cursor:pointer; padding:22px 36px 22px 0; font-weight:800; position:relative; }
.ahs-hd-faq-list summary::after { content:"+"; position:absolute; right:0; top:18px; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--hd-sage); }
.ahs-hd-faq-list details[open] summary::after { content:"−"; }
.ahs-hd-faq-list p { margin:0; padding:0 0 22px; color:var(--hd-muted); }

.ahs-hd-final { display:flex; justify-content:space-between; gap:28px; align-items:center; margin-top:clamp(72px,8vw,110px); padding:clamp(34px,5vw,60px); border-radius:28px; background:var(--hd-forest-deep); color:#fff; }
.ahs-hd-final h2 { color:#fff; margin:0; font-size:clamp(34px,4vw,54px); }
.ahs-hd-final p:not(.ahs-hd-kicker) { color:#dce9e0; max-width:720px; }
.ahs-hd-disclosure { margin:22px auto 0; max-width:980px; color:var(--hd-muted); font-size:14px; text-align:center; }

.ahs-hd-home-band { padding:70px 0; background:linear-gradient(135deg,#f6efe2,#e8efe6); }
.ahs-hd-home-band .site-shell { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; padding:42px; border:1px solid var(--hd-line); border-radius:28px; background:rgba(255,255,255,.8); box-shadow:0 18px 42px rgba(20,54,42,.09); }
.ahs-hd-home-band h2 { margin:0; font-size:clamp(34px,4vw,56px); }
.ahs-hd-home-band p:not(.ahs-hd-kicker) { margin-bottom:0; max-width:760px; color:var(--hd-muted); }
.ahs-hd-home-band a { display:flex; flex:0 0 auto; align-items:center; gap:18px; padding:20px 24px; border-radius:18px; background:var(--hd-forest); color:#fff; text-decoration:none; font-weight:800; }
.ahs-hd-home-band a i { font-style:normal; font-size:26px; }

.ahs-home-docs-request { max-width:1120px; margin:0 auto; }
.ahs-hd-request-heading { max-width:820px; margin:0 auto 34px; text-align:center; }
.ahs-hd-request-heading h1 { margin:0; font-size:clamp(42px,5.5vw,72px); }
.ahs-hd-request-heading > p:not(.ahs-hd-kicker) { color:var(--hd-muted); font-size:19px; }
.ahs-home-docs-request form { display:grid; gap:18px; }
.ahs-hd-form-section { display:grid; grid-template-columns:64px minmax(0,1fr); gap:24px; padding:clamp(26px,4vw,44px); border:1px solid var(--hd-line); border-radius:26px; background:#fff; box-shadow:0 14px 36px rgba(20,54,42,.07); }
.ahs-hd-form-number { width:52px; height:52px; display:grid; place-items:center; border-radius:17px; background:var(--hd-sage); color:var(--hd-ink); font-weight:900; }
.ahs-hd-form-section h2 { margin:0; font-size:31px; }
.ahs-hd-form-section h2 + p { margin:6px 0 22px; color:var(--hd-muted); }
.ahs-hd-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ahs-hd-choice-grid--roles { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ahs-hd-choice-grid--contact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ahs-hd-choice-grid label { position:relative; min-height:70px; }
.ahs-hd-choice-grid input { position:absolute; opacity:0; pointer-events:none; }
.ahs-hd-choice-grid span { height:100%; display:flex; align-items:center; justify-content:center; padding:16px; border:2px solid var(--hd-line); border-radius:16px; background:#fff; color:var(--hd-ink); font-weight:800; text-align:center; cursor:pointer; transition:.18s ease; }
.ahs-hd-choice-grid input:focus-visible + span { outline:3px solid #d09625; outline-offset:3px; }
.ahs-hd-choice-grid label:hover span { border-color:#6d917c; background:var(--hd-sage-2); }
.ahs-hd-choice-grid label.is-selected span,.ahs-hd-choice-grid input:checked + span { border-color:var(--hd-forest); background:var(--hd-forest); color:#fff; box-shadow:0 10px 24px rgba(18,75,55,.18); }
.ahs-hd-fields { display:grid; gap:16px; }
.ahs-hd-fields--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ahs-hd-fields label,.ahs-hd-full-field,.ahs-hd-file-field { display:grid; gap:8px; color:var(--hd-ink); font-size:15px; font-weight:800; }
.ahs-hd-fields input,.ahs-hd-fields select,.ahs-hd-full-field textarea { width:100%; min-height:54px; padding:13px 15px; border:1px solid #aebfb3; border-radius:13px; background:#fff; color:#112f25; font:inherit; }
.ahs-hd-full-field { margin-top:16px; }
.ahs-hd-full-field textarea { min-height:140px; resize:vertical; }
.ahs-hd-file-field { margin-top:16px; padding:20px; border:1px dashed #8ea695; border-radius:16px; background:var(--hd-sage-2); }
.ahs-hd-file-field small { color:var(--hd-muted); font-weight:500; }
.ahs-hd-contact-method { margin:22px 0 0; padding:0; border:0; }
.ahs-hd-contact-method legend { margin-bottom:10px; color:var(--hd-ink); font-size:15px; font-weight:800; }
.ahs-hd-consent { display:grid; gap:12px; padding:26px; border:1px solid var(--hd-line); border-radius:22px; background:var(--hd-sage-2); }
.ahs-hd-consent label { display:grid; grid-template-columns:24px minmax(0,1fr); gap:14px; align-items:start; }
.ahs-hd-consent input { width:22px; height:22px; accent-color:var(--hd-forest); margin-top:3px; }
.ahs-hd-consent span { color:#243f34; }
.ahs-hd-captcha { padding:20px; border:1px solid var(--hd-line); border-radius:18px; background:#fff; }
.ahs-home-docs-request .ahs-captcha-disclosure { margin:0; color:var(--hd-muted); font-size:14px; }
.ahs-hd-form-error { padding:16px 18px; border:1px solid #b33a2c; border-radius:14px; background:#fff1ef; color:#7d2018; font-weight:800; }
.ahs-hd-submit { min-height:62px; display:flex; align-items:center; justify-content:center; gap:14px; border:0; border-radius:16px; background:var(--hd-forest); color:#fff; font:inherit; font-weight:900; cursor:pointer; box-shadow:0 14px 30px rgba(18,75,55,.22); }
.ahs-hd-submit:hover { background:var(--hd-forest-deep); transform:translateY(-1px); }
.ahs-hd-submit:disabled { opacity:1; cursor:wait; }
.ahs-hd-submit.is-confirmed { background:#176d46; }
.ahs-hd-success { padding:clamp(38px,7vw,78px); border:1px solid var(--hd-line); border-radius:28px; background:#fff; text-align:center; box-shadow:var(--hd-shadow); }
.ahs-hd-success > span { width:70px; height:70px; display:grid; place-items:center; margin:0 auto 22px; border-radius:50%; background:#dff1e4; color:#14643f; font-size:34px; font-weight:900; }
.ahs-hd-success h2 { margin:0; font-size:clamp(38px,5vw,58px); }
.ahs-hd-success p:not(.ahs-hd-kicker) { color:var(--hd-muted); font-size:18px; }
.ahs-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

@media (max-width: 980px) {
    .ahs-hd-hero { grid-template-columns:1fr; }
    .ahs-hd-hero__visual { min-height:420px; }
    .ahs-hd-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ahs-hd-realtor { grid-template-columns:1fr; }
    .ahs-hd-realtor__cta { min-height:260px; }
    .ahs-hd-home-band .site-shell { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 700px) {
    .ahs-home-docs,.ahs-home-docs-request { font-size:16px; }
    .ahs-hd-hero { padding:28px 22px; border-radius:24px; }
    .ahs-hd-hero__copy h1 { font-size:43px; }
    .ahs-hd-hero__visual { min-height:340px; }
    .ahs-hd-visual-card { left:12px; right:12px; bottom:14px; }
    .ahs-hd-proof { align-items:flex-start; flex-direction:column; padding:24px; }
    .ahs-hd-proof > div { align-items:flex-start; flex-direction:column; gap:10px; }
    .ahs-hd-service-grid,.ahs-hd-faq-list { grid-template-columns:1fr; }
    .ahs-hd-realtor ul { grid-template-columns:1fr; }
    .ahs-hd-final { align-items:flex-start; flex-direction:column; }
    .ahs-hd-home-band { padding:44px 0; }
    .ahs-hd-home-band .site-shell { padding:28px 22px; }
    .ahs-hd-home-band a { width:100%; justify-content:space-between; }
    .ahs-hd-form-section { grid-template-columns:1fr; padding:24px 18px; }
    .ahs-hd-form-number { width:44px; height:44px; }
    .ahs-hd-choice-grid,.ahs-hd-choice-grid--roles,.ahs-hd-choice-grid--contact,.ahs-hd-fields--two { grid-template-columns:1fr; }
    .ahs-hd-choice-grid label { min-height:58px; }
}

@media (prefers-reduced-motion: reduce) {
    .ahs-hd-service-grid article,.ahs-hd-choice-grid span,.ahs-hd-submit { transition:none!important; }
}

/* Realtor-focused Home Docs landing page */
.ahs-hd-text-link {
    display: inline-flex;
    align-items: center;
    min-height: 50px;
    padding: 0 4px;
    color: var(--hd-forest-deep);
    font-size: 16px;
    font-weight: 800;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}
.ahs-hd-realtor-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: clamp(28px, 5vw, 68px);
    align-items: stretch;
    padding: clamp(42px, 7vw, 84px);
    border: 1px solid var(--hd-line);
    border-radius: 32px;
    background: linear-gradient(135deg, #fffdfa, #eef4ed);
    box-shadow: var(--hd-shadow);
}
.ahs-hd-realtor-hero h1 {
    max-width: 15ch;
    margin: 0;
    font-size: clamp(45px, 5.7vw, 76px);
}
.ahs-hd-realtor-hero > div > p:not(.ahs-hd-kicker) {
    max-width: 68ch;
    margin: 22px 0 0;
    color: var(--hd-muted);
    font-size: 19px;
}
.ahs-hd-realtor-hero aside {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(28px, 4vw, 42px);
    border-radius: 24px;
    background: var(--hd-forest-deep);
    color: #fff;
}
.ahs-hd-realtor-hero aside strong {
    color: #fff;
    font-size: 23px;
}
.ahs-hd-realtor-hero aside ul {
    display: grid;
    gap: 14px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}
.ahs-hd-realtor-hero aside li {
    position: relative;
    padding-left: 28px;
    color: #eef7f0;
    font-size: 16px;
}
.ahs-hd-realtor-hero aside li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #cfe6c2;
    font-weight: 900;
}
.ahs-hd-workflow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.ahs-hd-workflow article {
    min-height: 270px;
    padding: 28px;
    border: 1px solid var(--hd-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(20, 54, 42, .07);
}
.ahs-hd-workflow article > span {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 15px;
    background: var(--hd-sage);
    color: var(--hd-ink);
    font-weight: 900;
}
.ahs-hd-workflow h3 {
    margin: 24px 0 10px;
    font-size: 24px;
}
.ahs-hd-workflow p {
    margin: 0;
    color: var(--hd-muted);
}
.ahs-hd-search-intent {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, .8fr);
    gap: 36px;
    align-items: center;
    padding: clamp(34px, 5vw, 64px);
    border: 1px solid var(--hd-line);
    border-radius: 28px;
    background: var(--hd-sage-2);
}
.ahs-hd-search-intent h2 {
    margin: 0;
    font-size: clamp(34px, 4.4vw, 56px);
}
.ahs-hd-search-intent p:not(.ahs-hd-kicker) {
    color: var(--hd-muted);
}
.ahs-hd-search-intent ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ahs-hd-search-intent li {
    padding: 14px 16px;
    border: 1px solid #bed0c2;
    border-radius: 14px;
    background: #fff;
    color: var(--hd-ink);
    font-size: 15px;
    font-weight: 750;
}
.ahs-home-docs-settings label small {
    display: block;
    margin: 4px 0 7px;
    color: #486357;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
}

@media (max-width: 1050px) {
    .ahs-hd-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .ahs-hd-realtor-hero,
    .ahs-hd-search-intent { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .ahs-hd-realtor-hero { padding: 28px 22px; border-radius: 24px; }
    .ahs-hd-realtor-hero h1 { font-size: 42px; }
    .ahs-hd-workflow { grid-template-columns: 1fr; }
    .ahs-hd-workflow article { min-height: 0; }
    .ahs-hd-search-intent { padding: 28px 22px; }
}
