/* HourNerd / bright future. The supplied logo and its palette remain the source. */
.future-site { --future-grid: rgba(88, 98, 64, .065); --future-glass: rgba(255, 255, 255, .88); }
.future-site .site-header { background: rgba(255, 255, 255, .94); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.future-site .site-header::after { content: ""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent 3%, #f4901c70 24%, #c0d72d80 72%, transparent 97%); pointer-events: none; }
.future-site .nav-cta, .future-site .btn-primary { box-shadow: 0 5px 18px #f4901c21, inset 0 1px 0 #ffffff70; }
.future-site .nav-cta:hover, .future-site .btn-primary:hover { box-shadow: 0 8px 27px #f4901c38, inset 0 1px 0 #ffffff90; }
.future-site .btn-outline { background: rgba(255,255,255,.8); box-shadow: inset 0 1px 0 #fff; }
.future-site .phone-bar { background: linear-gradient(100deg, #f7f8f5, #fff 50%, #faf9f6); }
.future-site .detail-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 90% 20%, #f2f7d5, transparent 55%), radial-gradient(ellipse at 15% 100%, #fff1df, transparent 55%), #fff; }
.future-site .detail-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(var(--future-grid) 1px,transparent 1px), linear-gradient(90deg,var(--future-grid) 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(110deg,transparent 25%,#000); -webkit-mask-image: linear-gradient(110deg,transparent 25%,#000); }
.future-site .detail-hero::after { content: ""; position: absolute; width: min(38vw, 500px); aspect-ratio: 1; right: -5%; top: -12%; z-index: -1; border: 1px solid #c0d72d66; border-radius: 50%; box-shadow: 0 0 0 38px #fff7, 0 0 0 39px #c0d72d33, 0 0 0 80px #fff4, 0 0 0 81px #f4901c25, 0 0 0 130px #fff2, 0 0 0 131px #f4901c20; pointer-events: none; }
.future-site .detail-eyebrow { display: inline-block; padding: 8px 13px; border: 1px solid #c8d6a5; border-radius: 6px; background: #ffffffab; font-size: 10px; letter-spacing: .16em; }
.future-site .detail-hero h1 { text-wrap: balance; }
.future-site .service-card, .future-site .detail-card { border-color: #d9ded0; box-shadow: 0 14px 38px #30384205; }
.future-site .service-card:hover, .future-site .detail-card:hover { border-color: #c0d72d; box-shadow: 0 18px 40px #52610a12; }
.future-site .service-card.featured { background: linear-gradient(140deg,#fff3df,#ffffff 85%); border-color: #efd1a4; }
.future-site .service-icon, .future-site .home-service-icon { border: 1px solid #c0d72d38; box-shadow: inset 0 1px 0 #fff, 0 6px 16px #52610a06; }
.future-site .detail-list, .future-site .contact-card { box-shadow: 0 20px 45px #3038420b, inset 0 1px 0 #fff; }
.future-site input:focus-visible, .future-site select:focus-visible, .future-site textarea:focus-visible { outline-color: var(--orange-ink); box-shadow: 0 0 0 5px #f4901c1a; }
.future-site .footer, .future-site .home-footer { background: radial-gradient(ellipse at 95% 10%,#f2f6dd,transparent 45%),#f4f5f2; }
.future-site .home-hero { position: relative; isolation: isolate; overflow: hidden; }
.future-site .home-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: radial-gradient(#a6b87555 .8px, transparent .8px); background-size: 23px 23px; mask-image: linear-gradient(110deg,transparent 32%,#000); -webkit-mask-image: linear-gradient(110deg,transparent 32%,#000); }
.future-site .home-hero-card { border-radius: 26px; border-color: #ced8a7; box-shadow: 0 25px 65px #52610a14, inset 0 1px 0 #fff; }

/* The entrance: a luminous network around two clear choices. */
.future-welcome { background: #fbfcf9; }
.future-welcome .entry-header { position: relative; z-index: 3; background: #fffffff5; border-bottom-color: #dce1d4; }
.future-welcome .entry-header-inner { min-height: 102px; }
.entry-identity { display: flex; align-items: center; gap: 26px; }
.entry-brand-note { padding-left: 26px; border-left: 1px solid #dce1d4; color: var(--muted); font-size: 11px; max-width: 185px; letter-spacing: .025em; line-height: 1.6; }
.future-welcome .entry-contact > a:last-child { padding: 9px 15px; border: 1px solid var(--line); border-radius: 100px; background: #fff; }
.future-entry { position: relative; isolation: isolate; overflow: hidden; padding-top: 47px; padding-bottom: 34px; background: radial-gradient(ellipse at 0 30%,#fff0ddaa,transparent 45%),radial-gradient(ellipse at 100% 10%,#edf6c58c,transparent 48%),#fcfdfb; }
.future-entry > .container { position: relative; z-index: 1; }
.future-entry > canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; opacity: .8; }
.entry-grid { position: absolute; inset: 0; z-index: -2; pointer-events: none; background-image: linear-gradient(#7e8c5612 1px,transparent 1px),linear-gradient(90deg,#7e8c5612 1px,transparent 1px); background-size: 52px 52px; mask-image: radial-gradient(ellipse at 50% 10%,#000 0,transparent 80%); -webkit-mask-image: radial-gradient(ellipse at 50% 10%,#000 0,transparent 80%); }
.entry-halo { position: absolute; left: 50%; top: -275px; width: 640px; height: 640px; transform: translateX(-50%); border-radius: 50%; border: 1px solid #c0d72d40; box-shadow: 0 0 0 54px #ffffff60,0 0 0 55px #c0d72d20,0 0 0 118px #ffffff30,0 0 0 119px #f4901c15; pointer-events: none; z-index: -1; }
.future-welcome .entry-intro { max-width: 1060px; margin-bottom: 34px; }
.future-welcome .entry-intro .kicker { display: inline-flex; align-items: center; gap: 10px; padding: 7px 13px; border: 1px solid #cbd8ad; border-radius: 100px; background: #ffffffcf; box-shadow: 0 5px 18px #52610a08; margin-bottom: 21px; font-size: 10px; }
.entry-beacon { width: 6px; height: 6px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px #c0d72d25; position: relative; }
.entry-beacon::after { content: ""; position: absolute; inset: -5px; border: 1px solid #bacb49; border-radius: 50%; animation: hn-beacon 3s ease-out infinite; }
.future-welcome .entry-intro h1 { font-size: clamp(2.8rem,4.7vw,4.3rem); font-weight: 800; line-height: 1.13; letter-spacing: -.06em; margin-bottom: 19px; text-wrap: balance; }
.entry-title-accent { color: var(--orange-ink); position: relative; white-space: nowrap; }
.entry-title-accent::after { content: ""; position: absolute; height: 4px; border-radius: 8px; bottom: -6px; left: 1px; right: 1px; background: linear-gradient(90deg,var(--orange),var(--green)); transform: scaleX(.35); transform-origin: left; animation: hn-underline 1.2s .15s cubic-bezier(.2,.7,.2,1) forwards; }
.future-welcome .entry-intro > p:last-child { font-size: 17px; }
.future-welcome .path-options { gap: 26px; perspective: 1300px; }
.future-welcome .path-choice { position: relative; isolation: isolate; min-width: 0; padding: 30px 34px 28px; border: 1px solid #e8c99f; border-radius: 22px; background: radial-gradient(ellipse at var(--spot-x,30%) var(--spot-y,0%),#fff2dbb8 0, transparent 62%),#fffffff5; box-shadow: 0 4px 0 #fff,0 5px 0 #dfd5c5,0 20px 45px #995f1310,inset 0 1px 0 #fff; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.future-welcome .path-choice::before { content: ""; position: absolute; pointer-events: none; inset: -1px; border: 1px solid transparent; border-top: 3px solid var(--orange); border-radius: inherit; z-index: -1; }
.future-welcome .path-choice::after { content: ""; position: absolute; right: 20px; top: 20px; width: 9px; height: 9px; border-top: 1px solid #e6b46b; border-right: 1px solid #e6b46b; pointer-events: none; }
.future-welcome .path-personal { border-color: #cad99a; background: radial-gradient(ellipse at var(--spot-x,70%) var(--spot-y,0%),#f2f8d8c7 0, transparent 62%),#fffffff5; box-shadow: 0 4px 0 #fff,0 5px 0 #d0d7c0,0 20px 45px #52610a0c,inset 0 1px 0 #fff; }
.future-welcome .path-personal::before { border-top-color: var(--green); }
.future-welcome .path-personal::after { border-color: #adc156; }
.future-welcome .path-choice:hover { border-color: #edb15f; box-shadow: 0 4px 0 #fff,0 5px 0 #dfd5c5,0 25px 60px #995f1320,inset 0 1px 0 #fff; }
.future-welcome .path-personal:hover { border-color: #a9c443; box-shadow: 0 4px 0 #fff,0 5px 0 #d0d7c0,0 25px 60px #52610a1b,inset 0 1px 0 #fff; }
.future-welcome .path-choice-top { margin-bottom: 24px; padding-top: 7px; }
.future-welcome .path-icon { position: relative; border-radius: 50%; width: 58px; height: 58px; border: 1px solid #f0c993; background: linear-gradient(140deg,#fff,#ffebce); box-shadow: inset 0 1px 0 #fff,0 5px 16px #f4901c18; margin: 5px; }
.future-welcome .path-icon::before { content: ""; position: absolute; inset: -8px; border: 1px dashed #e3b77a; border-radius: 50%; animation: hn-orbit 28s linear infinite; }
.future-welcome .path-icon::after { content: ""; position: absolute; top: -9px; left: 30px; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 12px #f4901c80; }
.future-welcome .path-personal .path-icon { border-color: #c7d68b; background: linear-gradient(140deg,#fff,#eaf3bc); box-shadow: inset 0 1px 0 #fff,0 5px 16px #c0d72d20; }
.future-welcome .path-personal .path-icon::before { border-color: #c2d276; animation-direction: reverse; }
.future-welcome .path-personal .path-icon::after { background: var(--green); box-shadow: 0 0 12px #c0d72d90; }
.path-channel { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; padding-right: 2px; }
.path-signal { display: flex; align-items: flex-end; gap: 3px; height: 16px; }
.path-signal i { display: block; width: 3px; border-radius: 2px; background: var(--orange); transform-origin: bottom; animation: hn-signal 2.8s ease-in-out infinite; }
.path-signal i:nth-child(1) { height: 5px; animation-delay: -.2s; }
.path-signal i:nth-child(2) { height: 9px; animation-delay: -.4s; }
.path-signal i:nth-child(3) { height: 13px; animation-delay: -.6s; }
.path-signal i:nth-child(4) { height: 16px; animation-delay: -.8s; }
.path-personal .path-signal i { background: #9cb520; }
.future-welcome .path-overline { font-size: 10px; letter-spacing: .12em; }
.future-welcome .path-choice h2 { font-size: clamp(1.9rem,2.5vw,2.15rem); margin-bottom: 15px; }
.future-welcome .path-choice p { font-size: 15px; line-height: 1.7; margin-bottom: 20px; }
.future-welcome .path-services { gap: 7px; margin-bottom: 25px; }
.future-welcome .path-services li { background: #fff9; border: 1px solid #e3e5dd; font-size: 11px; padding: 4px 8px; border-radius: 5px; }
.future-welcome .path-action { position: relative; border: 1px solid #df891e; background: linear-gradient(115deg,#f4901c,#ffad43); box-shadow: inset 0 1px 0 #ffffff70,0 7px 18px #f4901c14; border-radius: 9px; padding: 14px 17px; }
.future-welcome .path-personal .path-action { border-color: #b1c52c; background: linear-gradient(115deg,#c0d72d,#d6e66f); box-shadow: inset 0 1px 0 #ffffff80,0 7px 18px #c0d72d14; }
.future-welcome .path-action span { transition: transform .25s ease; }
.future-welcome .path-choice:hover .path-action span { transform: translateX(5px); }
.future-welcome .path-note { font-size: 11px; margin-top: 12px; }
.future-welcome .entry-not-sure { margin-top: 27px; font-size: 13px; }
.future-welcome .entry-footer { background: #f7f8f3; border-color: #dce1d4; }
.future-welcome .entry-footer-inner { padding-block: 22px; padding-right: 130px; font-size: 11px; }
@keyframes hn-orbit { to { transform: rotate(360deg); } }
@keyframes hn-beacon { 0% { transform: scale(.4); opacity: .7; } 80%,100% { transform: scale(1.8); opacity: 0; } }
@keyframes hn-signal { 0%,100% { transform: scaleY(.7); opacity: .65; } 50% { transform: scaleY(1); opacity: 1; } }
@keyframes hn-underline { to { transform: scaleX(1); } }
[data-motion="off"] .entry-beacon::after,
[data-motion="off"] .future-welcome .path-icon::before,
[data-motion="off"] .path-signal i { animation: none; }
[data-motion="off"] .entry-title-accent::after { animation: none; transform: scaleX(1); }
[data-motion="off"] .future-welcome .path-action span { transition: none; }

@media (max-width:1080px) {
  .entry-brand-note { display: none; }
  .future-welcome .path-choice { padding: 28px; }
  .future-welcome .path-choice h2 { font-size: 30px; }
  .future-welcome .path-services { gap: 5px; }
}
@media (max-width:820px) {
  .future-welcome .entry-header-inner { min-height: 90px; }
  .future-entry { padding-top: 39px; }
  .future-welcome .path-options { gap: 20px; }
  .future-welcome .path-choice { padding: 25px; }
  .future-welcome .path-choice h2 { font-size: 28px; }
  .future-welcome .path-overline { font-size: 9px; }
  .future-welcome .entry-footer-inner { padding-right: 120px; }
}
@media (max-width:700px) {
  .future-site > .future-motion-toggle { position: static; width: max-content; margin: 14px 18px 18px auto; }
  .future-entry { padding-top: 28px; }
  .future-welcome .entry-intro { margin-bottom: 25px; }
  .future-welcome .entry-intro h1 { font-size: 36px; max-width: 530px; }
  .entry-title-accent { white-space: normal; }
  .entry-title-accent::after { display: none; }
  .future-welcome .entry-intro .kicker { margin-bottom: 17px; font-size: 9px; padding: 6px 10px; }
  .future-welcome .entry-intro > p:last-child { font-size: 15px; }
  .future-welcome .path-choice { padding: 20px; border-radius: 18px; }
  .future-welcome .path-choice h2 { font-size: 25px; margin-bottom: 10px; }
  .future-welcome .path-choice p { font-size: 14px; line-height: 1.55; margin-bottom: 14px; }
  .future-welcome .path-choice-top, .future-welcome .path-services, .future-welcome .path-note { display: none; }
  .future-welcome .path-action { padding: 11px 15px; font-size: 13px; }
  .future-welcome .entry-not-sure { font-size: 12px; margin-top: 25px; }
  .future-welcome .entry-footer-inner { padding-bottom: 23px; padding-right: 0; }
  .future-welcome .entry-footer-inner > span:nth-child(2) { display: none; }
  .entry-halo { width: 430px; height: 430px; top: -235px; }
  .future-site .detail-hero::after { opacity: .6; right: -16%; }
}
@media (max-width:560px) {
  .future-welcome .entry-header-inner { min-height: 84px; }
  .future-welcome .entry-contact > a:last-child { border: 0; padding: 3px 0; background: transparent; }
  .future-welcome .entry-intro h1 { font-size: 35px; }
}
@media (prefers-reduced-motion: reduce) {
  .entry-beacon::after, .future-welcome .path-icon::before, .path-signal i { animation: none; }
  .entry-title-accent::after { animation: none; transform: scaleX(1); }
  .future-welcome .path-action span { transition: none; }
}
