
.hpx-grid3{ align-items:stretch; }
.hpx-vbox{ display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; }
.hpx-vic{ width:36px; height:36px; margin:0 0 12px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.hpx-box--cream .hpx-vic{ color:#B0863A; }
.hpx-box--sage .hpx-vic{ color:#5E7E57; }
.hpx-box--pink .hpx-vic{ color:#C27A8A; }
@media (hover:hover){ .hpx-vbox:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(36,52,71,.09); } }
@media (prefers-reduced-motion:reduce){ .hpx-vbox{ transition:none; } }
.hpx-eco{ display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap:12px; align-items:stretch; margin-top:26px; }
.hpx-eco-stage{ background:#fff; border:1px solid #EDE7DC; border-radius:22px; padding:20px 18px; display:flex; flex-direction:column; box-shadow:0 6px 22px rgba(23,34,56,.04); }
.hpx-eco-head{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.hpx-eco-ic{ width:26px; height:26px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.hpx-eco-t{ font-size:1.18rem; margin:0; }
.hpx-eco-d{ font-size:.9rem; line-height:1.5; margin:0 0 12px; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; }
.hpx-eco-pills{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }
.hpx-eco-pill{ background:#F4EFE7; border-radius:999px; padding:5px 10px; font-size:.72rem; font-weight:700; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; }
.hpx-eco-arw{ display:flex; align-items:center; justify-content:center; color:#c9b79a; }
.hpx-eco-arwic{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hpx-eco-close{ text-align:center; font-family:'Playfair Display',serif; font-style:italic; font-size:1.2rem; margin:26px 0 0; color:#172238 !important; -webkit-text-fill-color:#172238 !important; }
@media (max-width:980px){
  .hpx-eco{ grid-template-columns:1fr; gap:8px; }
  .hpx-eco-arw{ transform:rotate(90deg); padding:2px 0; }
}
.hpx-tf-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:-2px 0 10px; }
.hpx-tf-greet{ font-weight:800; color:#172238 !important; -webkit-text-fill-color:#172238 !important; }
.hpx-tf-date{ color:#6B7A88 !important; -webkit-text-fill-color:#6B7A88 !important; font-size:.95rem; }
.hpx-tf-ex{ background:#F1EFF5; color:#6a5f80 !important; -webkit-text-fill-color:#6a5f80 !important; border-radius:999px; padding:3px 10px; font-size:.7rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.hpx-tf-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:18px; margin-top:22px; align-items:start; }
.hpx-tf-p{ background:#fff; border:1px solid #EDE7DC; border-radius:24px; padding:22px; box-shadow:0 6px 22px rgba(23,34,56,.04); }
.hpx-tf-p--pri{ background:#F7F2EA; border-color:#EBE0CE; }
.hpx-tf-ph{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.hpx-tf-pt{ font-size:1.2rem; margin:0; }
.hpx-tf-all{ background:none; border:none; color:#5E7E57 !important; -webkit-text-fill-color:#5E7E57 !important; font:inherit; font-weight:700; font-size:.85rem; cursor:pointer; padding:8px 4px; min-height:40px; }
.hpx-tf-all:hover{ text-decoration:underline; }
.hpx-tf-body{ display:flex; flex-direction:column; gap:10px; }
.hpx-tf-pri,.hpx-tf-cap,.hpx-tf-up{ display:flex; align-items:center; gap:12px; background:#fff; border:1px solid #EDE7DC; border-radius:16px; padding:12px 14px; }
.hpx-tf-cb{ width:26px; height:26px; flex:none; border-radius:8px; border:1.8px solid #CBB98F; background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
.hpx-tf-cb svg{ width:16px; height:16px; fill:none; stroke:#5E7E57; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.hpx-tf-cb:focus-visible{ outline:3px solid rgba(94,126,87,.4); outline-offset:2px; }
.hpx-tf-pri.is-done .hpx-tf-cb{ background:#EAF2E6; border-color:#9CBF8F; }
.hpx-tf-pri.is-done .hpx-tf-prit{ text-decoration:line-through; color:#8A94A2 !important; -webkit-text-fill-color:#8A94A2 !important; }
.hpx-tf-primid,.hpx-tf-capmid{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.hpx-tf-prit{ font-weight:700; color:#172238 !important; -webkit-text-fill-color:#172238 !important; font-size:.95rem; }
.hpx-tf-prisub{ font-size:.8rem; color:#6B7A88 !important; -webkit-text-fill-color:#6B7A88 !important; }
.hpx-tf-open{ width:38px; height:38px; flex:none; border-radius:999px; border:1px solid #E6DECF; background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; color:#5E7E57; }
.hpx-tf-open svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hpx-tf-open:hover{ background:#F4EFE7; }
.hpx-tf-thumb{ width:40px; height:40px; flex:none; border-radius:12px; background:#EAF2E6; display:flex; align-items:center; justify-content:center; color:#5E7E57; }
.hpx-tf-thumb svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.hpx-tf-thumb--sm{ width:36px; height:36px; border-radius:10px; }
.hpx-tf-cont{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; text-align:left; background:#fff; border:1px solid #EDE7DC; border-radius:16px; padding:13px 14px; cursor:pointer; font:inherit; }
.hpx-tf-cont:hover{ border-color:#CBB98F; }
.hpx-tf-contarw{ width:18px; height:18px; flex:none; fill:none; stroke:#5E7E57; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hpx-tf-empty{ text-align:center; padding:22px 10px; }
.hpx-tf-emh{ font-weight:800; color:#172238 !important; -webkit-text-fill-color:#172238 !important; margin:0 0 4px; }
.hpx-tf-emp{ color:#6B7A88 !important; -webkit-text-fill-color:#6B7A88 !important; font-size:.9rem; margin:0; }
@media (max-width:820px){
  .hpx-tf-grid{ grid-template-columns:1fr; }
}
.hpx-trust{ font-size:.9rem; line-height:1.55; color:#6B7A88 !important; -webkit-text-fill-color:#6B7A88 !important; background:#F7F2EA; border:1px solid #EEE4D3; border-radius:14px; padding:12px 16px; max-width:660px; margin:8px 0 4px; }
.hpx-res{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin-top:22px; }
.hpx-resbtn{ display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:10px; background:#fff; border:1px solid #EDE7DC; border-radius:22px; padding:20px; cursor:pointer; font:inherit; box-shadow:0 6px 22px rgba(23,34,56,.04); transition:transform .18s ease, box-shadow .18s ease; }
@media (hover:hover){ .hpx-resbtn:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(36,52,71,.09); } }
@media (prefers-reduced-motion:reduce){ .hpx-resbtn{ transition:none; } }
.hpx-res-ic{ width:44px; height:44px; flex:none; border-radius:12px; background:#EAF2E6; display:flex; align-items:center; justify-content:center; color:#5E7E57; }
.hpx-res-ic svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.hpx-res-body{ display:flex; flex-direction:column; gap:5px; width:100%; flex:1; }
.hpx-res-t{ font-size:1.12rem; margin:0; }
.hpx-res-d{ font-size:.86rem; line-height:1.5; margin:0; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; }
.hpx-res-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:10px; width:100%; }
.hpx-res-status{ font-size:.72rem; font-weight:700; color:#6B7A88 !important; -webkit-text-fill-color:#6B7A88 !important; background:#F4EFE7; border-radius:999px; padding:4px 10px; }
.hpx-res-cta{ display:inline-flex; align-items:center; gap:5px; font-size:.82rem; font-weight:700; color:#5E7E57 !important; -webkit-text-fill-color:#5E7E57 !important; }
.hpx-res-arw{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.hpx-hero2{ display:grid; grid-template-columns:1fr 1.15fr; background:#FBF6EC; border:1px solid #EDE7DC; border-radius:22px; overflow:hidden; box-shadow:0 10px 30px rgba(23,34,56,.06); }
.hpx-hero2-txt{ padding:44px 42px; display:flex; flex-direction:column; justify-content:center; }
.hpx-hero2-eb{ font-size:.8rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; margin:0 0 14px; }
.hpx-hero2-h{ font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(2.4rem,4.5vw,3.7rem); line-height:1; color:#172238 !important; -webkit-text-fill-color:#172238 !important; margin:0 0 14px; }
.hpx-hero2-tag{ font-size:1.18rem; font-weight:700; color:#172238 !important; -webkit-text-fill-color:#172238 !important; margin:0 0 10px; }
.hpx-hero2-body{ font-size:1rem; line-height:1.6; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; margin:0 0 26px; max-width:450px; }
.hpx-hero2-cta{ align-self:flex-start; display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:12px 26px; border:none; border-radius:999px; background:#172238; color:#fff !important; -webkit-text-fill-color:#fff !important; font:inherit; font-weight:700; font-size:1.05rem; cursor:pointer; transition:filter .16s; }
.hpx-hero2-cta:hover{ filter:brightness(1.14); }
.hpx-hero2-cta svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hpx-hero2-imgwrap{ min-height:100%; }
.hpx-hero2-img{ width:100%; height:100%; object-fit:cover; object-position:60% center; display:block; min-height:360px; }
@media (max-width:820px){
  .hpx-hero2{ grid-template-columns:1fr; }
  .hpx-hero2-imgwrap{ order:-1; }
  .hpx-hero2-img{ min-height:0; aspect-ratio:16 / 9; }
  .hpx-hero2-txt{ padding:28px 24px 30px; }
}
@media (prefers-reduced-motion:reduce){ .hpx-hero2-cta{ transition:none; } }
#page-hero-pulse .hpx-header{ margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; width:100vw !important; max-width:100vw !important; line-height:0; margin-bottom:0 !important; }
#page-hero-pulse .hpx-hero-img{ display:block; width:100%; max-width:none; border-radius:0; box-shadow:none; }
.hpx-snav{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid #EDE7DC; border-radius:16px; margin:14px 0 4px; box-shadow:0 6px 18px rgba(23,34,56,.05); }
.hpx-snav-in{ display:flex; align-items:center; gap:6px; overflow-x:auto; padding:9px 12px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.hpx-snav-in::-webkit-scrollbar{ display:none; }
.hpx-snav-tab{ flex:0 0 auto; min-height:44px; padding:8px 15px; border-radius:999px; border:1px solid transparent; background:none; font:inherit; font-weight:700; font-size:.9rem; color:#5A6374 !important; -webkit-text-fill-color:#5A6374 !important; cursor:pointer; white-space:nowrap; }
.hpx-snav-tab:hover{ background:#F4EFE7; }
.hpx-snav-tab.is-active{ background:#EAF2E6; color:#3F5A3A !important; -webkit-text-fill-color:#3F5A3A !important; }
.hpx-snav-tab:focus-visible{ outline:3px solid rgba(94,126,87,.4); outline-offset:2px; }
.hpx-snav-cta{ flex:0 0 auto; margin-left:auto; min-height:44px; padding:8px 20px; border-radius:999px; border:none; background:#172238; color:#fff !important; -webkit-text-fill-color:#fff !important; font:inherit; font-weight:700; font-size:.9rem; cursor:pointer; white-space:nowrap; }
.hpx-snav-cta:hover{ filter:brightness(1.12); }
@media (max-width:760px){
  .hpx-snav{ position:static; }
  .hpx-snav-cta{ margin-left:6px; }
}
