@layer homes-product {
html{scroll-padding-top:150px}body.fh-product{--navy:#102f49;--text:#17334a;--muted:#526979;--bg:#f6f8f9;--line:#dce5ea;background:#f6f8f9!important;color:#17334a!important;font-size:16px!important;line-height:1.65!important}
.fh-product *, .fh-product *:before,.fh-product *:after{box-sizing:border-box}
.fh-product .wrap{width:100%!important;max-width:1200px!important;padding-left:32px!important;padding-right:32px!important;margin-inline:auto!important}
.fh-product .dk-header{position:sticky!important;top:0!important;display:grid!important;grid-template-columns:1fr auto!important;gap:0 24px!important;padding:14px max(32px,calc((100vw - 1136px)/2)) 0!important;background:rgba(255,255,255,.97)!important;border:0!important;border-bottom:1px solid #dce5ea!important;box-shadow:none!important;backdrop-filter:blur(16px)!important;min-width:0!important}
.fh-product .dk-brand{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important}
.fh-product .dk-logo{width:40px!important;height:40px!important;min-width:40px!important;flex-basis:40px!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
.fh-product .dk-logo img{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;object-fit:contain!important;transform:none!important}
.fh-product .dk-name b{font-size:18px!important;color:#102f49!important}.fh-product .dk-name span{font-size:11px!important;color:#526979!important}
.fh-product .dk-end{grid-column:2!important;grid-row:1!important;position:static!important;display:flex!important;align-items:center!important;margin:0!important}
.fh-product .dk-tools{grid-column:1/-1!important;grid-row:2!important;position:static!important;display:flex!important;justify-content:flex-start!important;padding:4px 0!important;margin:0!important;min-height:0!important;background:none!important;border:0!important;box-shadow:none!important}
.fh-product .dk-tools:empty{display:none!important}.fh-product .dk-nav{grid-column:1/-1!important;grid-row:3!important;display:flex!important;flex-wrap:nowrap!important;gap:20px!important;align-items:center!important;overflow-x:auto!important;overscroll-behavior-inline:contain;padding:0!important;margin:0!important;max-width:100%!important;min-width:0!important;scrollbar-width:thin!important;background:none!important;border:0!important;box-shadow:none!important}
.fh-product .dk-nav a,.fh-product .dk-share{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;min-height:46px!important;padding:10px 0!important;margin:0!important;font-size:13px!important;font-weight:650!important;color:#526979!important;text-decoration:none!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important;box-shadow:none!important;white-space:nowrap!important}
.fh-product .dk-nav a[aria-current],.fh-product .dk-nav a:hover{color:#075b94!important;border-bottom-color:#075b94!important}.fh-product .dk-share{margin-left:auto!important;gap:6px!important}
.fh-product section{padding:68px 0!important}.fh-product main.app{max-width:1200px!important;padding:54px 32px 72px!important;margin:auto!important}.fh-product main.app section{padding:28px 0!important}.fh-product .hero{padding:64px 0!important;background:#eaf3f7!important;color:#17334a!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}.fh-product .hero:after{display:none!important}
.fh-product .hero-grid{display:grid!important;grid-template-columns:1fr 1.05fr!important;gap:48px!important;align-items:center!important}.fh-product .dk-title{font-size:clamp(2.25rem,3.8vw,3.6rem)!important;line-height:1.12!important;letter-spacing:-.045em!important;max-width:20ch!important;margin:12px 0 24px!important;color:#102f49!important}.fh-product .dk-title .dk-accent{color:#176b87!important;font-style:normal!important}.fh-product .dk-lead{font-size:17px!important;line-height:1.75!important;color:#496373!important;max-width:54ch!important}.fh-product .dk-h2{font-size:clamp(1.75rem,2.7vw,2.55rem)!important;line-height:1.2!important;letter-spacing:-.035em!important;color:#102f49!important;margin:0 0 20px!important;max-width:30ch!important}.fh-product .dk-h3{font-size:21px!important;line-height:1.3!important;color:#17334a!important;margin:12px 0!important}.fh-product .dk-kicker{padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#32647b!important;font-size:11px!important;font-weight:800!important;letter-spacing:.16em!important;line-height:1.7!important;margin:0 0 8px!important;box-shadow:none!important}
.fh-product .grid{display:grid!important;gap:24px!important}.fh-product .g2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fh-product .g3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.fh-product .g4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.fh-product .card,.fh-product .form-shell{padding:28px!important;border:1px solid #dce5ea!important;background:#fff!important;border-radius:16px!important;box-shadow:0 8px 28px -24px #143c50!important;min-width:0!important;transform:none!important}.fh-product .band{background:#edf3f5!important;border:0!important}.fh-product .muted,.fh-product .card p{color:#526979!important}.fh-product .small{font-size:13px!important;line-height:1.7!important}.fh-product .btns{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-top:26px!important}.fh-product .btn,.fh-product .dk-go,.fh-product button:not(.gt-launcher):not(.bula-trigger){min-height:44px!important;font-size:14px!important;line-height:1.5!important}.fh-product .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;padding:12px 19px!important;border-radius:8px!important;text-decoration:none!important;font-weight:750!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;transform:none!important}.fh-product .primary,.fh-product .dk-go{background:#075b94!important;color:#fff!important;border:1px solid #075b94!important}.fh-product .ghost,.fh-product .line,.fh-product .navy{background:#fff!important;color:#075b94!important;border:1px solid #bdd0db!important}.fh-product button:hover,.fh-product .btn:hover{filter:brightness(.96)!important}.fh-product :focus-visible{outline:3px solid #c38724!important;outline-offset:3px!important;box-shadow:none!important}.fh-product a{color:#075b94!important;text-underline-offset:4px}.fh-product .fh-text-link{display:inline-flex;font-size:14px;font-weight:750;line-height:1.7;padding-block:10px;gap:8px}.fh-product .fh-number{font-size:11px;font-weight:800;color:#32647b;letter-spacing:.12em}.fh-product .fh-status{display:flex;align-items:center;gap:9px;font-size:12px!important;font-weight:650;color:#526979!important;margin:24px 0 0}.fh-status>span{width:7px;height:7px;background:#29786b;border-radius:50%;flex:none}.fh-product .fh-visual{margin:0;position:relative;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px -35px #17334a}.fh-visual img{width:100%;height:440px;object-fit:cover;display:block}.fh-product figcaption{font-size:10px;line-height:1.6;padding:10px 14px;background:#fff;color:#526979}.fh-section-top{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.fh-section-top>p{max-width:35ch;color:#526979;font-size:14px}.fh-intro{max-width:68ch;font-size:17px;color:#526979;margin-bottom:30px}.fh-product .fh-steps{padding:0;list-style:none;counter-reset:steps;margin:0}.fh-steps li{display:grid;grid-template-columns:30px 1fr;gap:4px 16px;padding:18px 0;border-bottom:1px solid #dce5ea;counter-increment:steps}.fh-steps li:before{content:counter(steps,decimal-leading-zero);font-size:12px;font-weight:800;color:#32647b;grid-row:span 2;padding-top:4px}.fh-steps span{grid-column:2;color:#526979;font-size:14px}.fh-checklist{padding-left:20px;color:#526979}.fh-checklist li{padding:7px 0}.fh-product .faq details{background:#fff!important;border:1px solid #dce5ea!important;border-radius:12px!important;margin:12px 0!important;padding:0!important;box-shadow:none!important}.fh-product summary{padding:20px 24px!important;cursor:pointer!important;min-height:52px!important;font-weight:700!important}.fh-product .answer{padding:0 24px 24px!important;color:#526979!important}.fh-product .form-shell{max-width:900px!important}.fh-product .row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin-bottom:20px!important}.fh-product label{display:block!important;font-size:13px!important;color:#17334a!important;font-weight:700!important;margin-bottom:8px!important}.fh-product input,.fh-product select,.fh-product textarea{width:100%!important;min-width:0!important;min-height:48px!important;padding:12px 14px!important;font:inherit!important;font-size:16px!important;color:#17334a!important;border:1px solid #bcced8!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}.fh-product input[data-k]{background:#fffcf0!important}.fh-product input:invalid[aria-invalid=true]{border-color:#ad3029!important}.fh-product .fh-consent{display:flex!important;align-items:flex-start;gap:10px;margin-top:20px}.fh-product input[type=checkbox]{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin-top:2px}.fh-product .hp{position:absolute!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;opacity:0!important;padding:0!important;pointer-events:none!important}.fh-product .msg{margin-top:18px!important}.fh-product .msg:empty{display:none}.fh-product .msg.err,#budgetError{color:#ad3029!important}.fh-product .msg.ok{color:#196b50!important}.fh-product .note{padding:18px 22px!important;margin-top:24px!important;border:1px solid #c7d9e3!important;border-radius:10px!important;background:#edf5f8!important;font-size:14px!important;color:#345569!important}.fh-product .note.red{background:#fff0ed!important;color:#982c23!important;border-color:#e0aca5!important}.fh-product .fh-footer{padding:48px 0!important;background:#102f49!important;color:#dbe8ed!important}.fh-product .fh-footer a{color:#f3f8fa!important}.fh-footer-brand{font-size:22px;font-weight:800;text-decoration:none}.fh-footer nav{display:flex;gap:12px 26px;flex-wrap:wrap;margin:24px 0;font-size:13px}.fh-footer .small{max-width:85ch;color:#adcad7!important}.fh-product .float-cta{display:none!important}.fh-product .fh-wide-image{margin:0 0 36px;border-radius:16px;overflow:hidden}.fh-wide-image img{display:block;width:100%;height:380px;object-fit:cover}.fh-product .fh-calculator{align-items:start!important}.fh-product .fh-result{background:#edf5f8!important;position:sticky;top:170px}.fh-result .fh-payment{font-size:46px;font-weight:800;letter-spacing:-.05em;line-height:1.2;margin:14px 0 6px}.fh-result dl{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:14px;border-top:1px solid #c8dce5;padding-top:20px;margin-top:26px}.fh-result dd{font-weight:750;margin:0}.fh-product table{width:100%;font-size:13px!important}.fh-product .tablewrap{overflow:auto!important;max-width:100%!important}.fh-product .tablewrap table{min-width:500px}.fh-product .kpi .v{font-size:22px!important;color:#102f49!important}.fh-product .tabs{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;max-width:100%!important;gap:8px!important}.fh-product .tabs button{white-space:nowrap!important}.fh-product .tight{padding:22px 0!important}.fh-product .stage{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.fh-product .stage>div{padding:16px!important;border:1px solid #dce5ea!important;border-radius:10px!important;background:#fff!important}.fh-product #gt-launcher{position:static!important;margin:20px 32px!important;float:right!important}.fh-product .skip{position:fixed!important;top:8px!important;left:16px!important;z-index:1000!important;transform:translateY(-200%)!important;background:#fff!important;padding:10px!important}.fh-product .skip:focus{transform:none!important}
@media(max-width:950px){.fh-product .hero-grid{gap:28px!important}.fh-product .g3{grid-template-columns:1fr!important}.fh-product .g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fh-visual img{height:380px}.fh-product .fh-result{position:static}.fh-product .fh-section-top{align-items:start}}
@media(max-width:680px){html{scroll-padding-top:170px}.fh-product .wrap{padding-left:20px!important;padding-right:20px!important}.fh-product .dk-header{padding:12px 20px 0!important;gap:0 12px!important}.fh-product .dk-nav{gap:20px!important}.fh-product .dk-name span{display:none!important}.fh-product section{padding:44px 0!important}.fh-product .hero{padding:36px 0!important}.fh-product .hero-grid,.fh-product .g2,.fh-product .row{grid-template-columns:minmax(0,1fr)!important}.fh-product .dk-title{font-size:36px!important;max-width:100%!important;margin-bottom:20px!important}.fh-product .dk-lead{font-size:16px!important}.fh-product .hero-grid{gap:30px!important}.fh-visual img{height:270px}.fh-product .card,.fh-product .form-shell{padding:22px!important}.fh-product .fh-section-top{display:block}.fh-product .fh-section-top>p{max-width:100%}.fh-product main.app{padding:32px 20px 48px!important}.fh-product .row{gap:16px!important}.fh-product .g4{gap:12px!important}.fh-product .kpi{padding:16px!important}.fh-product .kpi .v{font-size:19px!important;overflow-wrap:anywhere}.fh-product .stage{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fh-wide-image img{height:260px}.fh-result .fh-payment{font-size:40px}.fh-product .fh-footer{padding:36px 0!important}.fh-product dialog,.fh-product .box{max-width:calc(100vw - 24px)!important;width:600px!important;max-height:85dvh!important;overflow:auto!important}.fh-product .toolbar{display:flex;gap:8px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fh-product *{animation:none!important;transition:none!important}}@media print{.fh-product .dk-header,.fh-product .fh-footer,.fh-product #gt-launcher,.fh-product button{display:none!important}.fh-product .g2{grid-template-columns:1fr!important}.fh-product .card{break-inside:avoid}.fh-product .fh-result{position:static}}
}

@layer homes-product {
.fh-product .dk-header{grid-template-columns:1fr auto auto!important;gap:0 20px!important;padding-top:12px!important}.fh-product .dk-end{grid-column:3!important}.fh-product .dk-tools{grid-column:2!important;grid-row:1!important;padding:0!important}.fh-product .dk-nav{grid-row:2!important}.fh-product .fh-menu-button{display:none!important}
.fh-product .fh-status{margin-top:22px!important}
@media(max-width:680px){html{scroll-padding-top:96px}.fh-product .dk-header{padding:12px 16px!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:12px!important}.fh-product .dk-end{grid-column:2!important}.fh-product .fh-menu-button{display:inline-flex!important;align-items:center!important;gap:8px!important;grid-column:3!important;grid-row:1!important;min-height:44px!important;padding:8px 10px!important;background:white!important;border:1px solid #bdd0db!important;border-radius:8px!important;color:#075b94!important;box-shadow:none!important;font-size:13px!important}.fh-product .dk-nav{display:none!important}.fh-product .dk-tools{display:none!important}.fh-product .fh-menu-open .dk-nav{display:flex!important;grid-column:1/-1!important;grid-row:2!important;flex-wrap:wrap!important;overflow:visible!important;gap:4px 20px!important}.fh-product .fh-menu-open .dk-tools{display:flex!important;grid-column:1/-1!important;grid-row:3!important;justify-content:start!important}.fh-product .dk-name b{font-size:16px!important}.fh-product .dk-brand{gap:7px!important}.fh-product .dk-logo,.fh-product .dk-logo img{width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;min-height:32px!important;max-height:32px!important;flex-basis:32px!important}}
}

@layer homes-product{@media(max-width:360px){.fh-product .dk-header{gap:8px!important}body.fh-product .dk-header button.fh-menu-button{font-size:0!important;gap:0!important;min-width:44px!important;padding:8px!important}.fh-product .fh-menu-button span{font-size:18px!important}}}

/* Premium screenshot revision: preserve Homes' quiet blue/stone identity.
   homes-product is the first declared layer in every product page. */
@layer homes-product {
  .fh-product .dk-header :is(#dk-acct button,.fh-menu-button,.bula-btn,button[data-bula-open]),
  .fh-product :is(.btn.ghost,.btn.line,.btn.navy) {
    background:#f8fbfd!important;color:#24516b!important;border:1px solid #c5d6df!important;
    border-radius:10px!important;outline:0!important;box-shadow:inset 0 1px 0 #fff!important;
    text-shadow:none!important;min-height:44px!important;font-weight:700!important;
    letter-spacing:normal!important;line-height:1.4!important;
  }
  .fh-product .btn.primary {
    background:#075b83!important;color:#fff!important;border-color:#075b83!important;
    border-radius:10px!important;box-shadow:0 4px 12px -8px #07394f!important;outline:0!important;
  }
  .fh-product :is(.btn,#dk-acct button,.fh-menu-button,.bula-btn,button[data-bula-open]):focus-visible {
    outline:3px solid #1979ae!important;outline-offset:3px!important;
    box-shadow:0 0 16px #35a0ec44!important;
  }
  @media(hover:hover) and (pointer:fine) {
    .fh-product .dk-header :is(#dk-acct button,.fh-menu-button,.bula-btn,button[data-bula-open]):hover,
    .fh-product .btn:hover {box-shadow:0 0 16px #35a0ec33!important;border-color:#679ebd!important;}
  }
  @media(max-width:680px) {
    html {scroll-padding-top:152px;}
    .fh-product .dk-header {
      grid-template-columns:minmax(0,1fr) auto!important;
      gap:10px 12px!important;padding:14px 20px!important;
    }
    .fh-product .dk-brand {grid-column:1/-1!important;grid-row:1!important;gap:10px!important;}
    .fh-product .dk-name {min-width:0!important;}
    .fh-product .dk-name b {font-size:18px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important;}
    .fh-product .dk-end {grid-column:1!important;grid-row:2!important;justify-self:start!important;gap:10px!important;}
    .fh-product .fh-menu-button {grid-column:2!important;grid-row:2!important;font-size:14px!important;padding:10px 14px!important;gap:8px!important;}
    .fh-product .fh-menu-open .dk-nav {grid-row:3!important;gap:4px 20px!important;padding-top:6px!important;}
    .fh-product .fh-menu-open .dk-tools {grid-row:4!important;}
    .fh-product .hero {padding:36px 0 40px!important;}
    .fh-product .hero-grid {gap:28px!important;}
    .fh-product .hero .dk-title {font-size:clamp(2rem,8.6vw,2.5rem)!important;line-height:1.15!important;margin:12px 0 20px!important;}
    .fh-product .hero .dk-lead {line-height:1.7!important;}
    .fh-product .hero .btns {display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
    .fh-product .hero .btn {width:100%!important;justify-content:space-between!important;min-height:48px!important;padding:13px 17px!important;}
    .fh-product .fh-visual img {height:auto!important;aspect-ratio:4/3;object-fit:cover;}
    .fh-product figcaption {font-size:12px!important;line-height:1.55!important;padding:12px 14px!important;}
  }
  @media(forced-colors:active) {
    .fh-product .dk-header :is(#dk-acct button,.fh-menu-button,.bula-btn,button[data-bula-open]),
    .fh-product :is(.btn.primary,.btn.ghost,.btn.line,.btn.navy) {
      background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important;box-shadow:none!important;
    }
    .fh-product :is(.btn,#dk-acct button,.fh-menu-button):focus-visible {outline-color:Highlight!important;box-shadow:none!important;}
  }
}
/* Home page start question path (#igStart): keep the result button text white. In the layer so it can beat the layered link colour. */
@layer homes-product{.fh-product #igStart .pf-actions a{color:#fff!important}}
