.ref-page .blog-grid{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.ref-page .blog-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.ref-page .blog-grid{grid-template-columns:repeat(2,1fr)}}.ref-card{cursor:default}.ref-card .blog-card__img{display:flex;align-items:center;justify-content:center;padding:30px 34px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.ref-card .blog-card__img picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ref-card .blog-card__img img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) contrast(1.05) opacity(.9);transition:filter .4s ease}.ref-card:hover .blog-card__img img{filter:grayscale(0) contrast(1) opacity(1);transform:none}[data-theme=dark] .ref-card .blog-card__img img{filter:grayscale(1) invert(1) opacity(.9)}[data-theme=dark] .ref-card:hover .blog-card__img img{filter:grayscale(1) invert(1) opacity(1)}.ref-card__mono{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:var(--radius-full);background:var(--brand-gradient);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:1.7rem;letter-spacing:.02em;box-shadow:var(--shadow-md);-webkit-user-select:none;user-select:none}.ref-card .blog-card__body h3{margin:0}.ref-card .blog-card__body .blog-card__date{margin-top:10px}.ref-card .blog-card__cat{background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:8px;color:var(--brand-primary);font-size:.68rem;letter-spacing:.14em;transition:color .3s ease}.ref-card .blog-card__cat:before{content:"–";flex:none;color:var(--brand-primary);font-weight:600}.ref-card:hover .blog-card__cat{color:var(--color-text-accent)}.map-section{padding:60px 0 80px;text-align:center}.map-eyebrow{display:inline-block;font-size:.7rem;letter-spacing:.18em;color:var(--brand-primary);font-weight:600}.map-title{margin:12px auto 0;max-width:620px;font-size:clamp(1.5rem,3.2vw,2.15rem);line-height:1.25}.map-desc{margin:14px auto 0;max-width:620px;color:var(--color-text-secondary);font-size:1rem;line-height:1.6}.tr-map-wrap{position:relative;width:min(100%,940px);margin:40px auto 0}.tr-map{width:100%;height:auto;display:block;overflow:visible}.tr-prov{fill:var(--color-bg-secondary);stroke:var(--color-border-strong);stroke-width:.6;transition:fill .3s ease,stroke .3s ease}[data-theme=dark] .tr-prov{fill:#0f111c;stroke:#ffffff1f}.tr-prov.is-active{fill:#2563eb29;stroke:var(--brand-primary);stroke-width:.8}[data-theme=dark] .tr-prov.is-active{fill:#192a46;stroke:var(--brand-primary-light)}.tr-map__pins{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tr-pin{position:absolute;transform:translate(-50%,-50%);padding:0;margin:0;border:0;background:none;cursor:pointer;pointer-events:auto;line-height:0}.tr-pin__dot{display:block;width:clamp(13px,1.9vw,18px);height:clamp(13px,1.9vw,18px);border-radius:var(--radius-full);background:var(--brand-gradient);box-shadow:0 3px 10px -2px #2563eb99,0 0 0 3px #2563eb24;transition:transform .25s ease,box-shadow .25s ease}.tr-pin__dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 #2563eb80;animation:tr-pulse 2.8s ease-out infinite}.tr-pin:hover .tr-pin__dot,.tr-pin:focus-visible .tr-pin__dot{transform:scale(1.18);box-shadow:0 6px 18px -3px #2563ebbf,0 0 0 4px #2563eb33}.tr-pin:hover,.tr-pin:focus-visible{z-index:20;outline:none}.tr-pin__pop{--pop-x: -50%;--arrow-x: 50%;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(var(--pop-x)) translateY(6px);width:max-content;max-width:min(300px,78vw);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-lg, 0 16px 40px -12px rgba(0, 0, 0, .35));padding:10px 14px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;z-index:30;line-height:1.4}.tr-pin__pop:after{content:"";position:absolute;top:100%;left:var(--arrow-x);transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-surface)}.tr-pin--pop-right .tr-pin__pop{--pop-x: -22px;--arrow-x: 22px}.tr-pin--pop-left .tr-pin__pop{--pop-x: calc(-100% + 22px) ;--arrow-x: calc(100% - 22px) }.tr-pin__pop strong{display:block;font-size:.82rem;color:var(--brand-primary);margin-bottom:4px}[data-theme=dark] .tr-pin__pop strong{color:var(--brand-primary-light)}.tr-pin__pop ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:190px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.tr-pin__pop li{font-size:.78rem;color:var(--color-text);white-space:nowrap}.tr-pin:hover .tr-pin__pop,.tr-pin:focus-visible .tr-pin__pop,.tr-pin:focus-within .tr-pin__pop{opacity:1;visibility:visible;transform:translate(var(--pop-x)) translateY(0)}.tr-map__empty{margin:20px auto 0;max-width:420px;color:var(--color-text-secondary);font-size:.9rem}@keyframes tr-pulse{0%{box-shadow:0 0 #2563eb80}70%,to{box-shadow:0 0 0 14px #2563eb00}}@media (max-width: 700px){.map-section{padding:28px 0 48px}}@media (prefers-reduced-motion: reduce){.tr-pin__dot:after{animation:none}}.p-cta-banner{padding-top:100px;padding-bottom:100px}.p-cta-banner .cta-banner-box{background:var(--brand-gradient);border-radius:32px;padding:60px 80px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.p-cta-banner .cta-text{color:#fff;font-size:1.75rem;font-weight:400;max-width:450px}.p-cta-banner .cta-actions{display:flex;gap:16px}.p-cta-banner .btn-white-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;padding:12px 28px;border-radius:99px;font-weight:600;cursor:pointer;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.p-cta-banner .btn-white-outline:hover{background:#fff;color:#020617;border-color:#fff}.p-cta-banner .btn-white-outline .arrow:after{content:"→"}.p-cta-banner .cta-corner-icon{position:absolute;right:30px;bottom:-10px;width:100px;opacity:.1;pointer-events:none}@media (max-width: 1024px){.p-cta-banner .cta-banner-box{flex-direction:column;gap:30px;text-align:center}.p-cta-banner .cta-actions{justify-content:center}}@media (max-width: 700px){.p-cta-banner{padding-top:70px;padding-bottom:70px}.p-cta-banner .cta-banner-box{padding:40px 24px;border-radius:24px}.p-cta-banner .cta-text{font-size:1.4rem}}
