.home-hero { position: relative; overflow: hidden; color: #fff; background-color: #55a7c7; background-image: url("../../background.png"); background-position: center center; background-size: cover; background-repeat: no-repeat; }
.home-hero::before { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(5, 26, 34, .34) 0%, rgba(5, 26, 34, .12) 42%, rgba(5, 26, 34, .3) 100%); }
.home-hero-inner { position: relative; display: grid; min-height: 100svh; place-items: center; padding-block: 118px 78px; text-align: center; }
.home-hero-copy { width: min(100%, 1080px); transform: translateY(5vh); }
@keyframes hero-copy-reveal { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
.home-hero h1 { display: flex; max-width: none; margin-bottom: 30px; align-items: baseline; justify-content: center; gap: clamp(12px, 1.5vw, 26px); color: #fff; font-size: clamp(3.15rem, 5vw, 5.35rem); line-height: 1.08; text-shadow: 0 3px 24px rgba(7, 29, 43, .62); }
.hero-title-primary, .hero-title-separator, .hero-title-secondary, .home-hero .lead { opacity: 0; animation: hero-copy-reveal 1.4s cubic-bezier(.22, 1, .36, 1) forwards; }
.hero-title-primary, .hero-title-secondary { color: #fff; font-size: 1em; font-weight: 600; letter-spacing: .08em; }
.hero-title-primary { animation-delay: .1s; }
.hero-title-separator { color: #f1c476; font-size: .54em; font-weight: 650; animation-delay: .32s; }
.hero-title-secondary { animation-delay: .5s; }
.home-hero .lead { display: flex; max-width: none; margin: 0; justify-content: center; gap: .35em; color: rgba(255,255,255,.92); font-size: clamp(1.05rem, 1.45vw, 1.4rem); font-weight: 350; letter-spacing: .1em; text-shadow: 0 2px 18px rgba(7, 29, 43, .68); animation-delay: .8s; }
.home-hero .lead span { white-space: nowrap; }
.home-scroll-cue { position: absolute; z-index: 2; bottom: 26px; left: 50%; display: grid; width: 42px; height: 46px; color: #fff; place-items: center; opacity: .78; transform: translateX(-50%); animation: home-scroll-bounce 1.8s ease-in-out infinite; }
.home-scroll-cue span { width: 13px; height: 13px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.home-scroll-cue:hover { opacity: 1; }
@keyframes home-scroll-bounce { 0%, 100% { opacity: .72; transform: translate(-50%, 0); } 50% { opacity: 1; transform: translate(-50%, 8px); } }

@media (prefers-reduced-motion: reduce) {
  .hero-title-primary, .hero-title-separator, .hero-title-secondary, .home-hero .lead { opacity: 1; animation: none; transform: none; }
  .home-scroll-cue { animation: none; }
}

.home-section-intro { display: grid; max-width: 1020px; grid-template-columns: minmax(460px, 1fr) minmax(0, .9fr); column-gap: 72px; row-gap: 12px; margin-bottom: 54px; align-items: end; }
.home-section-intro .home-section-kicker { grid-column: 1 / -1; }
.home-section-intro h2, .home-section-intro p { margin-bottom: 0; }
.home-section-intro h2 span { display: block; }
.home-section-intro > p:last-child { color: var(--muted); font-size: 1.04rem; }
.home-section-intro-compact { margin-bottom: 44px; }
.home-section-kicker { margin-bottom: 12px; color: var(--teal-700); font-size: .82rem; font-weight: 800; letter-spacing: .18em; }

.home-service-directory { background: var(--surface-paper); box-shadow: inset 0 1px rgba(7,29,43,.1); }
.service-directory-list { overflow: hidden; border-top: 1px solid #9eaaae; }
.service-directory-item { position: relative; display: grid; min-height: 168px; padding: 30px 18px; isolation: isolate; grid-template-columns: 56px minmax(220px, .85fr) minmax(300px, 1.15fr) auto; gap: 26px; align-items: start; border-bottom: 1px solid rgba(7,29,43,.13); }
.service-directory-item:nth-child(even) { background: rgba(255,255,255,.2); }
.service-directory-item::before { position: absolute; z-index: 0; inset: 0; content: ""; pointer-events: none; background: linear-gradient(100deg, #f8e7e9 0%, #fbf1ef 62%, #faf8f3 100%); transform: scaleX(0); transform-origin: left center; transition: transform .45s cubic-bezier(.22, 1, .36, 1); will-change: transform; }
.service-directory-item > * { position: relative; z-index: 1; transition: color .28s ease, transform .45s cubic-bezier(.22, 1, .36, 1); }
.service-directory-item:focus-within::before { transform: scaleX(1); }
.service-directory-item:focus-within > * { transform: translateX(8px); }
@media (hover: hover) and (pointer: fine) {
  .service-directory-item:hover::before { transform: scaleX(1); }
  .service-directory-item:hover > * { transform: translateX(8px); }
}
.service-directory-index { padding-top: 5px; color: var(--teal-700); font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.service-directory-item h3 { margin-bottom: 8px; font-size: clamp(1.45rem, 2.1vw, 2rem); }
.service-directory-item p { margin-bottom: 0; color: var(--muted); }
.service-directory-item ul { display: grid; gap: 6px; margin: 3px 0 0; padding: 0; color: #405461; list-style: none; }
.service-directory-item li::before { margin-right: 9px; color: var(--teal-600); content: "—"; }
.service-directory-item > a { margin-top: 5px; padding-bottom: 3px; color: var(--navy-950); font-weight: 750; border-bottom: 1px solid currentColor; }
.service-directory-item > a::after { margin-left: 8px; color: var(--teal-700); content: "→"; }
.service-directory-item > a:hover { color: var(--teal-700); }

.service-offering-directory { background: var(--surface-ivory); }
.service-offering-list { border-top: 1px solid #aeb9bf; }
.service-offering-item { display: grid; padding: 23px 4px; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 24px; align-items: start; border-bottom: 1px solid #d1d9dc; scroll-margin-top: 120px; }
.service-offering-item > span { padding-top: 3px; color: var(--teal-700); font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.service-offering-item h3 { margin-bottom: 6px; font-size: 1.2rem; }
.service-offering-item p { max-width: 760px; margin: 0; color: var(--muted); }
.service-offering-item > a { margin-top: 4px; padding-bottom: 2px; color: var(--navy-950); font-size: .88rem; font-weight: 750; border-bottom: 1px solid currentColor; }
.service-offering-item > a:hover { color: var(--teal-700); }

.branch-city-bar { background: #fff; border-bottom: 1px solid var(--line); }
.branch-city-bar > .container { display: grid; min-height: 104px; padding-block: 20px; grid-template-columns: auto 1fr; gap: 44px; align-items: center; }
.branch-city-bar .container > div { display: grid; }
.branch-city-bar span { color: var(--muted); font-size: .75rem; letter-spacing: .08em; }
.branch-city-bar strong { color: var(--navy-950); font-size: 1.28rem; }
.branch-city-switch { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.branch-city-switch a { min-width: 58px; padding: 7px 12px; color: var(--muted); text-align: center; border: 1px solid var(--line); border-radius: 999px; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.branch-city-switch a:hover, .branch-city-switch a:focus-visible, .branch-city-switch a[aria-current="page"] { color: #fff; background: var(--teal-700); border-color: var(--teal-700); }
.branch-support-layout { display: grid; grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr); gap: clamp(48px, 8vw, 110px); align-items: start; }
.branch-contact-card { padding: 34px; background: #fff; border-top: 4px solid var(--teal-600); box-shadow: var(--shadow-sm); }
.branch-contact-card h2 { margin-bottom: 12px; }
.branch-contact-card > p { color: var(--muted); }
.branch-contact-card dl { margin: 28px 0; }
.branch-contact-card dl > div { display: grid; padding: 15px 0; grid-template-columns: 110px 1fr; gap: 18px; border-top: 1px solid var(--line); }
.branch-contact-card dl > div:last-child { border-bottom: 1px solid var(--line); }
.branch-contact-card dt { color: var(--muted); font-size: .86rem; }
.branch-contact-card dd { margin: 0; color: var(--navy-950); font-weight: 700; }
.branch-contact-card dd a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.branch-contact-card dd a:hover, .branch-contact-card dd a:focus-visible { color: var(--teal-700); }
.branch-contact-card .branch-contact-source { margin: -12px 0 24px; color: var(--muted); font-size: .76rem; }
.branch-contact-actions { display: flex; align-items: center; gap: 22px; }
.branch-client-proof { display: grid; min-width: 0; padding-left: 20px; border-left: 1px solid #d8e0e3; }
.branch-client-proof strong { color: var(--teal-700); font-size: 1.65rem; line-height: 1.1; letter-spacing: -.03em; }
.branch-client-proof span { margin-top: 4px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.branch-process { display: grid; margin: 28px 0 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 42px; list-style: none; }
.branch-process li { display: grid; padding-top: 18px; grid-template-columns: 38px 1fr; gap: 14px; border-top: 2px solid var(--navy-950); }
.branch-process li > span { color: var(--teal-700); font-size: .78rem; font-weight: 800; }
.branch-process strong { display: block; margin-bottom: 7px; color: var(--navy-950); font-size: 1.08rem; }
.branch-process p { margin: 0; color: var(--muted); font-size: .9rem; }

.home-history { overflow: hidden; background: #f7f8f9; border-block: 1px solid #e3e7e9; }
.home-history-heading { max-width: 760px; margin: 0 auto; text-align: center; }
.home-history-heading .home-section-kicker { margin-bottom: 10px; color: var(--teal-600); }
.home-history-heading h2 { margin-bottom: 12px; font-size: clamp(2.35rem, 4.2vw, 4rem); }
.home-history-heading > p:last-child { margin: 0; color: var(--muted); font-size: 1.05rem; }
.history-shell { position: relative; margin-top: clamp(46px, 6vw, 70px); padding-inline: 58px; }
.home-history-viewport { overflow-x: auto; overflow-y: hidden; padding: 0 2px 12px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.home-history-viewport::-webkit-scrollbar { display: none; }
.home-history-list { display: flex; margin: 0; padding: 0; gap: 24px; list-style: none; }
.history-item { position: relative; flex: 0 0 calc((100% - 72px) / 4); min-width: 0; scroll-snap-align: start; }
.history-item::after { position: absolute; z-index: 0; top: 58px; right: -12px; left: -12px; height: 1px; content: ""; background: #e2a3aa; }
.history-item:first-child::after { left: 50%; }
.history-item:last-child::after { right: 50%; }
.history-item::before { position: absolute; z-index: 2; top: 49px; left: 50%; width: 19px; height: 19px; content: ""; background: #f7f8f9; border: 4px solid var(--teal-600); border-radius: 50%; box-shadow: 0 0 0 4px rgba(194,47,60,.08); transform: translateX(-50%); }
.history-item time { display: block; margin-bottom: 48px; color: var(--teal-600); font-size: clamp(1.2rem, 2vw, 1.58rem); font-weight: 760; line-height: 1.25; text-align: center; letter-spacing: -.02em; }
.history-card { position: relative; z-index: 1; min-height: 236px; padding: 25px 23px 23px; background: rgba(255,255,255,.94); border: 1px solid #e1e6e8; border-radius: 4px; box-shadow: 0 8px 24px rgba(7,29,43,.055); }
.history-card h3 { margin-bottom: 13px; font-size: 1.08rem; letter-spacing: -.01em; }
.history-card p { margin: 0; color: #5b6b75; font-size: .9rem; line-height: 1.8; }
.history-source-link { display: inline-block; margin-top: 16px; padding-bottom: 2px; color: var(--teal-700); font-size: .82rem; font-weight: 700; border-bottom: 1px solid rgba(166,36,49,.35); }
.history-source-link::after { margin-left: 5px; content: "↗"; }
.history-control { position: absolute; z-index: 3; top: 56%; display: grid; width: 44px; height: 44px; padding: 0; color: var(--navy-950); background: #fff; border: 1px solid #dce2e5; border-radius: 50%; place-items: center; cursor: pointer; box-shadow: 0 5px 18px rgba(7,29,43,.1); transform: translateY(-50%); transition: color .18s ease, border-color .18s ease, background .18s ease; }
.history-control:hover, .history-control:focus-visible { color: #fff; background: var(--teal-700); border-color: var(--teal-700); }
.history-control-prev { left: 0; }
.history-control-next { right: 0; }
.history-control:disabled { color: #a6b0b6; background: #f3f5f6; border-color: #e2e6e8; cursor: default; box-shadow: none; opacity: .62; }
.home-history-footer { display: flex; margin-top: 32px; padding: 22px 58px 0; align-items: flex-start; justify-content: space-between; gap: 34px; border-top: 1px solid #e0e5e7; }
.home-history-footer p { max-width: 780px; margin: 0; color: #74828b; font-size: .78rem; line-height: 1.75; }
.home-inline-link { display: inline-block; flex: 0 0 auto; padding-bottom: 3px; color: var(--navy-950); font-size: .9rem; font-weight: 750; border-bottom: 1px solid rgba(7,29,43,.48); }
.home-inline-link::after { margin-left: 8px; color: var(--teal-700); content: "→"; }

@media (prefers-reduced-motion: reduce) {
  .home-history-viewport { scroll-behavior: auto; }
}

.home-guide { color: var(--ink); background: var(--surface-paper); border-block: 1px solid #ded8cd; }
.home-guide-heading { display: flex; margin-bottom: 48px; gap: 40px; align-items: end; justify-content: space-between; }
.home-guide-heading p { margin: 0 0 12px; color: var(--teal-700); font-size: .8rem; font-weight: 800; letter-spacing: .18em; }
.home-guide-heading h2 { max-width: 720px; margin-bottom: 14px; color: var(--navy-950); }
.home-guide-heading span { display: block; max-width: 720px; color: #5d6e77; }
.home-guide-heading > a { flex: 0 0 auto; padding-bottom: 4px; color: var(--navy-950); font-weight: 750; border-bottom: 1px solid rgba(7,29,43,.42); }
.home-guide-heading > a::after { margin-left: 8px; color: var(--teal-700); content: "→"; }
.home-guide-layout { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr); gap: 18px; }
.home-guide-feature, .home-guide-stack { min-width: 0; }
.home-guide-stack { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 18px; }
.home-guide-card { position: relative; display: flex; min-height: 180px; overflow: hidden; color: #fff; background: #dfe5e5; border: 1px solid rgba(7,29,43,.09); box-shadow: 0 10px 28px rgba(7,29,43,.08); isolation: isolate; }
.home-guide-card-featured { min-height: 578px; }
.home-guide-card img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.home-guide-card-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(5,24,34,.9) 0%, rgba(5,24,34,.54) 55%, rgba(5,24,34,.06) 100%); transition: background .3s ease; }
.home-guide-card-featured .home-guide-card-shade { background: linear-gradient(0deg, rgba(5,24,34,.92) 0%, rgba(5,24,34,.48) 42%, rgba(5,24,34,.04) 76%); }
.home-guide-card-content { display: flex; width: 100%; padding: 25px 27px; flex-direction: column; justify-content: flex-end; }
.home-guide-card-featured .home-guide-card-content { padding: clamp(32px, 5vw, 58px); }
.home-guide-card-meta { display: flex; margin-bottom: 9px; gap: 10px; align-items: center; color: #f2f4f4; font-size: .75rem; font-weight: 750; letter-spacing: .1em; }
.home-guide-card-meta em { display: grid; width: 29px; height: 29px; color: #fff; font-size: .67rem; font-style: normal; background: var(--teal-700); letter-spacing: 0; place-items: center; }
.home-guide-card h3 { max-width: 520px; margin-bottom: 8px; color: #fff; font-size: clamp(1.18rem, 1.65vw, 1.5rem); line-height: 1.35; letter-spacing: -.015em; }
.home-guide-card-featured h3 { margin-bottom: 14px; font-size: clamp(2rem, 3.7vw, 3.25rem); }
.home-guide-card p { max-width: 560px; margin: 0; color: #c9d5da; font-size: .82rem; line-height: 1.7; }
.home-guide-card-featured p { max-width: 620px; font-size: .95rem; }
.home-guide-card-action { position: absolute; right: 27px; bottom: 24px; color: #fff; font-weight: 800; }
.home-guide-card-featured .home-guide-card-action { position: static; margin-top: 24px; color: #fff; font-size: .86rem; }
.home-guide-card-action b { margin-left: 8px; color: #f06b73; }
.home-guide-card:hover img, .home-guide-card:focus-visible img { transform: scale(1.035); }
.home-guide-card:hover .home-guide-card-shade, .home-guide-card:focus-visible .home-guide-card-shade { background: linear-gradient(0deg, rgba(5,24,34,.94) 0%, rgba(5,24,34,.6) 56%, rgba(5,24,34,.1) 100%); }

.home-contact { color: #fff; background: #7f1d28; }
.home-contact-inner { display: grid; min-height: 250px; padding-block: 52px; grid-template-columns: 1fr auto; gap: 48px; align-items: center; }
.home-contact p { margin-bottom: 8px; color: #efc5c9; }
.home-contact h2 { max-width: 760px; margin: 0; color: #fff; font-size: clamp(1.8rem, 3.2vw, 3.2rem); }
.home-contact-actions { display: flex; gap: 12px; }
.home-contact-actions a { display: inline-flex; min-height: 48px; padding: 11px 18px; align-items: center; justify-content: center; color: #fff; border: 1px solid rgba(255,255,255,.55); }
.home-contact-actions .home-contact-primary { color: #7f1d28; background: #fff; border-color: #fff; font-weight: 750; }

.guide-intro { padding-top: clamp(54px, 7vw, 96px); background: var(--surface-ivory); border-bottom: 1px solid #ddd9d0; }
.guide-intro .container { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 42px 72px; align-items: end; }
.guide-intro .container > p { grid-column: 1 / -1; margin: 0; color: var(--teal-700); font-size: .84rem; font-weight: 800; letter-spacing: .16em; }
.guide-intro h1 { max-width: 760px; margin: 0; color: var(--navy-950); font-size: clamp(2.3rem, 4.3vw, 4.25rem); line-height: 1.08; }
.guide-intro .container > div p { color: #536672; font-size: 1.05rem; }
.guide-intro .container > div a { display: inline-block; padding-bottom: 4px; color: var(--navy-950); font-weight: 750; border-bottom: 1px solid rgba(7,29,43,.5); }
.guide-intro .container > div a::after { margin-left: 8px; color: var(--teal-700); content: "↓"; }
.guide-categories { padding-top: 18px; background: var(--surface-ivory); }
.guide-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid #b9c3c7; border-bottom: 1px solid #b9c3c7; }
.guide-category { min-height: 238px; padding: 24px 26px 22px; color: var(--ink); border-left: 1px solid #cfd6d8; }
.guide-category:first-child { border-left: 0; }
.guide-category > span { display: block; margin-bottom: 38px; color: var(--teal-700); font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
.guide-category h2 { margin-bottom: 10px; font-size: 1.3rem; }
.guide-category p { margin-bottom: 22px; color: #5c6c75; font-size: .9rem; }
.guide-category small { color: #7b8990; }
.guide-category:hover h2 { color: var(--teal-700); }
.guide-section-heading { display: flex; margin-bottom: 40px; align-items: end; justify-content: space-between; gap: 30px; }
.guide-section-heading p { margin: 0 0 8px; color: var(--teal-700); font-size: .82rem; font-weight: 800; letter-spacing: .14em; }
.guide-section-heading h2 { margin: 0; }
.guide-section-heading > span { color: #6f7d84; font-size: .9rem; }
.guide-featured { background: #f1f4f4; border-block: 1px solid #dce2e3; }
.guide-feature-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 0; border: 1px solid #c8d1d4; background: #fff; }
.guide-feature-primary { display: flex; min-height: 480px; padding: clamp(34px, 5vw, 68px); flex-direction: column; color: #fff; background: var(--navy-950); }
.guide-feature-primary > span, .guide-feature-secondary > span { color: #c8959b; font-size: .8rem; font-weight: 800; letter-spacing: .08em; }
.guide-feature-primary h3 { max-width: 560px; margin: clamp(72px, 8vw, 112px) 0 18px; color: #fff; font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1.12; }
.guide-feature-primary p { max-width: 620px; color: #c8d4d9; }
.guide-feature-primary time, .guide-feature-secondary time { margin-top: 18px; color: #8799a2; font-size: .78rem; }
.guide-feature-secondary-list { display: grid; grid-template-rows: repeat(3, 1fr); }
.guide-feature-secondary { display: grid; padding: 25px 30px; grid-template-columns: 1fr auto; gap: 8px 22px; color: var(--ink); border-top: 1px solid #d8dfe1; }
.guide-feature-secondary:first-child { border-top: 0; }
.guide-feature-secondary > span, .guide-feature-secondary > strong, .guide-feature-secondary > p { grid-column: 1 / -1; }
.guide-feature-secondary > span { color: var(--teal-700); }
.guide-feature-secondary > strong { color: var(--navy-950); font-size: 1.08rem; }
.guide-feature-secondary > p { margin: 0; color: #65757d; font-size: .88rem; }
.guide-feature-secondary time { margin-top: 0; }
.guide-feature-secondary:hover strong { color: var(--teal-700); }
.guide-browser { background: var(--surface-ivory); }
.guide-tools { display: grid; margin-bottom: 24px; padding: 24px 0; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 28px; align-items: end; border-block: 1px solid #c8d0d2; }
.guide-tools label { display: grid; gap: 8px; color: var(--navy-950); font-size: .82rem; font-weight: 750; }
.guide-tools input { width: 100%; min-height: 46px; padding: 10px 12px; color: var(--ink); background: #fff; border: 1px solid #aebbc0; border-radius: 0; }
.guide-tools input:focus { border-color: var(--teal-700); outline: 2px solid rgba(127,29,40,.14); outline-offset: 1px; }
.guide-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.guide-filters button, .guide-empty button { min-height: 42px; padding: 8px 14px; color: var(--navy-950); background: transparent; border: 1px solid #aebbc0; border-radius: 0; cursor: pointer; }
.guide-filters button[aria-pressed="true"], .guide-filters button:hover, .guide-empty button:hover { color: #fff; background: var(--navy-950); border-color: var(--navy-950); }
.guide-list { border-top: 2px solid var(--navy-950); }
.guide-list-item { display: grid; padding: 28px 4px; grid-template-columns: 190px minmax(0, 1fr); gap: 32px; border-bottom: 1px solid #cdd5d7; }
.guide-list-item > div { display: grid; align-content: start; gap: 8px; color: #718087; font-size: .8rem; }
.guide-list-item > div span { color: var(--teal-700); font-weight: 800; }
.guide-list-item h3 { margin-bottom: 9px; color: var(--navy-950); font-size: 1.25rem; }
.guide-list-item p { max-width: 800px; margin: 0; color: #5d6d75; }
.guide-list-item a:hover h3 { color: var(--teal-700); }
.guide-empty { padding: 52px 20px; text-align: center; border-bottom: 1px solid #cdd5d7; }
.guide-empty[hidden], .guide-list-item[hidden] { display: none; }
.guide-empty p { color: #68777e; }

.name-check-intro { position: relative; overflow: hidden; color: #fff; background: var(--navy-950); }
.name-check-intro::before { position: absolute; inset: 0; content: ""; background: linear-gradient(110deg, transparent 52%, rgba(255,255,255,.035) 52%), radial-gradient(circle at 82% 24%, rgba(200,147,63,.2), transparent 31%); pointer-events: none; }
.name-check-hero-grid { position: relative; display: grid; min-height: 490px; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .65fr); gap: clamp(44px, 7vw, 100px); align-items: center; }
.name-check-kicker { margin-bottom: 22px; color: #e7c98d; font-size: .82rem; font-weight: 800; letter-spacing: .18em; }
.name-check-intro h1 { max-width: 780px; margin-bottom: 28px; color: #fff; font-size: clamp(2.8rem, 5.4vw, 5rem); line-height: 1.06; }
.name-check-lead { max-width: 660px; margin-bottom: 32px; color: #c1ced4; font-size: 1.05rem; }
.name-check-assurance { display: flex; margin: 0; padding: 0; flex-wrap: wrap; gap: 12px 26px; color: #dbe4e8; font-size: .86rem; list-style: none; }
.name-check-assurance li::before { display: inline-block; width: 6px; height: 6px; margin-right: 9px; vertical-align: .08em; content: ""; background: var(--teal-500); border-radius: 50%; }
.name-check-hero-guide { padding: 32px 34px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); backdrop-filter: blur(8px); }
.name-check-hero-guide > span { color: #e7c98d; font-size: .76rem; font-weight: 800; letter-spacing: .14em; }
.name-check-hero-guide ol { margin: 25px 0 0; padding: 0; list-style: none; counter-reset: name-flow; }
.name-check-hero-guide li { position: relative; min-height: 69px; padding: 0 0 22px 48px; counter-increment: name-flow; }
.name-check-hero-guide li:not(:last-child)::after { position: absolute; top: 30px; bottom: 5px; left: 15px; width: 1px; content: ""; background: rgba(255,255,255,.18); }
.name-check-hero-guide li::before { position: absolute; top: 0; left: 0; display: grid; width: 31px; height: 31px; color: #fff; content: counter(name-flow, decimal-leading-zero); font-size: .68rem; font-weight: 800; background: var(--teal-700); place-items: center; }
.name-check-hero-guide strong, .name-check-hero-guide small { display: block; }
.name-check-hero-guide strong { color: #fff; font-size: .97rem; }
.name-check-hero-guide small { margin-top: 3px; color: #aebdc4; font-size: .78rem; }
.name-check-workspace { background: var(--surface-ivory); }
.name-check-section-heading { display: grid; margin-bottom: 42px; padding-bottom: 24px; grid-template-columns: 1fr minmax(320px, .62fr); gap: 36px; align-items: end; border-bottom: 1px solid #cfd8da; }
.name-check-section-heading p { margin: 0; }
.name-check-section-heading > div > p { margin-bottom: 8px; color: var(--teal-700); font-size: .78rem; font-weight: 800; letter-spacing: .14em; }
.name-check-section-heading h2 { margin: 0; font-size: clamp(2rem, 3.2vw, 3.15rem); }
.name-check-section-heading > p { color: #66777f; font-size: .9rem; }
.name-check-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); gap: clamp(30px, 5vw, 64px); align-items: start; }
.name-check-form-panel { padding: 32px; background: #fff; border: 1px solid #d6dfe1; box-shadow: 0 18px 50px rgba(7,29,43,.07); }
.name-check-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 24px; }
.name-check-fields .field { margin: 0; }
.name-check-fields label { display: flex; gap: 10px; align-items: center; }
.name-check-fields label > span { color: var(--teal-700); font-size: .68rem; letter-spacing: .08em; }
.name-check-fields input, .name-check-fields select { min-height: 54px; border-radius: 0; }
.name-check-fields small { display: block; margin-top: 7px; font-size: .75rem; }
.name-check-preview { margin: 32px 0 26px; padding: 25px 26px; color: #fff; background: var(--navy-950); border-left: 4px solid var(--teal-500); }
.name-check-preview span { display: block; margin-bottom: 8px; color: #b7c7ce; font-size: .74rem; font-weight: 750; letter-spacing: .1em; }
.name-check-preview strong { display: block; min-height: 1.5em; font-size: clamp(1.1rem, 2.2vw, 1.58rem); line-height: 1.5; word-break: break-all; }
.name-check-submit { display: flex; gap: 18px; align-items: center; }
.name-check-submit p { margin: 0; color: #738189; font-size: .78rem; }
.name-check-result { position: sticky; top: 108px; padding: 32px; background: #eef2f2; border-top: 4px solid #99a9af; }
.name-check-result-head { display: flex; margin-bottom: 20px; justify-content: space-between; align-items: center; }
.name-check-result-head span { color: #61747d; font-size: .78rem; font-weight: 800; letter-spacing: .1em; }
.name-check-result-head i { width: 9px; height: 9px; background: #99a9af; border-radius: 50%; }
.name-check-result h2 { min-height: 3.1em; margin-bottom: 26px; padding-bottom: 24px; font-size: 1.55rem; word-break: break-all; border-bottom: 1px solid #cbd5d8; }
.name-check-result section + section { margin-top: 27px; }
.name-check-result h3 { margin-bottom: 11px; font-size: .95rem; }
.name-check-result ul { margin: 0; padding-left: 19px; color: #53666f; font-size: .88rem; }
.name-check-result li + li { margin-top: 8px; }
.name-check-result[data-status="complete"] { border-top-color: #2f8065; }
.name-check-result[data-status="complete"] .name-check-result-head i { background: #2f8065; }
.name-check-result[data-status="review"] { border-top-color: #b47b1d; }
.name-check-result[data-status="review"] .name-check-result-head i { background: #b47b1d; }
.name-check-result[data-status="adjust"] { border-top-color: var(--teal-700); }
.name-check-result[data-status="adjust"] .name-check-result-head i { background: var(--teal-700); }
.name-check-dialog { width: min(100% - 32px, 560px); max-height: calc(100vh - 32px); padding: 0; overflow: auto; color: var(--ink); background: #fff; border: 0; box-shadow: 0 32px 100px rgba(0,0,0,.34); }
.name-check-dialog::backdrop { background: rgba(3,17,25,.72); backdrop-filter: blur(3px); }
.name-check-dialog-shell { position: relative; padding: 42px 46px 38px; }
.name-check-dialog-close { position: absolute; top: 14px; right: 16px; display: grid; width: 38px; height: 38px; padding: 0; color: #546870; font-size: 1.75rem; line-height: 1; background: transparent; border: 0; cursor: pointer; place-items: center; }
.name-check-dialog-close:hover { color: var(--teal-700); }
.name-check-dialog-mark { display: grid; width: 48px; height: 48px; margin-bottom: 20px; color: #fff; font-weight: 800; background: var(--teal-700); place-items: center; }
.name-check-dialog-kicker { margin-bottom: 8px; color: var(--teal-700); font-size: .76rem; font-weight: 800; letter-spacing: .14em; }
.name-check-dialog h2 { margin-bottom: 24px; font-size: clamp(1.75rem, 4vw, 2.4rem); line-height: 1.25; }
.name-check-dialog-name { margin-bottom: 25px; padding: 16px 18px; background: var(--surface-soft); border-left: 3px solid var(--navy-950); }
.name-check-dialog-name span, .name-check-dialog-name strong { display: block; }
.name-check-dialog-name span { margin-bottom: 4px; color: #687b84; font-size: .72rem; }
.name-check-dialog-name strong { word-break: break-all; }
.name-check-dialog .field { margin-bottom: 17px; }
.name-check-dialog input[type="tel"] { min-height: 54px; border-radius: 0; }
.name-check-dialog .field small { display: block; margin-top: 7px; font-size: .73rem; }
.name-check-consent { display: flex; margin: 2px 0 4px; gap: 9px; align-items: flex-start; color: #596b74; font-size: .82rem; cursor: pointer; }
.name-check-consent input { margin-top: 6px; accent-color: var(--teal-700); }
.name-check-consent a { color: var(--teal-700); text-decoration: underline; text-underline-offset: 3px; }
.name-check-dialog .btn { width: 100%; margin-top: 18px; }
.name-check-dialog-status { min-height: 1.75em; margin: 12px 0 0; color: var(--teal-700); font-size: .82rem; font-weight: 700; text-align: center; }
.name-check-dialog-open { overflow: hidden; }
.name-check-notes { background: #f0f3f3; border-top: 1px solid #d6dfe1; }
.name-check-notes > .container > header { display: grid; margin-bottom: 46px; grid-template-columns: 220px 1fr; gap: 40px; align-items: end; }
.name-check-notes > .container > header p { margin: 0; color: var(--teal-700); font-size: .82rem; font-weight: 800; letter-spacing: .12em; }
.name-check-notes > .container > header h2 { max-width: 760px; margin: 0; }
.name-check-note-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid #bcc8cb; }
.name-check-note-grid article { min-height: 280px; padding: 26px 30px; border-left: 1px solid #cbd4d6; }
.name-check-note-grid article:first-child { border-left: 0; }
.name-check-note-grid span { display: block; margin-bottom: 46px; color: var(--teal-700); font-size: .8rem; font-weight: 800; }
.name-check-note-grid h3 { margin-bottom: 12px; font-size: 1.18rem; }
.name-check-note-grid p { margin: 0; color: #586a72; }
.name-check-official { display: grid; margin-top: 48px; padding-top: 30px; grid-template-columns: 220px minmax(0, 1fr); gap: 18px 40px; border-top: 2px solid var(--navy-950); }
.name-check-official h2, .name-check-official p { margin: 0; }
.name-check-official p { color: #62727a; }
.name-check-official > div { display: flex; grid-column: 2; flex-wrap: wrap; gap: 12px 22px; }
.name-check-official a { padding-bottom: 3px; color: var(--navy-950); font-weight: 750; border-bottom: 1px solid #9aa8ae; }
.name-check-official a::after { margin-left: 6px; color: var(--teal-700); content: "↗"; }
.split-feature { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.feature-panel { position: relative; min-height: 470px; padding: 42px; overflow: hidden; color: #dbe7ec; background: var(--navy-900); border-radius: var(--radius-lg); }
.feature-panel::before { position: absolute; right: -60px; bottom: -100px; width: 320px; height: 320px; content: ""; background: var(--teal-600); border-radius: 50%; opacity: .17; }
.feature-panel h2 { color: #fff; }
.feature-panel .big-number { display: block; margin-top: 70px; color: #fff; font-size: clamp(4rem, 8vw, 7rem); font-weight: 800; line-height: .9; }
.feature-panel .big-number small { display: inline; color: var(--teal-500); font-size: .22em; }
.feature-panel p { position: relative; max-width: 340px; color: #b9cbd4; }

.service-matrix { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius-md); }
.matrix-item { padding: 30px; background: #fff; }
.matrix-item h3 { margin-bottom: 10px; }
.matrix-item ul { color: var(--muted); }
.scenario-card { min-height: 285px; }
.scenario-card .tag { margin-bottom: 18px; }
.scenario-card ul { color: var(--muted); }

.detail-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; }
.detail-intro .sticky-title { position: sticky; top: 130px; }
.detail-section { padding-block: clamp(58px, 7vw, 92px); border-top: 1px solid var(--line); }
.materials { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; padding: 0; list-style: none; }
.materials li { padding: 14px 16px; color: #38505d; background: var(--surface-soft); border-radius: 10px; }
.risk-panel { padding: 34px; color: #dbe7ec; background: var(--navy-900); border-radius: var(--radius-md); }
.risk-panel h2, .risk-panel h3 { color: #fff; }
.risk-panel .check-list li::before { color: #fff; background: rgba(17,170,161,.35); }

.timeline { position: relative; display: grid; gap: 0; }
.timeline::before { position: absolute; top: 0; bottom: 0; left: 22px; width: 1px; content: ""; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 70px 1fr; padding-bottom: 32px; }
.timeline-item::before { z-index: 1; width: 45px; height: 45px; content: ""; background: #fff; border: 10px solid var(--teal-100); border-radius: 50%; }
.timeline-item strong { color: var(--navy-950); }
.timeline-item p { color: var(--muted); }
.license-box { padding: 34px; background: var(--surface-warm); border: 1px solid #eadfc9; border-radius: var(--radius-md); }
.license-number { display: inline-block; padding: 8px 12px; color: #765725; font-family: Consolas, monospace; background: var(--gold-100); border-radius: 8px; }

.article-header { padding-bottom: 52px; border-bottom: 1px solid var(--line); }
.article-category { display: block; margin-bottom: 18px; color: var(--teal-700); font-size: .84rem; font-weight: 800; letter-spacing: .12em; }
.article-header h1 { max-width: 920px; font-size: clamp(2.2rem, 4.8vw, 4.2rem); }
.article-meta { display: flex; flex-wrap: wrap; gap: 10px 28px; color: var(--muted); font-size: .82rem; }
.article-toc-mobile { display: none; margin-top: 28px; border-block: 1px solid #cbd4d7; }
.article-toc-mobile summary { padding: 15px 0; color: var(--navy-950); font-weight: 750; cursor: pointer; }
.article-toc-mobile nav { display: grid; padding-bottom: 16px; gap: 10px; }
.article-toc-mobile a { color: #566871; font-size: .9rem; }
.related-box { margin-top: 64px; padding: 32px; background: var(--surface-soft); border-radius: var(--radius-md); }
.article-related-list { display: grid; margin: 28px 0; border-top: 1px solid #cbd4d7; }
.article-related-list a { display: grid; padding: 16px 0; gap: 4px; text-decoration: none; border-bottom: 1px solid #cbd4d7; }
.article-related-list span { color: var(--teal-700); font-size: .76rem; font-weight: 800; }
.article-related-list strong { color: var(--navy-950); }
.disclaimer { margin-top: 42px; padding: 20px; color: var(--muted); font-size: .86rem; background: #f7f8f9; border-left: 3px solid #a8b7bf; }

.contact-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 56px; align-items: start; }
.contact-card { padding: 30px; background: var(--navy-900); border-radius: var(--radius-md); }
.contact-card h2, .contact-card h3 { color: #fff; }
.contact-card p, .contact-card li { color: #b8cad2; }
.contact-item { padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.contact-item:last-child { border-bottom: 0; }
.contact-item strong { display: block; color: #fff; }
.form-card { padding: 34px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }

.not-found { display: grid; min-height: 66vh; place-items: center; text-align: center; }
.not-found-code { color: var(--teal-700); font-size: clamp(6rem, 18vw, 13rem); font-weight: 850; line-height: .8; opacity: .16; }
.not-found h1 { margin-top: -34px; font-size: clamp(2.2rem, 5vw, 4rem); }
