:root { --ink: #0f2334; --ink-2: #18374e; --paper: #f4f1e9; --cream: #fffcf6; --copper: #c4653d; --sand: #d8c8ab; --muted: #68737b; --line: rgba(15,35,52,.18); --serif: "Cormorant Garamond", Georgia, serif; --sans: "DM Sans", Arial, sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0px; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.5; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
main { overflow: clip; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; }
.sale-bar { background: var(--copper); color: rgb(255, 249, 241); padding: 8px 0px; font-size: 12px; letter-spacing: 0.01em; }
.sale-bar__inner { max-width: 1340px; margin: auto; padding: 0px 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.sale-bar__link { display: flex; align-items: center; gap: 5px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.site-header { position: sticky; top: 0px; z-index: 40; background: rgba(255, 252, 246, 0.97); border-bottom: 1px solid rgba(15, 35, 52, 0.13); backdrop-filter: blur(14px); }
.header-inner { height: 78px; max-width: 1340px; margin: auto; padding: 0px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.brand-mark { width: 31px; height: 31px; object-fit: contain; }
.brand-type { white-space: nowrap; font-family: var(--serif); font-size: 23px; line-height: 1; letter-spacing: -0.055em; font-weight: 700; }
.desktop-nav { display: flex; gap: 22px; align-items: center; margin-left: auto; }
.desktop-nav a { color: rgb(61, 75, 83); font-size: 13px; font-weight: 600; position: relative; white-space: nowrap; }
.desktop-nav a::after { content: ""; position: absolute; left: 0px; bottom: -8px; height: 2px; width: 0px; background: var(--copper); transition: width 0.18s ease-out; }
.desktop-nav a:hover::after, .desktop-nav a.is-active::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 15px; }
.search-link { display: grid; place-items: center; color: var(--ink); }
.header-cta { display: flex; align-items: center; gap: 5px; background: var(--ink); color: rgb(255, 255, 255); padding: 10px 13px; font-size: 12px; font-weight: 700; }
.menu-button { display: none; background: none; border: 0px; padding: 4px; color: var(--ink); }
.mobile-nav { display: none; }
.eyebrow { display: flex; align-items: center; gap: 8px; color: var(--copper); font-size: 11px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; }
.eyebrow-dot { display: block; width: 7px; height: 7px; background: currentcolor; border-radius: 50%; }
.eyebrow--light { color: rgb(255, 248, 237); }
h1, h2, h3, p { margin-top: 0px; }
h1, h2 { font-family: var(--serif); letter-spacing: -0.055em; line-height: 0.91; font-weight: 600; }
h1 i, h2 i { font-weight: 600; }
h1 { font-size: clamp(54px, 7vw, 104px); }
h2 { font-size: clamp(42px, 5.1vw, 72px); }
h3 { letter-spacing: -0.035em; line-height: 1.08; }
.article-tag { font-size: 10px; letter-spacing: 0.11em; color: var(--copper); font-weight: 700; text-transform: uppercase; font-style: normal; }
.button { border: 0px; display: inline-flex; gap: 8px; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; padding: 13px 17px; transition: transform 0.16s cubic-bezier(0.23, 1, 0.32, 1), background 0.16s; }
.button:active { transform: scale(0.97); }
.button--copper { background: var(--copper); color: white; }
.button--copper:hover { background: rgb(169, 78, 44); }
.button--ink { background: var(--ink); color: white; }
.button--ink:hover { background: var(--ink-2); }
.button--light { background: rgb(255, 250, 240); color: var(--ink); }
.route-link { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); border-bottom: 1px solid var(--ink); padding-bottom: 4px; font-size: 13px; font-weight: 700; white-space: nowrap; transition: gap 0.16s; }
.route-link:hover { gap: 13px; }
.route-link--light { color: rgb(255, 248, 237); border-color: rgb(255, 248, 237); }
.text-button { font-size: 13px; font-weight: 700; border-bottom: 1px solid; padding-bottom: 3px; }
.text-button--light { color: rgb(255, 255, 255); }
.home-hero { min-height: 675px; position: relative; background: var(--ink); color: rgb(255, 249, 241); overflow: hidden; }
.home-hero__image { position: absolute; inset: 0px; background-image: linear-gradient(90deg, rgba(15, 35, 52, 0.97) 3%, rgba(15, 35, 52, 0.84) 43%, rgba(15, 35, 52, 0.18) 100%), url("atlas-hero-graduados-sociales.jpg"); background-size: cover; background-position: center center; }
.home-hero::before { content: ""; position: absolute; inset: 0px; opacity: 0.25; background-image: radial-gradient(rgba(255, 255, 255, 0.22) 0.7px, transparent 0.7px); background-size: 6px 6px; mix-blend-mode: overlay; }
.home-hero__inner { position: relative; z-index: 1; max-width: 1340px; min-height: 620px; padding: 90px 32px 70px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.hero-copy { max-width: 770px; }
.hero-copy h1 { margin: 18px 0px 22px; }
.hero-copy h1 i { color: rgb(232, 207, 157); }
.hero-copy p { max-width: 510px; color: rgb(214, 224, 227); font-size: 18px; line-height: 1.55; }
.hero-actions { margin-top: 31px; display: flex; align-items: center; gap: 25px; }
.route-finder { width: 340px; flex-shrink: 0; background: rgba(255, 252, 246, 0.96); color: var(--ink); padding: 25px; box-shadow: rgba(0, 0, 0, 0.17) 0px 18px 50px; border-top: 4px solid var(--copper); }
.route-finder__head { display: flex; align-items: center; gap: 9px; font-size: 11px; letter-spacing: 0.13em; font-weight: 700; }
.route-finder > p { font-family: var(--serif); font-size: 24px; letter-spacing: -0.035em; margin: 17px 0px 14px; }
.route-finder__links { display: grid; }
.route-finder__links a { border-top: 1px solid var(--line); display: grid; grid-template-columns: 26px 1fr 18px; align-items: center; gap: 5px; padding: 13px 0px; font-size: 13px; font-weight: 600; }
.route-finder__links a span { color: var(--copper); font-family: var(--serif); font-size: 19px; }
.route-finder__links a:hover { color: var(--copper); }
.hero-strip { position: absolute; bottom: 0px; z-index: 2; width: 100%; border-top: 1px solid rgba(255, 255, 255, 0.28); padding: 14px 32px; display: flex; gap: 14px; justify-content: center; font-size: 9px; letter-spacing: 0.17em; font-weight: 700; }
.intro-band { max-width: 1340px; margin: auto; padding: 125px 32px 115px; display: grid; grid-template-columns: 1.2fr 0.65fr; gap: 90px; align-items: end; }
.intro-band h2 { max-width: 670px; margin: 16px 0px 0px; }
.intro-band h2 i { color: var(--copper); }
.intro-band p { color: rgb(84, 99, 109); font-size: 18px; line-height: 1.65; max-width: 420px; }
.news-section, .resources-section, .listing-section, .update-grid-section, .resource-shelf { padding: 100px 32px; max-width: 1340px; margin: auto; }
.section-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 46px; }
.section-head h2 { margin: 15px 0px 0px; }
.section-head h2 i { color: var(--copper); }
.section-head__note { color: var(--muted); max-width: 270px; font-size: 14px; margin: 0px; }
.news-layout { display: grid; grid-template-columns: 1.04fr 0.96fr; border-top: 1px solid var(--ink); }
.news-feature { min-height: 475px; padding: 42px 48px 30px 0px; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(155deg, rgb(231, 220, 199) 0%, rgb(244, 241, 233) 68%); }
.news-feature > div { max-width: 510px; }
.news-feature h3 { font-family: var(--serif); font-size: 42px; line-height: 0.99; margin: 16px 0px; letter-spacing: -0.045em; }
.news-feature p { color: rgb(84, 99, 109); max-width: 410px; }
.news-feature small, .news-row small { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; }
.article-arrow { width: 40px; height: 40px; display: grid; place-items: center; background: var(--ink); color: white; margin-top: 24px; transition: transform 0.18s; }
.article-arrow:hover { transform: translateX(5px); }
.news-list { display: grid; }
.news-row { padding: 27px 0px 23px 34px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr 70px; gap: 25px; }
.news-row:first-child { padding-top: 25px; }
.news-row h3 { font-family: var(--serif); font-size: 25px; margin: 9px 0px 8px; max-width: 440px; }
.news-row p { color: var(--muted); font-size: 13px; margin: 0px; }
.news-row > div:last-child { display: flex; flex-direction: column; align-items: end; justify-content: space-between; }
.news-row a { color: var(--copper); }
.route-area-section { background: var(--ink); color: rgb(255, 249, 241); padding: 105px 0px 0px; position: relative; }
.route-area-section::before { content: ""; position: absolute; width: 70%; height: 1px; background: rgba(255, 255, 255, 0.23); top: 218px; left: 0px; }
.route-area-head { max-width: 1340px; padding: 0px 32px 56px; margin: auto; display: grid; grid-template-columns: 1.1fr 0.6fr; column-gap: 100px; }
.route-area-head h2 { margin: 14px 0px 0px; }
.route-area-head h2 i { color: rgb(232, 207, 157); }
.route-area-head p { color: rgb(201, 213, 216); align-self: end; margin: 0px; line-height: 1.65; }
.area-grid { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1340px; margin: auto; }
.area-card { position: relative; min-height: 310px; padding: 33px 28px 28px; border-left: 1px solid rgba(255, 255, 255, 0.24); transition: background 0.18s; }
.area-card:last-child { border-right: 1px solid rgba(255, 255, 255, 0.24); }
.area-card:hover { background: rgb(24, 55, 78); }
.area-card__index { position: absolute; right: 23px; top: 22px; color: rgb(217, 179, 125); font-family: var(--serif); font-size: 23px; }
.area-card > svg { color: rgb(217, 179, 125); margin: 27px 0px 38px; }
.area-card h3 { font-family: var(--serif); font-size: 30px; margin: 9px 0px; }
.area-card p { color: rgb(201, 213, 216); font-size: 13px; margin: 0px; max-width: 210px; }
.area-card__arrow { position: absolute; right: 27px; bottom: 27px; color: rgb(232, 207, 157); }
.guides-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 610px; background: var(--cream); }
.guides-image { background: url("ruta-pymes-laboral.jpg") center center / cover; min-height: 560px; }
.guides-content { max-width: 670px; padding: 86px 8vw 80px 7vw; }
.guides-content h2 { margin: 15px 0px; }
.guides-content h2 i { color: var(--copper); }
.guides-content > p { color: var(--muted); max-width: 400px; }
.guide-list { margin: 26px 0px; border-top: 1px solid var(--line); }
.guide-row { display: grid; grid-template-columns: 35px 1fr 20px; align-items: center; gap: 10px; padding: 15px 0px; border-bottom: 1px solid var(--line); }
.guide-row > b { font-family: var(--serif); color: var(--copper); font-size: 23px; }
.guide-row span { font-size: 9px; letter-spacing: 0.11em; font-weight: 700; color: var(--copper); }
.guide-row h3 { font-family: var(--serif); font-size: 20px; margin: 2px 0px 0px; }
.guide-row:hover h3 { color: var(--copper); }
.directory-section { max-width: 1340px; margin: auto; padding: 110px 32px; display: grid; grid-template-columns: 0.76fr 1.24fr; gap: 90px; align-items: center; }
.directory-intro h2 { margin: 14px 0px; }
.directory-intro h2 i { color: var(--copper); }
.directory-intro p { color: var(--muted); max-width: 350px; line-height: 1.6; }
.directory-intro .button { margin-top: 18px; }
.directory-cards { display: grid; gap: 13px; }
.profile-card { position: relative; display: grid; grid-template-columns: 52px 1fr 35px; gap: 18px; padding: 24px; background: white; border: 1px solid rgb(218, 212, 201); transition: box-shadow 0.18s, transform 0.18s; }
.profile-card:hover { transform: translateY(-3px); box-shadow: rgba(15, 35, 52, 0.1) 0px 14px 34px; }
.profile-card--featured { border-top: 4px solid var(--copper); }
.profile-card__monogram { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: rgb(255, 255, 255); font-family: var(--serif); font-size: 20px; }
.featured-label { color: var(--copper); letter-spacing: 0.1em; font-size: 9px; font-weight: 700; }
.profile-card h3 { font-family: var(--serif); font-size: 25px; margin: 3px 0px 2px; }
.profile-card p { font-size: 13px; color: rgb(89, 104, 113); margin: 5px 0px; }
.profile-card__place { display: flex; gap: 4px; align-items: center; }
.tag-row { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.tag-row span { font-size: 10px; background: rgb(233, 228, 218); padding: 3px 6px; }
.profile-card__go { display: grid; place-items: start end; color: var(--copper); }
.directory-stat { min-height: 110px; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; gap: 8px; color: white; padding: 22px; background: var(--ink); }
.directory-stat svg { color: rgb(232, 207, 157); }
.directory-stat b { font-family: var(--serif); font-size: 34px; line-height: 0.8; display: block; }
.directory-stat span { font-size: 12px; color: rgb(201, 213, 216); }
.directory-stat a { justify-self: end; color: rgb(232, 207, 157); }
.resources-section { padding-top: 0px; padding-bottom: 112px; }
.section-head--paper { border-top: 1px solid var(--ink); padding-top: 80px; }
.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.resource-card { min-height: 275px; padding: 31px 25px; border-top-color: ; border-top-style: ; border-top-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-right: 0px; background: rgb(249, 246, 239); display: flex; flex-direction: column; align-items: flex-start; }
.resource-card:last-child { border-right: 1px solid var(--line); }
.resource-card > svg { color: var(--copper); margin-bottom: 30px; }
.resource-card h3 { font-family: var(--serif); font-size: 28px; margin: 9px 0px; }
.resource-card p { font-size: 13px; color: var(--muted); margin: 0px 0px 14px; }
.resource-card__link { color: var(--copper); display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; margin-top: auto; }
.training-section { background: var(--ink); color: rgb(255, 249, 241); padding: 100px 32px; display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 90px; }
.training-section > div:first-child { max-width: 550px; justify-self: end; }
.training-section h2 { margin: 14px 0px; }
.training-section h2 i { color: rgb(232, 207, 157); }
.training-list { border-top: 1px solid rgba(255, 255, 255, 0.25); }
.training-list article { display: grid; grid-template-columns: 63px 1fr 30px; gap: 18px; align-items: center; padding: 24px 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.25); }
.training-date { color: rgb(232, 207, 157); font-family: var(--serif); line-height: 0.85; font-size: 16px; display: flex; flex-direction: column; }
.training-date b { font-size: 30px; }
.training-list h3 { font-family: var(--serif); font-size: 24px; margin: 7px 0px; }
.training-list p { color: rgb(201, 213, 216); margin: 0px; font-size: 13px; }
.training-list a { color: rgb(232, 207, 157); }
.newsletter-section { background: rgb(229, 214, 190); padding: 74px 10vw; display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; }
.newsletter-section h2 { margin: 14px 0px 0px; }
.newsletter-section h2 i { color: var(--copper); }
.newsletter-section > div:last-child > p { color: rgb(76, 91, 99); max-width: 460px; }
.newsletter-form { display: flex; border-bottom: 1px solid var(--ink); margin-top: 22px; }
.newsletter-form input { flex: 1 1 0%; border: 0px; background: transparent; padding: 13px 0px; outline: none; }
.newsletter-form button { color: var(--ink); background: transparent; border: 0px; font-size: 12px; font-weight: 700; display: flex; gap: 7px; align-items: center; white-space: nowrap; }
.newsletter-section small { display: block; color: rgb(100, 112, 119); font-size: 10px; margin-top: 12px; }
.page-hero { color: rgb(255, 250, 241); background-image: ; background-repeat: ; background-attachment: ; background-origin: ; background-clip: ; background-color: ; min-height: 410px; background-size: cover; background-position: center center; position: relative; display: flex; align-items: end; padding: 75px 32px 65px; }
.page-hero__route { position: absolute; left: 0px; top: 40px; bottom: 0px; width: 40%; border-right: 1px solid rgba(255, 255, 255, 0.18); opacity: 0.6; }
.page-hero__route::after { content: ""; position: absolute; width: 8px; height: 8px; right: -4px; top: 60%; border-radius: 50%; background: rgb(232, 207, 157); }
.page-hero__inner { width: min(940px, 100%); margin: 0px auto; position: relative; }
.page-hero h1 { max-width: 850px; margin: 17px 0px; }
.page-hero p { max-width: 620px; color: rgb(213, 222, 225); font-size: 17px; line-height: 1.6; margin-bottom: 0px; }
.page-hero .button { margin-top: 23px; }
.section-toolbar { padding-bottom: 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.filter-row { display: flex; gap: 8px; flex-wrap: wrap; }
.filter-chip { border: 1px solid var(--line); background: transparent; padding: 7px 11px; font-size: 11px; color: var(--ink); }
.filter-chip.is-selected { background: var(--ink); color: white; border-color: var(--ink); }
.section-toolbar > span, .shelf-label { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; }
.actuality-top { margin-top: 30px; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 22px; }
.actuality-lead { min-height: 435px; padding: 44px; display: flex; flex-direction: column; justify-content: space-between; background: rgb(223, 200, 164); }
.actuality-lead h2 { font-size: clamp(37px, 4.3vw, 60px); margin: 15px 0px; }
.actuality-lead p { max-width: 500px; color: rgb(75, 90, 97); }
.actuality-lead > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.actuality-lead small { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; }
.actuality-side { border-top: 1px solid var(--ink); }
.actuality-side article { padding: 23px 0px; border-bottom: 1px solid var(--line); }
.actuality-side h3 { font-family: var(--serif); font-size: 25px; margin: 8px 0px 14px; }
.actuality-side div { display: flex; justify-content: space-between; align-items: center; }
.actuality-side small { font-size: 10px; font-weight: 700; color: var(--muted); }
.actuality-side a { color: var(--copper); }
.update-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.update-card { min-height: 300px; padding: 20px; display: flex; flex-direction: column; position: relative; }
.update-card > span { font-family: var(--serif); font-size: 28px; color: var(--copper); }
.update-card h3 { font-family: var(--serif); font-size: 26px; margin: 9px 0px; }
.update-card p { font-size: 13px; color: rgb(82, 97, 106); }
.update-card a { margin-top: auto; }
.update-card small { position: absolute; right: 17px; bottom: 21px; font-size: 9px; letter-spacing: 0.08em; font-weight: 700; }
.update-card--blue { background: rgb(212, 226, 229); }
.update-card--sand { background: rgb(236, 225, 206); }
.update-card--copper { background: rgb(218, 173, 145); }
.update-card--ink { background: var(--ink); color: rgb(255, 255, 255); }
.update-card--ink p { color: rgb(198, 211, 214); }
.calendar-callout { max-width: 1340px; margin: 0px auto 100px; padding: 52px 58px; background: var(--ink); color: white; display: grid; grid-template-columns: 58px 1fr 0.65fr auto; align-items: center; gap: 20px; }
.calendar-callout > svg { color: rgb(232, 207, 157); }
.calendar-callout h2 { font-size: 38px; margin: 9px 0px 0px; }
.calendar-callout p { color: rgb(201, 213, 216); margin: 0px; font-size: 14px; }
.guide-index-section { max-width: 1340px; margin: auto; padding: 100px 32px; display: grid; grid-template-columns: 0.73fr 1.27fr; gap: 90px; }
.guide-index-intro h2 { margin: 14px 0px; }
.guide-index-intro h2 i { color: var(--copper); }
.guide-index-intro > p { color: var(--muted); max-width: 360px; }
.guide-key { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 15px; display: grid; gap: 8px; font-size: 12px; }
.key-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; margin-right: 6px; }
.key-dot--copper { background: var(--copper); }
.key-dot--blue { background: rgb(47, 112, 136); }
.key-dot--sand { background: rgb(181, 147, 97); }
.guide-index-list { display: grid; gap: 12px; }
.guide-index-card { position: relative; min-height: 145px; display: grid; grid-template-columns: 65px 1fr 35px; gap: 18px; align-items: center; padding: 22px 25px; border-left: 5px solid; transition: transform 0.18s; }
.guide-index-card:hover { transform: translateX(5px); }
.guide-index-card--copper { background: rgb(228, 199, 174); border-color: var(--copper); }
.guide-index-card--blue { background: rgb(213, 226, 229); border-color: rgb(47, 112, 136); }
.guide-index-card--sand { background: rgb(234, 224, 204); border-color: rgb(181, 147, 97); }
.guide-index-card--ink { background: var(--ink); color: white; border-color: rgb(232, 207, 157); }
.guide-index-card--ink .article-tag, .guide-index-card--ink p { color: rgb(232, 207, 157); }
.guide-no { font-family: var(--serif); font-size: 38px; color: var(--copper); }
.guide-index-card h3 { font-family: var(--serif); font-size: 28px; margin: 5px 0px; }
.guide-index-card p { display: flex; gap: 6px; align-items: center; color: rgb(90, 104, 112); font-size: 12px; margin: 0px; }
.guide-process { color: rgb(255, 250, 241); background: var(--ink); padding: 95px max(32px, 50% - 638px); display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 90px; }
.guide-process__title h2 { margin: 14px 0px; }
.guide-process__title h2 i { color: rgb(232, 207, 157); }
.process-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255, 255, 255, 0.2); }
.process-steps article { background: var(--ink); padding: 24px; }
.process-steps b { display: block; color: rgb(232, 207, 157); font-family: var(--serif); font-size: 27px; }
.process-steps svg { margin: 24px 0px; color: rgb(232, 207, 157); }
.process-steps h3 { font-family: var(--serif); font-size: 26px; margin-bottom: 7px; }
.process-steps p { color: rgb(200, 213, 215); font-size: 13px; margin: 0px; }
.guide-bottom { max-width: 1340px; margin: auto; padding: 100px 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.guide-bottom h2 { margin: 15px 0px; }
.guide-bottom h2 i { color: var(--copper); }
.simple-link-list { border-top: 1px solid var(--line); margin-top: 28px; }
.simple-link-list a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 0px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 600; }
.simple-link-list a:hover { color: var(--copper); }
.directory-explorer { max-width: 1340px; margin: auto; padding: 75px 32px 100px; }
.explorer-search { display: grid; grid-template-columns: 30px 1fr auto; gap: 11px; align-items: center; border: 1px solid var(--line); background: white; padding: 8px 9px 8px 19px; }
.explorer-search input { border: 0px; outline: 0px; min-width: 0px; padding: 11px 0px; }
.explorer-search button { border: 0px; background: var(--ink); color: white; padding: 12px 18px; font-weight: 700; font-size: 13px; }
.directory-body { display: grid; grid-template-columns: 270px 1fr; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 0px; }
.directory-filters { background: rgb(232, 226, 214); padding: 27px 20px; }
.filters-head { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 18px; font-size: 11px; font-weight: 700; letter-spacing: 0.07em; }
.filters-head span { display: flex; gap: 7px; align-items: center; }
.filters-head button { border: 0px; background: none; color: var(--copper); font-size: 11px; }
.filter-group { padding: 21px 0px; border-bottom: 1px solid var(--line); }
.filter-group h3 { font-size: 13px; margin: 0px 0px 13px; }
.filter-group label { display: grid; grid-template-columns: 18px 1fr auto; gap: 6px; align-items: center; font-size: 12px; margin: 10px 0px; }
.filter-group input { accent-color: var(--copper); }
.filter-group small { color: var(--muted); }
.directory-results { padding: 38px 42px; }
.results-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 30px; }
.results-head h2 { margin: 10px 0px 0px; font-size: 48px; }
.results-head h2 i { color: var(--copper); }
.results-head > span { font-size: 10px; font-weight: 700; color: var(--muted); letter-spacing: 0.09em; }
.mobile-filter { display: none; }
.profiles-stack { display: grid; gap: 12px; }
.disclaimer { margin: 22px 0px 0px; color: var(--muted); font-size: 11px; }
.directory-help { background: var(--ink); color: white; padding: 64px max(32px, 50% - 638px); display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: end; }
.directory-help h2 { margin: 14px 0px 0px; }
.directory-help h2 i { color: rgb(232, 207, 157); }
.directory-help > div:last-child { color: rgb(201, 213, 216); }
.directory-help__link { display: inline-flex; margin-top: 12px; gap: 7px; align-items: center; color: rgb(232, 207, 157); font-size: 13px; font-weight: 700; }
.checklist-panel { max-width: 700px; margin: -1px auto 80px; padding: 20px; background: rgb(232, 207, 157); display: flex; gap: 14px; align-items: center; }
.checklist-panel p { font-size: 13px; margin: 0px; }
.directory-contact-wrap { max-width: 750px; margin: 0px auto 100px; }
.resource-featured { max-width: 1340px; margin: auto; padding: 96px 32px; display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 90px; }
.resource-featured h2 { margin: 15px 0px; }
.resource-featured h2 i { color: var(--copper); }
.resource-featured__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.resource-featured__grid article { background: rgb(255, 250, 241); padding: 25px 19px; min-height: 270px; display: flex; flex-direction: column; align-items: start; }
.resource-featured__grid svg { color: var(--copper); margin-bottom: 35px; }
.resource-featured__grid h3 { font-family: var(--serif); font-size: 26px; margin: 8px 0px; }
.resource-featured__grid p { font-size: 12px; color: var(--muted); }
.resource-shelf { padding-top: 0px; }
.shelf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.shelf-grid article { min-height: 260px; background: white; padding: 23px; position: relative; border-top: 4px solid var(--ink); }
.shelf-grid article > span { position: absolute; right: 20px; top: 15px; color: var(--copper); font-family: var(--serif); font-size: 24px; }
.shelf-grid article > svg { color: var(--copper); margin: 21px 0px 24px; }
.shelf-grid article i { color: var(--copper); display: block; font-size: 9px; letter-spacing: 0.1em; font-style: normal; font-weight: 700; }
.shelf-grid article h3 { font-family: var(--serif); font-size: 27px; margin: 7px 0px; }
.shelf-grid article p { color: var(--muted); font-size: 12px; }
.shelf-grid article a { display: flex; align-items: center; gap: 6px; color: var(--copper); font-size: 12px; font-weight: 700; margin-top: 17px; }
.download-banner { max-width: 1340px; margin: 0px auto 100px; padding: 52px 58px; background: rgb(198, 107, 68); color: white; display: grid; grid-template-columns: 55px 1fr auto; gap: 20px; align-items: center; }
.download-banner h2 { margin: 9px 0px 0px; font-size: 39px; }
.download-banner h2 i { color: rgb(242, 222, 193); }
.agenda-section { max-width: 1340px; padding: 100px 32px; margin: auto; display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 95px; }
.agenda-title h2 { margin: 14px 0px; }
.agenda-title h2 i { color: var(--copper); }
.agenda-title p { max-width: 330px; color: var(--muted); }
.agenda-list { border-top: 1px solid var(--ink); }
.agenda-list article { display: grid; grid-template-columns: 65px 22px 1fr 28px; gap: 18px; align-items: center; padding: 27px 0px; border-bottom: 1px solid var(--line); }
.agenda-day { font-family: var(--serif); color: var(--copper); line-height: 0.78; display: flex; flex-direction: column; }
.agenda-day span { font-size: 34px; }
.agenda-day b { font-size: 16px; }
.agenda-line { height: 1px; background: var(--copper); }
.agenda-info i { color: var(--copper); font-size: 10px; font-style: normal; letter-spacing: 0.1em; font-weight: 700; }
.agenda-info h3 { font-family: var(--serif); font-size: 28px; margin: 8px 0px; }
.agenda-info p { color: var(--muted); font-size: 12px; display: flex; align-items: center; gap: 5px; margin: 0px; }
.agenda-list button { background: transparent; border: 0px; color: var(--copper); }
.formation-tracks { background: var(--ink); color: rgb(255, 250, 241); display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 90px; padding: 95px max(32px, 50% - 638px); }
.formation-tracks h2 { margin: 14px 0px; }
.formation-tracks h2 i { color: rgb(232, 207, 157); }
.formation-tracks > div:last-child { border-top: 1px solid rgba(255, 255, 255, 0.22); }
.formation-tracks article { display: grid; grid-template-columns: 95px 1fr 1.2fr auto; gap: 20px; padding: 23px 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.22); align-items: center; }
.formation-tracks article > span { color: rgb(232, 207, 157); font-size: 10px; font-weight: 700; letter-spacing: 0.08em; }
.formation-tracks h3 { font-family: var(--serif); font-size: 28px; margin: 0px; }
.formation-tracks p { color: rgb(199, 212, 215); font-size: 12px; margin: 0px; }
.formation-tracks a { color: rgb(232, 207, 157); white-space: nowrap; font-size: 12px; font-weight: 700; display: flex; gap: 5px; align-items: center; }
.on-demand { max-width: 1340px; margin: auto; padding: 100px 32px; display: grid; grid-template-columns: 105px 0.85fr 1fr; gap: 30px; align-items: center; }
.on-demand-icon { width: 73px; height: 73px; border: 1px solid var(--ink); display: grid; place-items: center; color: var(--copper); }
.on-demand h2 { margin: 14px 0px; }
.on-demand h2 i { color: var(--copper); }
.on-demand > p { color: var(--muted); max-width: 380px; }
.on-demand-notes { grid-column: 3; display: flex; gap: 16px; color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: 0.08em; }
.on-demand-notes span { display: flex; align-items: center; gap: 5px; }
.profession-opening { max-width: 1100px; margin: auto; padding: 105px 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.profession-opening h2 { margin: 14px 0px; }
.profession-opening h2 i { color: var(--copper); }
.profession-opening > div:last-child p { color: var(--muted); line-height: 1.65; }
.profession-opening .button { margin-top: 12px; }
.profession-fields { color: white; background: var(--ink); display: grid; grid-template-columns: 0.82fr 1.18fr; }
.profession-statement { padding: 100px 70px 100px max(32px, -638px + 50vw); background: rgb(25, 56, 77); }
.profession-statement h2 { margin: 14px 0px; }
.profession-statement h2 i { color: rgb(232, 207, 157); }
.profession-statement > svg { color: rgb(232, 207, 157); margin-top: 30px; }
.fields-list { padding: 70px 9vw 60px 60px; }
.fields-list article { display: grid; grid-template-columns: 37px 45px 1fr; gap: 15px; align-items: start; padding: 23px 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.24); }
.fields-list article > span { font-family: var(--serif); color: rgb(232, 207, 157); font-size: 21px; }
.fields-list svg { color: rgb(232, 207, 157); }
.fields-list h3 { font-family: var(--serif); font-size: 29px; margin: 0px 0px 5px; }
.fields-list p { color: rgb(201, 213, 216); font-size: 13px; margin: 0px; }
.profession-points { max-width: 1340px; margin: auto; padding: 100px 32px; display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 100px; }
.profession-points h2 { margin: 14px 0px; }
.profession-points h2 i { color: var(--copper); }
.profession-points ol { list-style: none; margin: 0px; padding: 0px; border-top: 1px solid var(--ink); }
.profession-points li { display: grid; grid-template-columns: 75px 1fr; gap: 20px; padding: 21px 0px; border-bottom: 1px solid var(--line); }
.profession-points b { font-family: var(--serif); font-size: 29px; color: var(--copper); }
.profession-points p { font-family: var(--serif); font-size: 23px; line-height: 1.2; margin: 3px 0px; }
.profession-path { padding: 57px max(32px, 50% - 638px); color: white; background: rgb(196, 101, 61); display: grid; grid-template-columns: 55px 0.8fr 1fr auto; gap: 24px; align-items: center; }
.profession-path h2 { font-size: 36px; margin: 9px 0px; }
.profession-path h2 i { color: rgb(250, 226, 190); }
.profession-path > p { margin: 0px; font-size: 13px; color: rgb(255, 244, 228); }
.breadcrumbs { display: flex; gap: 5px; align-items: center; color: rgb(104, 115, 123); font-size: 11px; margin-bottom: 34px; }
.breadcrumbs span { display: flex; align-items: center; gap: 5px; }
.breadcrumbs a:hover { color: var(--copper); }
.detail-hero { max-width: 1030px; margin: auto; padding: 78px 32px 57px; }
.detail-hero h1 { font-size: clamp(45px, 5.4vw, 75px); max-width: 950px; margin: 17px 0px 20px; }
.detail-lead { font-size: 19px; color: rgb(86, 100, 108); line-height: 1.6; max-width: 760px; }
.detail-meta { display: flex; flex-wrap: wrap; gap: 15px; color: var(--muted); font-size: 10px; letter-spacing: 0.08em; font-weight: 700; margin: 28px 0px; }
.detail-meta span { display: flex; align-items: center; gap: 4px; }
.detail-actions { display: flex; gap: 9px; }
.detail-actions button { display: flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: transparent; font-size: 12px; padding: 8px 10px; }
.detail-layout { max-width: 1030px; margin: auto; padding: 53px 32px 100px; display: grid; grid-template-columns: 1fr 270px; gap: 75px; border-top: 1px solid var(--ink); }
.article-body { font-size: 17px; color: rgb(49, 65, 73); line-height: 1.75; }
.article-body .article-intro { color: var(--ink); font-family: var(--serif); font-size: 27px; line-height: 1.25; }
.article-body h2 { font-size: 38px; margin: 45px 0px 14px; }
.article-body blockquote { margin: 35px 0px; padding: 20px 26px; background: rgb(230, 214, 189); color: var(--ink); font-family: var(--serif); font-size: 25px; line-height: 1.2; }
.article-body li { padding-bottom: 5px; }
.inline-cta { display: inline-flex; align-items: center; gap: 7px; border-bottom: 1px solid var(--copper); color: var(--copper); font-size: 13px; font-weight: 700; }
.detail-aside { display: grid; align-content: start; gap: 20px; }
.aside-index { border-top: 3px solid var(--ink); padding-top: 15px; }
.aside-index .eyebrow { margin-bottom: 12px; }
.aside-index a { display: block; border-top: 1px solid var(--line); padding: 10px 0px; font-size: 12px; }
.contact-card { background: var(--ink); color: white; padding: 24px; display: flex; gap: 14px; align-items: flex-start; }
.contact-card > svg { color: rgb(232, 207, 157); flex-shrink: 0; }
.contact-card h3 { font-family: var(--serif); font-size: 27px; margin: 11px 0px 7px; }
.contact-card p { color: rgb(201, 213, 216); font-size: 12px; margin: 0px 0px 17px; }
.contact-card .button { padding: 10px; font-size: 11px; }
.related-section { padding: 65px max(32px, 50% - 483px); background: rgb(233, 223, 207); }
.related-section > div { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 18px; }
.related-section a { font-family: var(--serif); font-size: 26px; display: flex; gap: 9px; align-items: center; }
.guide-detail-top { max-width: 1120px; margin: auto; padding: 76px 32px 60px; }
.guide-detail-heading { display: grid; grid-template-columns: 1fr 270px; gap: 100px; align-items: end; }
.guide-detail-heading h1 { font-size: clamp(46px, 5.5vw, 75px); margin: 17px 0px; }
.guide-detail-heading p { font-size: 18px; line-height: 1.6; color: var(--muted); max-width: 690px; }
.guide-detail-data { display: grid; gap: 12px; padding-bottom: 10px; }
.guide-detail-data span { display: flex; align-items: center; gap: 8px; color: var(--copper); font-size: 10px; letter-spacing: 0.08em; font-weight: 700; }
.guide-detail-layout { max-width: 1120px; margin: auto; border-top: 1px solid var(--ink); display: grid; grid-template-columns: 1fr 290px; gap: 85px; padding: 55px 32px 100px; }
.guide-steps { display: grid; gap: 38px; }
.guide-steps article { display: grid; grid-template-columns: 65px 1fr; gap: 20px; }
.guide-steps article > span { color: var(--copper); font-family: var(--serif); font-size: 35px; }
.guide-steps h2 { font-size: 40px; margin: 10px 0px; }
.guide-steps p { color: rgb(86, 101, 110); line-height: 1.65; max-width: 570px; }
.guide-note { margin-top: 20px; padding: 18px; background: rgb(229, 215, 192); display: flex; gap: 12px; align-items: start; }
.guide-note svg { color: var(--copper); flex-shrink: 0; }
.guide-note p { margin: 0px; font-size: 13px; line-height: 1.55; }
.guide-detail-aside { display: grid; gap: 20px; align-content: start; }
.route-progress { padding: 18px; background: rgb(231, 225, 214); }
.route-progress > span { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; }
.route-progress > div { display: flex; gap: 6px; margin: 15px 0px 10px; }
.route-progress i { width: 100%; height: 6px; background: var(--copper); }
.route-progress p { font-size: 12px; color: var(--muted); margin: 0px; }
.guide-completion { background: var(--copper); color: white; padding: 54px max(32px, 50% - 528px); display: grid; grid-template-columns: 55px 1fr auto; gap: 20px; align-items: center; }
.guide-completion h2 { font-size: 38px; margin: 9px 0px; }
.guide-completion h2 i { color: rgb(249, 223, 180); }
.sale-page-hero { min-height: 600px; color: white; background: var(--ink); padding: 93px max(32px, 50% - 638px); display: grid; grid-template-columns: 1fr; position: relative; overflow: hidden; }
.sale-page-hero__route { position: absolute; height: 165%; width: 1px; background: rgba(255, 255, 255, 0.22); transform: rotate(38deg); left: 60%; top: -35%; }
.sale-page-hero h1 { font-size: clamp(54px, 8vw, 106px); margin: 15px 0px; position: relative; }
.sale-page-hero .domain-wordmark { color: rgb(247, 228, 190); white-space: nowrap; letter-spacing: -0.07em; }
.sale-page-hero p { max-width: 560px; color: rgb(208, 219, 222); font-size: 18px; line-height: 1.6; }
.sale-page-hero .button { margin-top: 22px; }
.sale-marker { position: absolute; right: max(32px, 50% - 638px); bottom: 93px; color: rgb(232, 207, 157); display: grid; justify-items: start; gap: 12px; font-size: 10px; font-weight: 700; letter-spacing: 0.09em; }
.sale-reasons { max-width: 1340px; margin: auto; padding: 108px 32px; display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 100px; }
.sale-reasons h2 { margin: 14px 0px; }
.sale-reasons h2 i { color: var(--copper); }
.reason-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.reason-grid svg { color: var(--copper); }
.reason-grid h3 { font-family: var(--serif); font-size: 25px; margin: 17px 0px 8px; }
.reason-grid p { color: var(--muted); font-size: 13px; }
.sale-concept { color: white; background: rgb(24, 55, 78); display: grid; grid-template-columns: 1fr 1fr; }
.sale-concept__visual { min-height: 420px; position: relative; overflow: hidden; background: rgb(12, 29, 43); display: grid; place-items: center; }
.sale-concept__visual span { position: relative; z-index: 1; font-size: 11px; letter-spacing: 0.15em; font-weight: 700; }
.sale-concept__rings, .sale-concept__rings::before, .sale-concept__rings::after { position: absolute; width: 290px; height: 290px; border: 1px solid rgba(232, 207, 157, 0.6); border-radius: 50%; content: ""; }
.sale-concept__rings::before { width: 210px; height: 210px; left: 39px; top: 39px; }
.sale-concept__rings::after { width: 120px; height: 120px; left: 84px; top: 84px; }
.sale-concept > div:last-child { padding: 80px 9vw; }
.sale-concept h2 { margin: 14px 0px; }
.sale-concept h2 i { color: rgb(232, 207, 157); }
.sale-concept p { color: rgb(203, 215, 218); max-width: 440px; }
.sale-concept ul { padding: 0px; list-style: none; margin-top: 25px; }
.sale-concept li { display: flex; gap: 8px; align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.2); padding: 9px 0px; color: rgb(232, 207, 157); font-size: 13px; }
.sale-form-section { max-width: 1100px; margin: auto; padding: 105px 32px; display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 100px; }
.sale-form-section h2 { margin: 15px 0px; }
.sale-form-section h2 i { color: var(--copper); }
.sale-form-section > div > p { color: var(--muted); }
.sale-mail { display: inline-flex; align-items: center; gap: 7px; color: var(--copper); font-weight: 700; border-bottom: 1px solid var(--copper); padding-bottom: 3px; }
.sale-form { display: grid; gap: 16px; }
.sale-form label { display: grid; gap: 6px; color: rgb(104, 115, 123); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; }
.sale-form input, .sale-form textarea { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); background: transparent; outline: 0px; padding: 10px 0px; color: var(--ink); resize: vertical; }
.sale-form input:focus, .sale-form textarea:focus { border-color: var(--copper); }
.sale-form .button { justify-self: start; margin-top: 7px; }
.sale-form small { color: var(--muted); font-size: 10px; }
.sale-form small a { color: var(--copper); }
.site-footer { color: white; background: rgb(12, 29, 43); padding: 0px 32px; }
.footer-route { height: 30px; max-width: 1340px; margin: auto; border-left: 1px solid rgba(255, 255, 255, 0.22); width: 63%; }
.footer-grid { max-width: 1340px; margin: auto; padding: 57px 0px; display: grid; grid-template-columns: 1.35fr 0.55fr 0.7fr 0.9fr; gap: 55px; }
.footer-brand { color: white; margin-bottom: 17px; }
.footer-grid p { color: rgb(191, 205, 208); font-size: 13px; max-width: 320px; }
.footer-grid small { color: rgb(130, 149, 154); font-size: 10px; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-grid > div:not(:first-child) a { color: rgb(201, 213, 216); font-size: 13px; }
.footer-grid > div:not(:first-child) a:hover { color: rgb(232, 207, 157); }
.footer-grid .eyebrow { margin-bottom: 6px; color: rgb(232, 207, 157); }
.footer-note { margin: 0px; }
.footer-bottom { max-width: 1340px; margin: auto; border-top: 1px solid rgba(255, 255, 255, 0.16); padding: 15px 0px 25px; display: flex; justify-content: space-between; color: rgb(130, 149, 154); font-size: 10px; letter-spacing: 0.06em; }
@media (max-width: 900px) {
  .desktop-nav, .search-link, .header-cta { display: none; }
  .menu-button { display: block; }
  .mobile-nav { position: fixed; z-index: 39; display: none; top: var(--mobile-nav-top, 78px); left: 0px; right: 0px; padding: 17px 25px; gap: 10px; background: rgb(255, 250, 241); border-bottom: 1px solid var(--line); box-shadow: rgba(15, 35, 52, 0.13) 0px 12px 25px; }
  .mobile-nav a { padding: 8px 0px; font-size: 15px; font-weight: 600; }
  .home-hero__inner { padding-top: 70px; }
  .route-finder { display: none; }
  .home-hero { min-height: 590px; }
  .intro-band, .route-area-head, .guide-index-section, .resource-featured, .agenda-section, .sale-reasons, .sale-form-section { grid-template-columns: 1fr; gap: 40px; }
  .area-grid, .update-grid { grid-template-columns: repeat(2, 1fr); }
  .guides-content { padding: 65px 7vw; }
  .directory-section { grid-template-columns: 1fr; gap: 42px; }
  .training-section, .guide-process, .formation-tracks, .profession-opening, .profession-points { grid-template-columns: 1fr; gap: 42px; }
  .training-section > div:first-child { justify-self: start; }
  .newsletter-section { gap: 55px; }
  .page-hero__inner { margin-left: 0px; }
  .actuality-top { grid-template-columns: 1fr; }
  .calendar-callout { grid-template-columns: 48px 1fr; }
  .calendar-callout p, .calendar-callout .route-link { grid-column: 2; }
  .directory-body { grid-template-columns: 1fr; }
  .directory-filters { display: none; }
  .mobile-filter { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line); background: transparent; padding: 8px; }
  .directory-help { grid-template-columns: 1fr; gap: 30px; }
  .resource-featured__grid, .reason-grid { grid-template-columns: 1fr 1fr 1fr; }
  .formation-tracks article { grid-template-columns: 78px 1fr; }
  .formation-tracks article p, .formation-tracks article a { grid-column: 2; }
  .on-demand { grid-template-columns: 75px 1fr; }
  .on-demand > p, .on-demand-notes { grid-column: 2; }
  .profession-fields, .sale-concept { grid-template-columns: 1fr; }
  .profession-statement { padding: 75px 32px; }
  .fields-list { padding: 45px 32px; }
  .profession-path { grid-template-columns: 45px 1fr; }
  .profession-path > p, .profession-path .route-link { grid-column: 2; }
  .detail-layout, .guide-detail-layout, .guide-detail-heading { grid-template-columns: 1fr; gap: 40px; }
  .detail-aside, .guide-detail-aside { grid-template-columns: 1fr 1fr; }
  .guide-detail-data { grid-template-columns: repeat(3, 1fr); }
  .sale-page-hero { grid-template-columns: 1fr; }
  .sale-marker { margin-top: 50px; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .sale-bar__inner { padding: 0px 16px; font-size: 10px; }
  .sale-bar__inner span { max-width: 205px; }
  .header-inner { padding: 0px 18px; height: 68px; }
  .site-header { top: 0px; }
  .mobile-nav { top: 68px; }
  .brand-mark { width: 28px; height: 28px; }
  .brand-type { font-size: 17px; }
  .home-hero { min-height: 570px; }
  .home-hero__inner { min-height: 525px; padding: 55px 20px 45px; }
  .hero-copy h1 { font-size: 56px; }
  .hero-copy p { font-size: 16px; }
  .hero-actions { flex-wrap: wrap; gap: 16px; }
  .hero-strip { padding: 11px; font-size: 7px; gap: 7px; }
  .intro-band, .news-section, .resources-section, .listing-section, .update-grid-section, .resource-shelf, .directory-explorer, .agenda-section, .resource-featured, .sale-reasons, .sale-form-section, .profession-opening, .profession-points, .guide-index-section { padding-left: 20px; padding-right: 20px; }
  .intro-band { padding-top: 73px; padding-bottom: 70px; }
  .section-head { align-items: start; flex-direction: column; margin-bottom: 28px; }
  .news-layout { grid-template-columns: 1fr; }
  .news-feature { border-right: 0px; padding: 30px 22px; min-height: 380px; }
  .news-feature h3 { font-size: 34px; }
  .news-row { padding-left: 0px; grid-template-columns: 1fr 43px; }
  .route-area-section { padding-top: 70px; }
  .route-area-section::before { display: none; }
  .route-area-head { padding: 0px 20px 32px; }
  .area-grid { grid-template-columns: 1fr; }
  .area-card { min-height: 230px; border-right: 0px !important; }
  .guides-section { grid-template-columns: 1fr; }
  .guides-image { min-height: 310px; }
  .guides-content { padding: 58px 20px; }
  .directory-section { padding: 70px 20px; }
  .profile-card { grid-template-columns: 40px 1fr 20px; gap: 11px; padding: 16px; }
  .profile-card__monogram { width: 38px; height: 38px; font-size: 15px; }
  .profile-card h3 { font-size: 21px; }
  .resource-grid, .resource-featured__grid, .shelf-grid, .update-grid { grid-template-columns: 1fr; }
  .resource-card { border-right: 1px solid var(--line); }
  .training-section, .guide-process, .formation-tracks, .directory-help { padding-left: 20px; padding-right: 20px; }
  .training-list article { grid-template-columns: 50px 1fr 22px; }
  .training-list h3 { font-size: 21px; }
  .newsletter-section { grid-template-columns: 1fr; padding: 60px 20px; }
  .page-hero { min-height: 415px; padding: 58px 20px 50px; }
  .page-hero__route { width: 18%; }
  .page-hero h1 { font-size: 55px; }
  .section-toolbar { align-items: start; flex-direction: column; }
  .actuality-lead { padding: 29px 23px; }
  .actuality-lead h2 { font-size: 41px; }
  .calendar-callout { margin: 0px 20px 70px; padding: 30px 23px; grid-template-columns: 1fr; }
  .calendar-callout p, .calendar-callout .route-link { grid-column: auto; }
  .calendar-callout h2 { font-size: 35px; }
  .guide-index-card { grid-template-columns: 47px 1fr 22px; padding: 18px; }
  .guide-index-card h3 { font-size: 24px; }
  .guide-process { padding-top: 68px; padding-bottom: 68px; }
  .process-steps { grid-template-columns: 1fr; }
  .guide-bottom { grid-template-columns: 1fr; gap: 45px; padding: 70px 20px; }
  .directory-results { padding: 27px 18px; }
  .results-head { align-items: start; flex-wrap: wrap; }
  .results-head h2 { font-size: 43px; }
  .directory-help { padding-top: 55px; padding-bottom: 55px; }
  .checklist-panel { margin: 0px 20px 70px; }
  .download-banner { grid-template-columns: 1fr; margin: 0px 20px 70px; padding: 35px 24px; }
  .download-banner h2 { font-size: 35px; }
  .agenda-list article { grid-template-columns: 53px 12px 1fr 20px; gap: 10px; }
  .agenda-info h3 { font-size: 23px; }
  .formation-tracks { padding-top: 65px; padding-bottom: 65px; }
  .formation-tracks article { grid-template-columns: 1fr; gap: 6px; }
  .formation-tracks article p, .formation-tracks article a { grid-column: auto; }
  .on-demand { padding: 70px 20px; grid-template-columns: 1fr; }
  .on-demand > p, .on-demand-notes { grid-column: auto; }
  .on-demand-notes { flex-wrap: wrap; }
  .profession-statement, .fields-list { padding-left: 20px; padding-right: 20px; }
  .fields-list article { grid-template-columns: 28px 37px 1fr; }
  .profession-path { padding: 38px 20px; grid-template-columns: 1fr; }
  .profession-path > p, .profession-path .route-link { grid-column: auto; }
  .detail-hero { padding: 52px 20px 43px; }
  .detail-hero h1 { font-size: 47px; }
  .detail-lead { font-size: 17px; }
  .detail-layout, .guide-detail-layout { padding: 40px 20px 70px; }
  .detail-aside, .guide-detail-aside { grid-template-columns: 1fr; }
  .related-section { padding: 50px 20px; }
  .related-section > div { grid-template-columns: 1fr; gap: 18px; }
  .related-section a { font-size: 23px; }
  .guide-detail-top { padding: 52px 20px 45px; }
  .guide-detail-heading h1 { font-size: 48px; }
  .guide-detail-data { grid-template-columns: 1fr; }
  .guide-steps article { grid-template-columns: 42px 1fr; gap: 13px; }
  .guide-steps h2 { font-size: 35px; }
  .guide-completion { padding: 39px 20px; grid-template-columns: 1fr; }
  .guide-completion h2 { font-size: 34px; }
  .sale-page-hero { padding: 65px 20px; }
  .sale-page-hero h1, .sale-page-hero .domain-wordmark { font-size: 29px; letter-spacing: -0.06em; }
  .sale-marker { position: relative; right: auto; bottom: auto; margin-top: 50px; }
  .sale-reasons { padding-top: 70px; padding-bottom: 70px; }
  .reason-grid { grid-template-columns: 1fr; gap: 18px; }
  .sale-concept > div:last-child { padding: 60px 20px; }
  .sale-form-section { padding-top: 70px; padding-bottom: 70px; }
  .site-footer { padding: 0px 20px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { gap: 10px; flex-direction: column; }
  .footer-route { margin-left: 0px; }
  .newsletter-form { flex-direction: column; border: 0px; }
  .newsletter-form input { border-bottom: 1px solid var(--ink); }
  .newsletter-form button { margin-top: 12px; justify-content: flex-start; }
}
@media (prefers-reduced-motion: no-preference) {
  .home-hero__inner > * { animation: 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 normal both running rise; }
  .home-hero__inner .route-finder { animation-delay: 0.12s; }
  @keyframes rise { 
  0% { opacity: 0; transform: translateY(14px); }
  100% { opacity: 1; transform: translateY(0px); }
}
}
@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-rotate-x { syntax: "*"; inherits: false; }
@property --tw-rotate-y { syntax: "*"; inherits: false; }
@property --tw-rotate-z { syntax: "*"; inherits: false; }
@property --tw-skew-x { syntax: "*"; inherits: false; }
@property --tw-skew-y { syntax: "*"; inherits: false; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-gradient-position { syntax: "*"; inherits: false; }
@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-stops { syntax: "*"; inherits: false; }
@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }
@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }
@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }
@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }
@property --tw-leading { syntax: "*"; inherits: false; }
@property --tw-font-weight { syntax: "*"; inherits: false; }
@property --tw-tracking { syntax: "*"; inherits: false; }
@property --tw-ordinal { syntax: "*"; inherits: false; }
@property --tw-slashed-zero { syntax: "*"; inherits: false; }
@property --tw-numeric-figure { syntax: "*"; inherits: false; }
@property --tw-numeric-spacing { syntax: "*"; inherits: false; }
@property --tw-numeric-fraction { syntax: "*"; inherits: false; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-backdrop-blur { syntax: "*"; inherits: false; }
@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }
@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }
@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }
@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-backdrop-invert { syntax: "*"; inherits: false; }
@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }
@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }
@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }
@property --tw-duration { syntax: "*"; inherits: false; }
@property --tw-ease { syntax: "*"; inherits: false; }
@property --tw-content { syntax: "*"; inherits: false; initial-value: ""; }
@keyframes spin { 
  100% { transform: rotate(360deg); }
}
@keyframes pulse { 
  50% { opacity: 0.5; }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; --tw-content: ""; }
}
}
.mobile-nav.is-open { display: grid; }
@media (max-width: 620px) { .mobile-nav.is-open { display: grid; } }


