/* Inner pages extend the approved homepage, with scoped editorial layouts. */
.inner-site { background:#fff; }
.inner-site main { overflow:clip; }
.inner-site h1,.inner-site h2,.inner-site h3,.inner-site p { margin:0; }
.inner-site h1 { font-size:clamp(42px,4.4vw,74px); line-height:1.06; letter-spacing:-1.4px; font-weight:800; }
.inner-site h2 { font-size:clamp(32px,3vw,47px); line-height:1.15; font-weight:800; }
.inner-site h3 { font-size:clamp(23px,2vw,29px); line-height:1.2; font-weight:800; }
.inner-site p { color:var(--muted); font-size:20px; line-height:1.65; }
.inner-site .inner-wrap { width:min(1320px,calc(100% - 80px)); margin-inline:auto; }
.inner-site .breadcrumb { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:15px; padding-top:28px; }
.inner-site .breadcrumb a:hover { color:var(--orange); }
.inner-site .breadcrumb span[aria-hidden] { color:var(--orange); }
.inner-site .inner-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:1.08fr .92fr; min-height:450px; align-items:center; background:linear-gradient(115deg,#f4f6f1 0%,#fff 58%); }
.inner-site .inner-hero-copy { padding:52px max(40px,calc((100vw - 1320px)/2)) 64px 40px; }
.inner-site .inner-hero-copy h1 { max-width:750px; }
.inner-site .inner-hero-copy h1::after { content:""; display:block; width:70px; height:3px; background:var(--orange); margin-top:24px; transform-origin:right; }
.inner-site .inner-hero-copy p { max-width:650px; margin-top:23px; font-size:22px; }
.inner-site .inner-hero-actions { display:flex; gap:18px; flex-wrap:wrap; align-items:center; margin-top:30px; }
.inner-site .inner-hero-media { height:100%; min-height:450px; position:relative; overflow:hidden; grid-column:2; grid-row:1; }
.inner-site .inner-hero-media::after { content:""; position:absolute; inset:0 auto 0 0; width:100%; pointer-events:none; border-radius:0; background:linear-gradient(270deg,#fff 0,transparent 14%); }
.inner-site .inner-hero-media img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:55% 50%; clip-path:ellipse(100% 94% at 0% 50%); }
.inner-site .inner-section { padding-block:88px; }
.inner-site .inner-section.warm { background:#faf9f6; }
.inner-site .inner-section.sage { background:#f0f3ed; }
.inner-site .inner-section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:44px; }
.inner-site .inner-section-heading p { max-width:530px; }
.inner-site .inner-editorial { display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:90px; }
.inner-site .inner-editorial p + p { margin-top:22px; }
.inner-site .inner-editorial h2 { max-width:440px; }
.inner-site .inner-editorial h2 span { color:var(--orange); }
.inner-site .inner-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:54px; margin-top:64px; }
.inner-site .inner-value { position:relative; padding-top:24px; border-top:1px solid #d9ddd5; }
.inner-site .inner-value p { margin-top:14px; }
.inner-site .inner-value .inner-index { position:absolute; top:-24px; left:0; color:#d3dccc; font-size:78px; font-weight:800; line-height:1; z-index:0; }
.inner-site .inner-value h3,.inner-site .inner-value p { position:relative; }
.inner-site .inner-photo-band { display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:370px; background:#f3f5ef; }
.inner-site .inner-photo-band .inner-image { height:390px; overflow:hidden; }
.inner-site .inner-photo-band img { width:100%; height:100%; object-fit:cover; }
.inner-site .inner-photo-band .inner-band-copy { padding:52px 64px; }
.inner-site .inner-photo-band p { margin-top:22px; max-width:520px; }
.inner-site .inner-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:44px; }
.inner-site .inner-service-link { display:block; position:relative; padding:30px 0; border-bottom:1px solid #dedfd9; min-height:210px; }
.inner-site .inner-service-link .inner-service-top { display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.inner-site .inner-service-link .inner-icon { color:var(--orange); width:31px; height:31px; flex:none; }
.inner-site .inner-service-link p { font-size:18px; padding-left:25px; }
.inner-site .inner-service-link .inner-arrow { position:absolute; bottom:26px; left:3px; color:var(--orange); font-size:28px; transition:translate .2s; }
.inner-site .inner-service-link:hover .inner-arrow { translate:-7px 0; }
.inner-site .inner-service-link:hover h3 { color:var(--orange-dark); }
.inner-site .inner-steps { list-style:none; margin:0; padding:0; position:relative; }
.inner-site .inner-steps::before { content:""; position:absolute; top:26px; bottom:80px; right:28px; width:1px; background:linear-gradient(var(--orange),#e5ded0); }
.inner-site .inner-steps li { display:grid; grid-template-columns:110px .8fr 1.3fr; gap:40px; position:relative; padding:28px 0 45px; align-items:start; }
.inner-site .inner-step-num { background:#fff; border:1px solid #e4c3a7; border-radius:50%; display:grid; place-items:center; width:58px; height:58px; color:var(--orange); font-size:29px; font-weight:800; z-index:1; }
.inner-site .inner-steps h3 { padding-top:10px; }
.inner-site .inner-steps p { padding-top:8px; max-width:570px; }
.inner-site .inner-service-body { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; align-items:start; }
.inner-site .inner-service-overview { position:sticky; top:180px; }
.inner-site .inner-service-overview p { margin:22px 0; }
.inner-site .inner-detail { padding-bottom:38px; margin-bottom:38px; border-bottom:1px solid #dedfd9; }
.inner-site .inner-detail:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.inner-site .inner-detail h2 { font-size:32px; margin-bottom:20px; }
.inner-site .inner-detail ul { list-style:none; padding:0; margin:0; display:grid; gap:15px; }
.inner-site .inner-detail li { position:relative; font-size:21px; color:var(--muted); padding-right:28px; line-height:1.5; }
.inner-site .inner-detail li::before { content:""; position:absolute; right:0; top:.58em; width:10px; height:10px; border:1px solid var(--orange); transform:rotate(45deg); }
.inner-site .inner-checklist { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; }
.inner-site .inner-checklist article { border-right:2px solid #dd8b47; padding-right:24px; }
.inner-site .inner-checklist p { margin-top:16px; }
.inner-site .inner-faq { width:min(980px,100%); margin-inline:auto; }
.inner-site .inner-faq details { border-bottom:1px solid #dcded6; }
.inner-site .inner-faq summary { display:flex; justify-content:space-between; gap:24px; align-items:center; cursor:pointer; padding:27px 0; font-size:24px; font-weight:700; list-style:none; }
.inner-site .inner-faq summary::-webkit-details-marker { display:none; }
.inner-site .inner-faq summary::after { content:"+"; color:var(--orange); font-size:31px; font-weight:400; }
.inner-site .inner-faq details[open] summary::after { content:"−"; }
.inner-site .inner-faq details p { padding:0 0 30px 44px; }
.inner-site .inner-contact { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }
.inner-site .inner-contact-links { display:grid; }
.inner-site .inner-contact-link { display:block; padding:26px 0; border-bottom:1px solid #dcded6; }
.inner-site .inner-contact-link span { display:block; font-size:17px; color:var(--muted); margin-bottom:7px; }
.inner-site .inner-contact-link strong { display:inline-block; font-size:clamp(26px,3vw,42px); font-weight:700; }
.inner-site .inner-contact-link:hover strong { color:var(--orange-dark); }
.inner-site .inner-contact p { margin-top:22px; }
.inner-site .inner-cta { position:relative; overflow:hidden; background:#f0f3ed; padding:65px 0; }
.inner-site .inner-cta::before { content:""; position:absolute; width:780px; height:600px; border:1px solid #d9e0d2; border-radius:50%; left:-260px; top:-350px; transform:rotate(-25deg); pointer-events:none; }
.inner-site .inner-cta .inner-wrap { display:flex; align-items:center; justify-content:space-between; gap:40px; position:relative; }
.inner-site .inner-cta h2 { max-width:780px; }
.inner-site .inner-cta p { margin-top:12px; max-width:650px; }
.inner-site .inner-cta .button { flex:none; }
.inner-site a:focus-visible,.inner-site summary:focus-visible { outline:2px solid var(--orange); outline-offset:6px; }
.inner-site .inner-section[id] { scroll-margin-top:160px; }
@media(prefers-reduced-motion:no-preference) {
  .inner-motion-pending .inner-site [data-inner-reveal],.inner-motion-ready .inner-site [data-inner-state="pending"] { opacity:0; }
  .inner-motion-ready .inner-site [data-inner-state="pending"]:focus-within { opacity:1!important; }
  .inner-motion-pending .inner-hero-copy h1::after,
  .inner-motion-ready .inner-hero-copy h1:not(.inner-rule-drawn)::after { transform:scaleX(0); }
  .inner-motion-ready .inner-hero-copy h1.inner-rule-drawn::after { animation:inner-orange-rule 1.65s cubic-bezier(.22,.61,.36,1) both; }
  .inner-motion-ready .inner-photo-parallax { transform:translate3d(0,var(--inner-photo-y,0px),0) scale(1.12); }
  .inner-motion-pending .inner-steps::before,
  .inner-motion-ready .inner-steps::before { background:#e5ded0; }
  .inner-motion-ready .inner-steps::after { content:""; position:absolute; top:26px; bottom:80px; right:28px; width:1px; background:var(--orange); transform-origin:top center; transform:scaleY(var(--inner-route-progress,0)); pointer-events:none; }
  @keyframes inner-orange-rule { from {transform:scaleX(0);} to {transform:scaleX(1);} }
}
.inner-site .inner-icon { fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
@media(prefers-reduced-motion:reduce) { .inner-site [data-inner-reveal] { opacity:1!important; transform:none!important; } }
@media(max-width:1100px) {
  .inner-site .inner-wrap { width:calc(100% - 48px); }
  .inner-site .inner-hero-copy { padding:42px 30px 48px; }
  .inner-site .inner-hero,.inner-site .inner-hero-media { min-height:390px; }
  .inner-site .inner-editorial,.inner-site .inner-service-body { gap:48px; }
  .inner-site .inner-catalog { column-gap:27px; }
  .inner-site .inner-contact { gap:48px; }
}
@media(max-width:900px) {
  .inner-site h1 { font-size:clamp(39px,6.3vw,61px); letter-spacing:-.7px; }
  .inner-site .inner-hero { grid-template-columns:1fr 1fr; }
  .inner-site .inner-hero-copy p { font-size:20px; }
  .inner-site .inner-hero-media img { clip-path:ellipse(100% 90% at 0% 50%); }
  .inner-site .inner-section { padding-block:64px; }
  .inner-site .inner-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inner-site .inner-values { gap:30px; }
  .inner-site .inner-photo-band .inner-band-copy { padding:36px; }
  .inner-site .inner-service-overview { position:static; }
  .inner-site .inner-service-body { grid-template-columns:.7fr 1.3fr; gap:38px; }
  .inner-site .inner-steps li { grid-template-columns:65px .8fr 1.3fr; gap:25px; }
  .inner-site .inner-checklist { gap:28px; }
  .inner-site .inner-cta .inner-wrap { align-items:start; flex-direction:column; gap:28px; }
}
@media(max-width:620px) {
  .inner-motion-ready .inner-site .inner-steps::after { right:23px; }
  .inner-site p { font-size:19px; }
  .inner-site .inner-wrap { width:calc(100% - 36px); }
  .inner-site .breadcrumb { padding-top:22px; font-size:14px; }
  .inner-site .inner-hero { display:flex; flex-direction:column; align-items:stretch; }
  .inner-site .inner-hero-copy { padding:35px 22px 38px; order:0; }
  .inner-site .inner-hero-copy p { font-size:20px; }
  .inner-site .inner-hero-media { min-height:235px; height:235px; order:1; }
  .inner-site .inner-hero-media img { clip-path:none; object-position:center; }
  .inner-site .inner-hero-media::after { background:linear-gradient(#fff,transparent 22%); }
  .inner-site .inner-hero-actions { gap:14px; }
  .inner-site .inner-hero-actions .button { width:100%; }
  .inner-site .inner-section { padding-block:52px; }
  .inner-site .inner-section-heading,.inner-site .inner-editorial { display:grid; grid-template-columns:1fr; gap:24px; }
  .inner-site .inner-section-heading { margin-bottom:32px; }
  .inner-site .inner-values { grid-template-columns:1fr; margin-top:42px; gap:36px; }
  .inner-site .inner-value { padding-top:24px; }
  .inner-site .inner-photo-band { grid-template-columns:1fr; }
  .inner-site .inner-photo-band .inner-image { height:260px; }
  .inner-site .inner-photo-band .inner-band-copy { padding:34px 22px 40px; }
  .inner-site .inner-catalog { grid-template-columns:1fr; }
  .inner-site .inner-service-link { min-height:0; padding:25px 0 31px; }
  .inner-site .inner-service-link p { padding-left:33px; }
  .inner-site .inner-service-body { grid-template-columns:1fr; gap:38px; }
  .inner-site .inner-service-overview { padding-bottom:24px; border-bottom:1px solid #dcded6; }
  .inner-site .inner-detail h2 { font-size:29px; }
  .inner-site .inner-detail li { font-size:19px; }
  .inner-site .inner-steps::before { right:23px; }
  .inner-site .inner-steps li { grid-template-columns:48px 1fr; gap:12px 20px; padding:17px 0 31px; }
  .inner-site .inner-step-num { width:48px; height:48px; font-size:24px; grid-row:span 2; }
  .inner-site .inner-steps h3 { padding-top:8px; }
  .inner-site .inner-steps p { grid-column:2; padding-top:0; }
  .inner-site .inner-checklist { grid-template-columns:1fr; gap:32px; }
  .inner-site .inner-faq summary { font-size:21px; padding:23px 0; }
  .inner-site .inner-faq details p { padding-left:16px; }
  .inner-site .inner-contact { grid-template-columns:1fr; gap:30px; }
  .inner-site .inner-contact-link strong { font-size:30px; }
  .inner-site .inner-cta { padding:46px 0; }
  .inner-site .inner-section[id] { scroll-margin-top:100px; }
}

/* Integration-only native chrome. Menu rows come from Etx navigation. */
.etx-native-mobile{display:none}
.etx-native-mobile>summary{list-style:none}
.etx-native-mobile>summary::-webkit-details-marker{display:none}
.brand img,.footer-brand img{object-fit:contain}
@media(max-width:900px){
 .etx-native-mobile{display:block;grid-column:2;grid-row:1}
 .etx-mobile-links{position:absolute;top:82px;right:0;left:0;display:flex;flex-direction:column;align-items:stretch;padding:16px 20px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 24px 38px rgba(0,0,0,.08);direction:rtl}
 .etx-mobile-links a{padding:13px 10px;border-bottom:1px solid #f0eee9;font-weight:600}
 .etx-native-mobile[open] .menu-toggle-lines{background:transparent}
 .etx-native-mobile[open] .menu-toggle-lines::before{top:0;transform:rotate(45deg)}
 .etx-native-mobile[open] .menu-toggle-lines::after{top:0;transform:rotate(-45deg)}
}

/* Equivalent prepaint state for the trusted-authored renderer, with CSS-only fail-open for editor previews. */
@media(scripting:enabled) and (prefers-reduced-motion:no-preference){
 body.etx-prepaint-inner [data-inner-reveal]{opacity:0;animation:etx-prepaint-failopen 0s 4s forwards}
 @keyframes etx-prepaint-failopen{to{opacity:1}}
}
/* Editorial guides extend the approved inner-page language. */
.page-guides #page-title { scroll-margin-top:170px; }
.page-guides .guides-overview { padding:40px 0 54px; }
.page-guides .guides-index { display:grid; grid-template-columns:1fr 1fr; gap:46px; border-block:1px solid #dcded6; }
.page-guides .guides-index a { display:grid; grid-template-columns:45px 1fr auto; align-items:center; gap:18px; padding:28px 0; }
.page-guides .guides-index span { color:var(--orange-dark); font-size:18px; font-weight:700; }
.page-guides .guides-index strong { font-size:23px; font-weight:700; line-height:1.25; }
.page-guides .guides-index b { color:var(--orange-dark); font-size:29px; font-weight:400; transition:translate .2s; }
.page-guides .guides-index a:hover strong { color:var(--orange-dark); }
.page-guides .guides-index a:hover b { translate:-5px 0; }
.page-guides .guide-article { padding:65px 0 86px; scroll-margin-top:140px; }
.page-guides .guide-article.warm { background:#faf9f6; }
.page-guides .guide-article-heading { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; align-items:start; margin-bottom:46px; }
.page-guides .guide-title { display:flex; gap:20px; align-items:start; }
.page-guides .guide-number { color:#a85a1c; font-size:24px; line-height:1.6; font-weight:700; }
.page-guides .guide-title h2 { max-width:420px; font-size:clamp(32px,3.1vw,46px); }
.page-guides .guide-article-heading p { max-width:700px; font-size:22px; color:var(--ink); }
.page-guides .guide-article-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; align-items:start; }
.page-guides .guide-aside { position:sticky; top:140px; }
.page-guides .guide-photo { height:280px; overflow:hidden; margin-bottom:27px; }
.page-guides .guide-photo img { width:100%; height:100%; object-fit:cover; }
.page-guides .guide-note { border-right:2px solid #d47c35; padding-right:22px; }
.page-guides .guide-note h3 { font-size:23px; }
.page-guides .guide-note p { font-size:18px; margin-top:12px; }
.page-guides .guide-note .text-link { display:inline-block; margin-top:20px; }
.page-guides .guide-copy { max-width:730px; }
.page-guides .guide-copy h3 { font-size:27px; margin-bottom:14px; }
.page-guides .guide-copy p + p { margin-top:16px; }
.page-guides .guide-copy section + section { margin-top:38px; }
.page-guides .guide-copy ul { padding-right:22px; margin:17px 0 0; display:grid; gap:10px; color:var(--muted); font-size:20px; line-height:1.6; }
.page-guides .guide-copy li::marker { color:var(--orange-dark); }
.page-guides .guide-copy .guide-key { border-right:2px solid #d47c35; padding-right:21px; color:var(--ink); }
.page-guides .guides-contact-links { display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; margin-top:23px; font-size:21px; font-weight:700; }
.page-guides .guides-contact-links a { border-bottom:1px solid #b96524; padding-bottom:3px; }
.page-guides .guides-contact-links a:hover { color:var(--orange-dark); }
.page-guides .guide-top-link { display:inline-block; margin-top:38px; font-size:16px; font-weight:700; color:var(--orange-dark); }
@media(max-width:1100px) {
  .page-guides .guide-article-heading,.page-guides .guide-article-layout { gap:44px; grid-template-columns:.75fr 1.25fr; }
  .page-guides .guides-index { gap:30px; }
  .page-guides .guides-index strong { font-size:21px; }
}
@media(max-width:900px) {
  .page-guides .guide-aside { position:static; }
  .page-guides .guide-article { padding:48px 0 64px; }
  .page-guides .guide-article-heading,.page-guides .guide-article-layout { grid-template-columns:1fr; gap:27px; }
  .page-guides .guide-article-heading { margin-bottom:30px; }
  .page-guides .guide-title h2,.page-guides .guide-copy { max-width:100%; }
  .page-guides .guide-aside { display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:center; }
  .page-guides .guide-photo { margin-bottom:0; height:245px; }
  .page-guides .guide-copy { margin-top:12px; }
}
@media(max-width:620px) {
  .page-guides #page-title { scroll-margin-top:110px; }
  .page-guides .guides-overview { padding:28px 0 30px; }
  .page-guides .guides-index { grid-template-columns:1fr; gap:0; }
  .page-guides .guides-index a { grid-template-columns:29px 1fr auto; gap:13px; padding:22px 0; }
  .page-guides .guides-index a + a { border-top:1px solid #dcded6; }
  .page-guides .guides-index strong { font-size:21px; }
  .page-guides .guide-article { padding:40px 0 50px; scroll-margin-top:110px; }
  .page-guides .guide-title { gap:13px; }
  .page-guides .guide-title h2 { font-size:32px; }
  .page-guides .guide-number { font-size:20px; }
  .page-guides .guide-article-heading p { font-size:21px; }
  .page-guides .guide-aside { grid-template-columns:1fr; gap:23px; }
  .page-guides .guide-photo { height:220px; }
  .page-guides .guide-copy h3 { font-size:25px; }
  .page-guides .guide-copy ul { font-size:19px; padding-right:20px; }
  .page-guides .guide-copy section + section { margin-top:31px; }
  .page-guides .guides-contact-links { display:grid; gap:15px; width:fit-content; font-size:20px; }
}
@media(prefers-reduced-motion:reduce) { .page-guides .guides-index b { transition:none; } }
/* Preserve approved in-page anchors inside the system-owned section root. */
.page-guides #planning{scroll-margin-top:170px}
@media(max-width:620px){.page-guides #planning{scroll-margin-top:110px}}
/* Preserve approved in-page anchors inside the system-owned section root. */
.page-guides #mortgage-balance{scroll-margin-top:170px}
@media(max-width:620px){.page-guides #mortgage-balance{scroll-margin-top:110px}}