/* Ajustes de la versión publicada: jerarquía de marca y contacto directo. */
.page-hero:not(.page-hero--image) { background:var(--ink); }
.header-inner { height:100px; }
.site-header .brand { gap:14px; }
.site-header .brand-mark { width:47px; height:47px; }
.site-header .brand-type { font-size:35px; }
.sale-contact-direct { align-self:start; background:#e9dfcf; border-top:4px solid var(--copper); padding:34px; display:flex; flex-direction:column; align-items:flex-start; }
.sale-contact-direct > svg { color:var(--copper); margin-bottom:24px; }
.sale-contact-direct .eyebrow { margin-bottom:4px; }
.sale-contact-direct h3 { font-family:var(--serif); font-size:34px; margin:11px 0 9px; }
.sale-contact-direct p { color:#58666d; max-width:360px; margin:0 0 22px; }
@media (max-width:900px) { .mobile-nav { top:var(--mobile-nav-top, 100px); } }
@media (max-width:620px) {
  .header-inner { height:86px; padding:0 18px; }
  .mobile-nav { top:var(--mobile-nav-top, 86px); }
  .site-header .brand { gap:12px; }
  .site-header .brand-mark { width:42px; height:42px; }
  .site-header .brand-type { font-size:26px; }
  .sale-bar__inner { min-height:44px; padding:8px 16px; gap:12px; }
  .sale-bar__inner .sale-bar__message { max-width:none; white-space:nowrap; }
  .sale-bar__domain,.sale-bar__description { display:none; }
  .sale-contact-direct { padding:28px 22px; }
  .sale-contact-direct h3 { font-size:30px; }
}
