html {
box-sizing: border-box;
}

*,
*::before,
*::after {
box-sizing: inherit;
}

body {
margin: 0;
position: relative;
min-height: 100vh;
}

*:focus-visible {
outline: 2px solid #4706A6;
outline-offset: 3px;
transition: outline-offset 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.site_header {
background: linear-gradient(160deg, #ffffff 0%, #FEF8D8 55%, #f3eeff 100%);
border-bottom: 1px solid rgba(71, 6, 166, 0.13);
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
padding: 0;
position: relative;
z-index: 100;
overflow: visible;
}

.header_accent_bar {
height: 4px;
background: linear-gradient(90deg, #4706A6 0%, #7c3aed 50%, #212611 100%);
width: 100%;
}

.header_body {
max-width: 1100px;
margin: 0 auto;
padding: 24px 24px 0 24px;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
}

.brand_block {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}

.logo_shell {
width: 70px;
height: 70px;
border-radius: 14px;
background: #ffffff;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08), 0 4px 18px -1px rgba(71, 6, 166, 0.11);
border: 1px solid rgba(71, 6, 166, 0.18);
display: flex;
align-items: center;
justify-content: center;
padding: 6px;
}

.logo_shell img {
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
display: block;
}

.brand_name {
font-family: 'Fira Sans', sans-serif;
font-size: 27px;
font-weight: 700;
color: #4706A6;
letter-spacing: -0.02em;
line-height: 1.15;
text-decoration: none;
}

.brand_tagline {
font-family: 'Fira Sans', sans-serif;
font-size: 13px;
color: #212611;
letter-spacing: 0.06em;
line-height: 1.4;
text-transform: uppercase;
opacity: 0.7;
}

.primary_nav {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 6px;
padding: 0;
margin: 0;
list-style: none;
}

.primary_nav li {
display: block;
}

.primary_nav a {
font-family: 'Fira Sans', sans-serif;
font-size: 14px;
font-weight: 700;
color: #212611;
text-decoration: none;
padding: 12px 24px;
border-radius: 8px;
display: block;
line-height: 1.4;
letter-spacing: 0.03em;
transition: color 0.14s cubic-bezier(0.4, 0, 1, 1), background 0.14s cubic-bezier(0.4, 0, 1, 1);
min-height: 44px;
display: flex;
align-items: center;
}

.primary_nav a:hover {
color: #4706A6;
background: rgba(71, 6, 166, 0.07);
}

.primary_nav a[aria-current="page"] {
color: #4706A6;
background: rgba(71, 6, 166, 0.1);
box-shadow: inset 0 2px 2px -1px rgba(71, 6, 166, 0.08);
}

.header_notice {
width: 100%;
background: rgba(71, 6, 166, 0.06);
border-top: 1px solid rgba(71, 6, 166, 0.1);
padding: 12px 24px;
display: flex;
justify-content: center;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}

.notice_badge {
font-family: 'Fira Sans', sans-serif;
font-size: 13px;
font-weight: 700;
color: #ffffff;
background: #4706A6;
border-radius: 40px;
padding: 6px 12px;
letter-spacing: 0.04em;
line-height: 1.15;
white-space: nowrap;
}

.notice_text {
font-family: 'Fira Sans', sans-serif;
font-size: 13px;
color: #212611;
line-height: 1.65;
letter-spacing: 0.02em;
}

.notice_text a {
color: #4706A6;
font-weight: 700;
text-decoration: none;
transition: opacity 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.notice_text a:hover {
opacity: 0.75;
}

.site_footer {
background: #212611;
padding: 52px 24px 24px 24px;
}

.footer_body {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 24px;
}

.footer_top {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
padding-bottom: 24px;
border-bottom: 1px solid rgba(254, 248, 216, 0.12);
}

.footer_brand {
display: flex;
align-items: center;
gap: 12px;
text-decoration: none;
}

.footer_logo_shell {
width: 52px;
height: 52px;
border-radius: 8px;
background: #ffffff;
border: 1px solid rgba(254, 248, 216, 0.25);
box-shadow: 0 2px 2px -1px rgba(33, 38, 17, 0.08), 0 4px 18px -1px rgba(33, 38, 17, 0.11);
display: flex;
align-items: center;
justify-content: center;
padding: 6px;
flex-shrink: 0;
}

.footer_logo_shell img {
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
display: block;
}

.footer_brand_name {
font-family: 'Fira Sans', sans-serif;
font-size: 20px;
font-weight: 700;
color: #FEF8D8;
letter-spacing: -0.01em;
line-height: 1.15;
}

.footer_tagline {
font-family: 'Fira Sans', sans-serif;
font-size: 13px;
color: #FEF8D8;
opacity: 0.55;
letter-spacing: 0.05em;
line-height: 1.65;
text-align: center;
}

.footer_mid {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 6px;
padding: 0;
margin: 0;
list-style: none;
}

.footer_mid li {
display: block;
}

.footer_mid a {
font-family: 'Fira Sans', sans-serif;
font-size: 13px;
color: #FEF8D8;
text-decoration: none;
opacity: 0.65;
padding: 6px 12px;
border-radius: 3px;
display: block;
line-height: 1.65;
letter-spacing: 0.03em;
transition: opacity 0.12s cubic-bezier(0.4, 0, 1, 1);
min-height: 44px;
display: flex;
align-items: center;
}

.footer_mid a:hover {
opacity: 1;
}

.footer_bottom {
display: flex;
justify-content: center;
align-items: center;
padding-top: 12px;
border-top: 1px solid rgba(254, 248, 216, 0.08);
}

.footer_copy {
font-family: 'Fira Sans', sans-serif;
font-size: 13px;
color: #FEF8D8;
opacity: 0.4;
letter-spacing: 0.03em;
line-height: 1.65;
text-align: center;
}

@media (max-width: 600px) {
.header_body {
padding: 24px 12px 0 12px;
gap: 12px;
}

.header_notice {
padding: 12px;
flex-direction: column;
align-items: flex-start;
gap: 6px;
}

.primary_nav a {
padding: 12px 12px;
font-size: 13px;
}

.site_footer {
padding: 52px 12px 24px 12px;
}
}

@media (min-width: 900px) {
.header_body {
padding: 24px 52px 0 52px;
}

.header_notice {
padding: 12px 52px;
}
}

@media (min-width: 1200px) {
.header_body {
padding: 24px 96px 0 96px;
}

.header_notice {
padding: 12px 96px;
}
}

.doc-body {
max-width: 1100px;
margin: 0 auto;
padding: 52px 24px;
}

.doc-body h1 {
font-size: 52px;
font-weight: 700;
line-height: 1.15;
letter-spacing: -0.02em;
color: #4706A6;
margin-bottom: 24px;
margin-top: 0;
padding-bottom: 24px;
border-bottom: 2px solid #FEF8D8;
}

.doc-body h2 {
font-size: 27px;
font-weight: 700;
line-height: 1.15;
letter-spacing: -0.01em;
color: #212611;
margin-top: 52px;
margin-bottom: 24px;
padding-left: 12px;
border-left: 4px solid #4706A6;
border-bottom: 1px solid rgba(71, 6, 166, 0.11);
padding-bottom: 12px;
}

.doc-body h3 {
font-size: 20px;
font-weight: 700;
line-height: 1.4;
letter-spacing: -0.005em;
color: #212611;
margin-top: 24px;
margin-bottom: 12px;
}

.doc-body h4 {
font-size: 16px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.01em;
color: #212611;
margin-top: 24px;
margin-bottom: 12px;
}

.doc-body h5 {
font-size: 14px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.02em;
color: #212611;
margin-top: 12px;
margin-bottom: 6px;
text-transform: uppercase;
}

.doc-body h6 {
font-size: 13px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.04em;
color: rgba(33, 38, 17, 0.72);
margin-top: 12px;
margin-bottom: 6px;
text-transform: uppercase;
}

.doc-body p {
font-size: 16px;
line-height: 1.85;
color: #212611;
margin-top: 0;
margin-bottom: 24px;
max-width: 72ch;
}

.doc-body ul,
.doc-body ol {
font-size: 16px;
line-height: 1.65;
color: #212611;
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
}

.doc-body ul {
list-style: none;
padding-left: 0;
}

.doc-body ul li {
padding-left: 24px;
position: relative;
margin-bottom: 6px;
}

.doc-body ul li::before {
content: "";
position: absolute;
left: 6px;
top: 10px;
width: 6px;
height: 6px;
background-color: #4706A6;
border-radius: 3px;
}

.doc-body ol {
list-style: decimal;
}

.doc-body ol li {
margin-bottom: 6px;
padding-left: 6px;
}

.doc-body ul ul,
.doc-body ol ol,
.doc-body ul ol,
.doc-body ol ul {
margin-top: 6px;
margin-bottom: 6px;
}

.doc-body ul ul li::before {
background-color: transparent;
border: 1.5px solid #4706A6;
border-radius: 3px;
}

.doc-body strong,
.doc-body b {
font-weight: 700;
color: #212611;
}

.doc-body em,
.doc-body i {
font-style: italic;
color: rgba(33, 38, 17, 0.82);
}

.doc-body table {
width: 100%;
border-collapse: collapse;
margin-bottom: 24px;
font-size: 14px;
line-height: 1.65;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08), 0 4px 18px -1px rgba(71, 6, 166, 0.11);
}

.doc-body thead {
background-color: #4706A6;
}

.doc-body thead th {
color: #fff;
font-weight: 700;
font-size: 13px;
letter-spacing: 0.04em;
text-transform: uppercase;
padding: 12px 24px;
text-align: left;
border: none;
}

.doc-body tbody tr {
border-bottom: 1px solid rgba(71, 6, 166, 0.08);
transition: background-color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.doc-body tbody tr:last-child {
border-bottom: none;
}

.doc-body tbody tr:nth-child(even) {
background-color: rgba(254, 248, 216, 0.42);
}

.doc-body tbody tr:hover {
background-color: rgba(71, 6, 166, 0.05);
}

.doc-body td {
padding: 12px 24px;
color: #212611;
font-size: 14px;
line-height: 1.65;
vertical-align: top;
border: none;
}

.doc-body th {
padding: 12px 24px;
text-align: left;
vertical-align: top;
}

.doc-body div {
font-size: 16px;
line-height: 1.65;
color: #212611;
}

.doc-body a {
color: #4706A6;
text-decoration: underline;
text-decoration-color: rgba(71, 6, 166, 0.35);
text-underline-offset: 3px;
transition: color 0.14s cubic-bezier(0.4, 0, 1, 1), text-decoration-color 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.doc-body a:hover {
color: #2e0470;
text-decoration-color: #4706A6;
}

.doc-body blockquote {
margin: 24px 0;
padding: 12px 24px;
border-left: 4px solid #4706A6;
border-right: 1px solid rgba(71, 6, 166, 0.11);
background-color: rgba(254, 248, 216, 0.55);
border-radius: 0 8px 8px 0;
box-shadow: inset 3px 0 0 0 rgba(71, 6, 166, 0.18);
}

.doc-body blockquote p {
margin-bottom: 0;
font-size: 16px;
line-height: 1.65;
color: rgba(33, 38, 17, 0.82);
}

.doc-body hr {
border: none;
border-top: 1px solid rgba(71, 6, 166, 0.14);
margin: 52px 0;
}

.doc-body code {
font-size: 13px;
background-color: rgba(254, 248, 216, 0.7);
color: #4706A6;
padding: 2px 6px;
border-radius: 3px;
border: 1px solid rgba(71, 6, 166, 0.14);
}

.doc-body pre {
background-color: rgba(254, 248, 216, 0.5);
border: 1px solid rgba(71, 6, 166, 0.14);
border-radius: 8px;
padding: 24px;
overflow-x: auto;
margin-bottom: 24px;
}

.doc-body pre code {
background: none;
border: none;
padding: 0;
font-size: 13px;
line-height: 1.65;
}

@media (max-width: 900px) {
.doc-body {
padding: 52px 24px;
}

.doc-body h1 {
font-size: 27px;
}

.doc-body h2 {
font-size: 20px;
margin-top: 24px;
}

.doc-body table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}

@media (max-width: 600px) {
.doc-body {
padding: 24px 12px;
}

.doc-body h1 {
font-size: 27px;
letter-spacing: -0.01em;
}

.doc-body h2 {
font-size: 20px;
}

.doc-body h3 {
font-size: 16px;
}

.doc-body p,
.doc-body ul,
.doc-body ol {
font-size: 14px;
}

.doc-body td,
.doc-body th {
padding: 12px;
}

.doc-body thead th {
padding: 12px;
}
}

.arc_det {
background: #fff;
max-width: 1100px;
margin: 0 auto;
padding: 0;
}

.arc_det .breadcrumb_bar {
padding: 12px 24px;
background: #fff;
border-bottom: 1px solid rgba(71, 6, 166, 0.08);
}

.arc_det .breadcrumb_bar ol {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 6px;
list-style: none;
margin: 0;
padding: 0;
align-items: center;
}

.arc_det .breadcrumb_bar li {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 13px;
color: #212611;
line-height: 1.4;
}

.arc_det .breadcrumb_bar li a {
color: #4706A6;
text-decoration: none;
transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.arc_det .breadcrumb_bar li a:hover {
color: #212611;
}

.arc_det .breadcrumb_bar li .sep {
display: inline-block;
width: 4px;
height: 4px;
border-right: 1px solid rgba(71, 6, 166, 0.35);
border-top: 1px solid rgba(71, 6, 166, 0.35);
transform: rotate(45deg);
}

.arc_det .post_lead {
position: relative;
padding: 52px 24px 52px 24px;
background: linear-gradient(180deg, #4706A6 0%, #212611 100%);
overflow: hidden;
}

.arc_det .post_lead .deco_shape {
position: absolute;
top: -40px;
right: -40px;
width: 260px;
height: 260px;
border: 48px solid rgba(254, 248, 216, 0.07);
border-radius: 50%;
pointer-events: none;
}

.arc_det .post_lead .deco_shape2 {
position: absolute;
bottom: -60px;
left: 30px;
width: 160px;
height: 160px;
border: 28px solid rgba(254, 248, 216, 0.05);
border-radius: 50%;
pointer-events: none;
}

.arc_det .post_lead .deco_quote {
position: absolute;
bottom: 12px;
right: 24px;
font-size: 160px;
line-height: 1.15;
color: rgba(254, 248, 216, 0.06);
pointer-events: none;
font-style: normal;
user-select: none;
}

.arc_det .post_lead_inner {
position: relative;
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 340px;
gap: 52px;
align-items: center;
}

.arc_det .post_meta_row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
margin-bottom: 24px;
flex-wrap: wrap;
}

.arc_det .tag_pill {
display: inline-block;
padding: 4px 12px;
background: rgba(254, 248, 216, 0.13);
border: 1px solid rgba(254, 248, 216, 0.22);
border-radius: 40px;
font-size: 13px;
color: #FEF8D8;
line-height: 1.4;
letter-spacing: 0.03em;
}

.arc_det .tag_pill.cat {
background: rgba(71, 6, 166, 0.45);
border-color: rgba(254, 248, 216, 0.18);
}

.arc_det .read_time {
font-size: 13px;
color: rgba(254, 248, 216, 0.65);
line-height: 1.4;
letter-spacing: 0.02em;
}

.arc_det .post_h1 {
font-size: 52px;
line-height: 1.15;
color: #FEF8D8;
letter-spacing: -0.02em;
margin: 0 0 24px 0;
}

.arc_det .post_h1 .punct {
color: rgba(254, 248, 216, 0.35);
}

.arc_det .post_lead_img {
width: 340px;
height: 280px;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
flex-shrink: 0;
}

.arc_det .post_lead_img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: grayscale(1);
transition: filter 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.arc_det .post_lead_img:hover img {
filter: grayscale(0);
}

.arc_det .like_row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
margin-top: 24px;
}

.arc_det .like_btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 24px;
background: rgba(254, 248, 216, 0.12);
border: 1px solid rgba(254, 248, 216, 0.25);
border-radius: 8px;
color: #FEF8D8;
font-size: 14px;
line-height: 1.4;
cursor: pointer;
transition: background 0.14s cubic-bezier(0.4, 0, 1, 1), border-color 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.arc_det .like_btn:hover {
background: rgba(254, 248, 216, 0.22);
border-color: rgba(254, 248, 216, 0.45);
filter: brightness(1.1);
}

.arc_det .like_btn:focus {
outline: 2px solid #FEF8D8;
outline-offset: 2px;
}

.arc_det .like_icon {
display: inline-block;
width: 16px;
height: 14px;
position: relative;
}

.arc_det .like_icon svg {
width: 16px;
height: 14px;
fill: #FEF8D8;
}

.arc_det .like_count {
font-size: 13px;
color: rgba(254, 248, 216, 0.7);
line-height: 1.4;
}

.arc_det .body_wrap {
display: grid;
grid-template-columns: 220px 1fr;
gap: 52px;
padding: 52px 24px;
max-width: 1100px;
margin: 0 auto;
align-items: start;
}

.arc_det .sidebar {
position: sticky;
top: 24px;
}

.arc_det .sidebar_label {
font-size: 13px;
letter-spacing: 0.08em;
color: rgba(33, 38, 17, 0.5);
line-height: 1.4;
margin-bottom: 12px;
text-transform: uppercase;
}

.arc_det .sidebar_tags {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 24px;
}

.arc_det .s_tag {
display: inline-block;
padding: 6px 12px;
background: #FEF8D8;
border-radius: 3px;
font-size: 13px;
color: #212611;
line-height: 1.4;
border: 1px solid rgba(71, 6, 166, 0.1);
}

.arc_det .sidebar_divider {
height: 1px;
background: linear-gradient(90deg, rgba(71, 6, 166, 0.18) 0%, transparent 100%);
margin: 24px 0;
}

.arc_det .pull_quote {
padding: 24px;
background: #FEF8D8;
border-radius: 14px;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
}

.arc_det .pull_quote p {
font-size: 16px;
line-height: 1.65;
color: #212611;
margin: 0;
font-style: italic;
}

.arc_det .pull_quote cite {
display: block;
margin-top: 12px;
font-size: 13px;
color: #4706A6;
font-style: normal;
line-height: 1.4;
}

.arc_det .sidebar_print_btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
background: #fff;
border: 1px solid rgba(71, 6, 166, 0.22);
border-radius: 8px;
color: #4706A6;
font-size: 13px;
line-height: 1.4;
cursor: pointer;
margin-top: 24px;
transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.12s cubic-bezier(0.4, 0, 1, 1);
width: 100%;
justify-content: center;
}

.arc_det .sidebar_print_btn:hover {
background: #FEF8D8;
border-color: #4706A6;
filter: brightness(1.04);
}

.arc_det .sidebar_print_btn:focus {
outline: 2px solid #4706A6;
outline-offset: 2px;
}

.arc_det .sidebar_print_btn svg {
width: 15px;
height: 15px;
fill: none;
stroke: #4706A6;
stroke-width: 1.6;
}

.arc_det .article_body {
min-width: 0;
}

.arc_det .article_body p {
font-size: 16px;
line-height: 1.65;
color: #212611;
margin: 0 0 24px 0;
}

.arc_det .article_body h2 {
font-size: 27px;
line-height: 1.4;
color: #212611;
letter-spacing: -0.01em;
margin: 52px 0 12px 0;
position: relative;
display: inline-block;
}

.arc_det .article_body h2::after {
content: "";
display: block;
height: 2px;
width: 0;
background: #4706A6;
border-radius: 3px;
margin-top: 6px;
animation: underline_draw 0.18s cubic-bezier(0.4, 0, 1, 1) 0.1s forwards;
}

@keyframes underline_draw {
to {
width: 100%;
}
}

.arc_det .article_body h4 {
font-size: 20px;
line-height: 1.4;
color: #4706A6;
letter-spacing: -0.005em;
margin: 24px 0 12px 0;
}

.arc_det .article_body cite {
display: block;
font-size: 14px;
line-height: 1.65;
color: rgba(33, 38, 17, 0.6);
font-style: italic;
border-radius: 8px;
background: rgba(71, 6, 166, 0.04);
padding: 12px 24px;
margin: 24px 0;
}

.arc_det .article_body ol {
margin: 0 0 24px 0;
padding-left: 24px;
}

.arc_det .article_body ol li {
font-size: 16px;
line-height: 1.65;
color: #212611;
margin-bottom: 6px;
}

.arc_det .article_body time {
font-size: 13px;
color: rgba(33, 38, 17, 0.5);
display: block;
margin-bottom: 24px;
letter-spacing: 0.02em;
}

.arc_det .tools_strip {
padding: 52px 24px;
background: #FEF8D8;
clip-path: polygon(0 6%, 100% 0%, 100% 94%, 0% 100%);
}

.arc_det .tools_strip_inner {
max-width: 1100px;
margin: 0 auto;
}

.arc_det .tools_strip_head {
text-align: center;
margin-bottom: 24px;
}

.arc_det .tools_strip_head h3 {
font-size: 27px;
line-height: 1.4;
color: #212611;
letter-spacing: -0.01em;
margin: 0 0 6px 0;
}

.arc_det .tools_strip_head p {
font-size: 14px;
line-height: 1.65;
color: rgba(33, 38, 17, 0.65);
margin: 0;
}

.arc_det .tools_grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 12px;
}

.arc_det .tool_card {
background: #fff;
border-radius: 14px;
padding: 24px 12px;
text-align: center;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
transition: box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1), transform 0.14s cubic-bezier(0.4, 0, 1, 1);
animation: diag_in 0.16s cubic-bezier(0.4, 0, 1, 1) both;
}

.arc_det .tool_card:hover {
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
transform: translateY(-3px);
}

@keyframes diag_in {
from {
opacity: 0;
transform: translate(-12px, 12px);
}

to {
opacity: 1;
transform: translate(0, 0);
}
}

.arc_det .tool_card .tool_ico {
width: 40px;
height: 40px;
border-radius: 24px;
background: linear-gradient(180deg, rgba(71, 6, 166, 0.12) 0%, rgba(33, 38, 17, 0.06) 100%);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 12px auto;
}

.arc_det .tool_card .tool_ico svg {
width: 20px;
height: 20px;
stroke: #4706A6;
fill: none;
stroke-width: 1.6;
}

.arc_det .tool_card .tool_nm {
font-size: 13px;
line-height: 1.4;
color: #212611;
font-weight: 600;
margin-bottom: 6px;
}

.arc_det .tool_card .tool_desc {
font-size: 13px;
line-height: 1.65;
color: rgba(33, 38, 17, 0.6);
}

@media (max-width: 900px) {
.arc_det .post_lead_inner {
grid-template-columns: 1fr;
gap: 24px;
}

.arc_det .post_lead_img {
width: 100%;
height: 220px;
}

.arc_det .post_h1 {
font-size: 27px;
}

.arc_det .body_wrap {
grid-template-columns: 1fr;
gap: 24px;
}

.arc_det .sidebar {
position: static;
}

.arc_det .tools_grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 600px) {
.arc_det .post_lead {
padding: 24px 12px;
}

.arc_det .post_h1 {
font-size: 20px;
}

.arc_det .body_wrap {
padding: 24px 12px;
}

.arc_det .tools_strip {
padding: 24px 12px;
clip-path: none;
}

.arc_det .tools_grid {
grid-template-columns: 1fr 1fr;
gap: 6px;
}

.arc_det .breadcrumb_bar {
padding: 12px 12px;
}
}

@media print {
.arc_det .breadcrumb_bar {
display: block;
}

.arc_det .post_lead {
background: #fff !important;
padding: 24px 0;
}

.arc_det .post_lead .deco_shape,
.arc_det .post_lead .deco_shape2,
.arc_det .post_lead .deco_quote {
display: none;
}

.arc_det .post_h1 {
color: #000 !important;
font-size: 27px;
}

.arc_det .tag_pill,
.arc_det .read_time {
color: #000 !important;
background: none !important;
border-color: #ccc !important;
}

.arc_det .post_lead_img {
width: 200px;
height: 160px;
float: right;
margin-left: 24px;
}

.arc_det .post_lead_img img {
filter: grayscale(1);
}

.arc_det .like_row,
.arc_det .sidebar_print_btn,
.arc_det .tools_strip {
display: none !important;
}

.arc_det .body_wrap {
grid-template-columns: 1fr;
padding: 24px 0;
}

.arc_det .sidebar {
display: none;
}

.arc_det .article_body p,
.arc_det .article_body li {
color: #000;
font-size: 13px;
}

.arc_det .article_body h2 {
font-size: 20px;
color: #000;
page-break-after: avoid;
}

.arc_det .article_body h4 {
font-size: 16px;
color: #000;
page-break-after: avoid;
}

.arc_det .article_body h2::after {
display: none;
}

.arc_det .pull_quote {
border: 1px solid #ccc;
background: #f5f5f5 !important;
box-shadow: none;
}

.arc_det .article_body cite {
border: 1px solid #ddd;
background: #f5f5f5 !important;
}

* {
box-shadow: none !important;
animation: none !important;
}
}

.archv {
background: #fff;
overflow-x: clip;
}

.archv .slide-in {
animation: slideFromLeft 0.55s cubic-bezier(0.4, 0, 1, 1) both;
}

.archv .slide-in:nth-child(2) {
animation-delay: 0.08s;
}

.archv .slide-in:nth-child(3) {
animation-delay: 0.16s;
}

.archv .slide-in:nth-child(4) {
animation-delay: 0.24s;
}

@keyframes slideFromLeft {
from {
opacity: 0;
transform: translateX(-48px);
}

to {
opacity: 1;
transform: translateX(0);
}
}

.archv .pg_top {
max-width: 1100px;
margin: 0 auto;
padding: 52px 24px 24px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 52px;
}

.archv .pg_top_img {
flex: 0 0 340px;
position: relative;
border-radius: 14px;
overflow: hidden;
height: 320px;
}

.archv .pg_top_img img {
width: 340px;
height: 320px;
object-fit: cover;
object-position: center;
display: block;
}

.archv .pg_top_img::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(90deg, rgba(71, 6, 166, 0.38) 0%, rgba(71, 6, 166, 0.06) 100%);
border-radius: 14px;
pointer-events: none;
}

.archv .pg_top_text {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 12px;
}

.archv .pg_top_grid {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
}

.archv .pg_top_kicker {
font-size: 13px;
letter-spacing: 0.08em;
color: #4706A6;
text-transform: uppercase;
font-weight: 600;
line-height: 1.15;
}

.archv .pg_top_h1 {
font-size: 52px;
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.02em;
color: #212611;
margin: 0;
}

.archv .pg_top_h1 .grad_word {
background: linear-gradient(180deg, #4706A6 50%, #212611 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.archv .pg_top_desc {
font-size: 16px;
line-height: 1.65;
color: #3a3a3a;
max-width: 520px;
margin: 0;
}

.archv .pg_top_bg {
position: relative;
overflow: hidden;
background: #fff;
}

.archv .grid_lines {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
background-image:
linear-gradient(rgba(71, 6, 166, 0.045) 1px, transparent 1px),
linear-gradient(90deg, rgba(71, 6, 166, 0.045) 1px, transparent 1px);
background-size: 52px 52px;
}

.archv .pg_top_inner {
position: relative;
z-index: 1;
}

.archv .posts_section {
max-width: 1100px;
margin: 0 auto;
padding: 52px 24px;
}

.archv .posts_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.archv .post_card {
border-radius: 14px;
background: #fff;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
display: flex;
flex-direction: column;
overflow: hidden;
transition: box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.archv .post_card:hover {
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
transform: translateY(-3px);
}

.archv .post_card_img {
width: 100%;
height: 180px;
overflow: hidden;
position: relative;
flex-shrink: 0;
}

.archv .post_card_img img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.archv .post_card:hover .post_card_img img {
transform: scale(1.04);
}

.archv .post_card_img_overlay {
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 40%, rgba(33, 38, 17, 0.32) 100%);
pointer-events: none;
}

.archv .post_card_body {
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
flex: 1 1 auto;
}

.archv .post_card_meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}

.archv .post_tag {
font-size: 13px;
line-height: 1.15;
color: #4706A6;
background: rgba(71, 6, 166, 0.08);
border-radius: 40px;
padding: 4px 12px;
font-weight: 600;
letter-spacing: 0.04em;
}

.archv .post_cat {
font-size: 13px;
line-height: 1.15;
color: #fff;
background: #212611;
border-radius: 40px;
padding: 4px 12px;
font-weight: 500;
}

.archv .post_readtime {
font-size: 13px;
color: #7a7a7a;
line-height: 1.15;
margin-left: auto;
}

.archv .post_card_title {
font-size: 16px;
font-weight: 700;
color: #212611;
line-height: 1.4;
margin: 0;
position: relative;
display: inline-block;
}

.archv .post_card_title::after {
content: "";
display: block;
height: 2px;
width: 0;
background: #4706A6;
border-radius: 3px;
margin-top: 4px;
transition: width 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.archv .post_card:hover .post_card_title::after {
width: 100%;
}

.archv .post_card_desc {
font-size: 14px;
color: #444;
line-height: 1.65;
margin: 0;
flex: 1 1 auto;
}

.archv .post_card_foot {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
margin-top: auto;
gap: 12px;
}

.archv .post_likes {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 13px;
color: #4706A6;
font-weight: 600;
}

.archv .like_icon {
width: 16px;
height: 16px;
display: inline-block;
flex-shrink: 0;
}

.archv .post_link {
font-size: 13px;
font-weight: 700;
color: #4706A6;
text-decoration: none;
border-radius: 8px;
padding: 6px 12px;
border: 1.5px solid #4706A6;
transition: background 0.13s cubic-bezier(0.4, 0, 1, 1), color 0.13s cubic-bezier(0.4, 0, 1, 1);
line-height: 1.15;
}

.archv .post_link:hover {
background: #4706A6;
color: #fff;
}

.archv .tools_band {
background: #212611;
padding: 52px 24px;
position: relative;
overflow: hidden;
}

.archv .tools_band_pattern {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
opacity: 0.07;
background-image:
linear-gradient(60deg, transparent 45%, #FEF8D8 45%, #FEF8D8 55%, transparent 55%),
linear-gradient(120deg, transparent 45%, #4706A6 45%, #4706A6 55%, transparent 55%);
background-size: 28px 28px;
}

.archv .tools_band_inner {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.archv .tools_band_head {
text-align: center;
margin-bottom: 52px;
}

.archv .tools_band_h2 {
font-size: 27px;
font-weight: 800;
color: #FEF8D8;
line-height: 1.15;
letter-spacing: -0.01em;
margin: 0 0 12px;
}

.archv .tools_band_sub {
font-size: 14px;
color: rgba(254, 248, 216, 0.7);
line-height: 1.65;
margin: 0;
max-width: 540px;
margin-left: auto;
margin-right: auto;
}

.archv .tools_cols {
display: flex;
flex-direction: row;
gap: 24px;
align-items: stretch;
}

.archv .tools_col {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.archv .tools_divider {
width: 2px;
background: linear-gradient(180deg, #4706A6 0%, #FEF8D8 100%);
border-radius: 3px;
flex-shrink: 0;
align-self: stretch;
}

.archv .tool_item {
background: rgba(254, 248, 216, 0.06);
border-radius: 8px;
padding: 12px 24px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
transition: background 0.13s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
}

.archv .tool_item:hover {
background: rgba(71, 6, 166, 0.18);
}

.archv .tool_dot {
width: 8px;
height: 8px;
border-radius: 40px;
background: #4706A6;
flex-shrink: 0;
}

.archv .tool_name {
font-size: 14px;
font-weight: 700;
color: #FEF8D8;
line-height: 1.15;
}

.archv .tool_desc {
font-size: 13px;
color: rgba(254, 248, 216, 0.6);
line-height: 1.4;
margin-left: auto;
}

.archv .metrics_section {
background: #FEF8D8;
padding: 52px 24px;
}

.archv .metrics_inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 52px;
align-items: center;
}

.archv .metrics_text {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 24px;
}

.archv .metrics_h2 {
font-size: 27px;
font-weight: 800;
color: #212611;
line-height: 1.15;
letter-spacing: -0.01em;
margin: 0;
}

.archv .metrics_p {
font-size: 14px;
color: #3a3a3a;
line-height: 1.65;
margin: 0;
max-width: 400px;
}

.archv .metrics_list {
display: flex;
flex-direction: column;
gap: 12px;
list-style: none;
padding: 0;
margin: 0;
}

.archv .metrics_list li {
font-size: 14px;
color: #212611;
line-height: 1.4;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
}

.archv .metrics_list li::before {
content: "";
display: block;
width: 6px;
height: 6px;
border-radius: 40px;
background: #4706A6;
margin-top: 6px;
flex-shrink: 0;
}

.archv .metrics_stats {
flex: 0 0 340px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.archv .stat_card {
background: #fff;
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
transition: box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.archv .stat_card:hover {
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
}

.archv .stat_num {
font-size: 27px;
font-weight: 800;
color: #4706A6;
line-height: 1.15;
letter-spacing: -0.02em;
}

.archv .stat_label {
font-size: 13px;
color: #555;
line-height: 1.4;
}

.archv .cta_band {
background: linear-gradient(180deg, #4706A6 50%, #212611 100%);
padding: 52px 24px;
}

.archv .cta_inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 52px;
justify-content: space-between;
}

.archv .cta_text {
display: flex;
flex-direction: column;
gap: 12px;
flex: 1 1 0;
}

.archv .cta_h2 {
font-size: 27px;
font-weight: 800;
color: #FEF8D8;
line-height: 1.15;
letter-spacing: -0.01em;
margin: 0;
}

.archv .cta_p {
font-size: 14px;
color: rgba(254, 248, 216, 0.8);
line-height: 1.65;
margin: 0;
max-width: 460px;
}

.archv .cta_actions {
display: flex;
flex-direction: row;
gap: 12px;
flex-shrink: 0;
align-items: center;
}

.archv .btn_primary {
font-size: 16px;
font-weight: 700;
color: #212611;
background: #FEF8D8;
border: none;
border-radius: 8px;
padding: 12px 24px;
cursor: pointer;
text-decoration: none;
display: inline-block;
line-height: 1.15;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
transition: filter 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.archv .btn_primary:hover {
filter: brightness(1.07);
}

.archv .btn_secondary {
font-size: 14px;
font-weight: 600;
color: #FEF8D8;
background: transparent;
border: 1.5px solid rgba(254, 248, 216, 0.5);
border-radius: 8px;
padding: 12px 24px;
cursor: pointer;
text-decoration: none;
display: inline-block;
line-height: 1.15;
transition: border-color 0.13s cubic-bezier(0.4, 0, 1, 1), background 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.archv .btn_secondary:hover {
border-color: #FEF8D8;
background: rgba(254, 248, 216, 0.1);
}

.archv .posts_section_head {
margin-bottom: 24px;
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
}

.archv .posts_section_h2 {
font-size: 27px;
font-weight: 800;
color: #212611;
line-height: 1.15;
letter-spacing: -0.01em;
margin: 0;
position: relative;
display: inline-block;
}

.archv .posts_section_h2::after {
content: "";
display: block;
height: 3px;
width: 40px;
background: #4706A6;
border-radius: 3px;
margin-top: 8px;
animation: underlineIn 0.18s cubic-bezier(0.4, 0, 1, 1) 0.3s both;
}

@keyframes underlineIn {
from {
width: 0;
}

to {
width: 40px;
}
}

.archv .posts_count {
font-size: 13px;
color: #888;
line-height: 1.15;
}

@media (max-width: 1200px) {
.archv .posts_grid {
grid-template-columns: repeat(2, 1fr);
}

.archv .metrics_stats {
flex: 0 0 280px;
}
}

@media (max-width: 900px) {
.archv .pg_top {
flex-direction: column;
gap: 24px;
padding: 52px 24px 24px;
}

.archv .pg_top_img {
flex: 0 0 auto;
width: 100%;
height: 220px;
}

.archv .pg_top_img img {
width: 100%;
height: 220px;
}

.archv .pg_top_h1 {
font-size: 27px;
}

.archv .metrics_inner {
flex-direction: column;
gap: 24px;
}

.archv .metrics_stats {
flex: 0 0 auto;
width: 100%;
}

.archv .tools_cols {
flex-direction: column;
gap: 12px;
}

.archv .tools_divider {
width: 100%;
height: 2px;
align-self: auto;
}

.archv .cta_inner {
flex-direction: column;
gap: 24px;
align-items: flex-start;
}
}

@media (max-width: 600px) {
.archv .posts_grid {
grid-template-columns: 1fr;
}

.archv .pg_top_h1 {
font-size: 20px;
}

.archv .cta_actions {
flex-direction: column;
align-items: stretch;
width: 100%;
}

.archv .btn_primary,
.archv .btn_secondary {
text-align: center;
}

.archv .metrics_stats {
grid-template-columns: 1fr 1fr;
}

.archv .posts_section {
padding: 52px 12px;
}

.archv .tools_band {
padding: 52px 12px;
}

.archv .metrics_section {
padding: 52px 12px;
}

.archv .cta_band {
padding: 52px 12px;
}
}

.lnch {
width: 100%;
overflow-x: hidden;
}

.lnch .pg_band {
max-width: 1100px;
margin: 0 auto;
padding: 0 24px;
}

.lnch .split_reveal {
display: inline-block;
overflow: hidden;
}

.lnch .split_reveal span {
display: inline-block;
animation: revealSplit 0.7s cubic-bezier(0.4, 0, 1, 1) both;
}

.lnch .split_reveal span:last-child {
animation-delay: 0.12s;
}

@keyframes revealSplit {
from {
transform: translateY(110%);
opacity: 0;
}

to {
transform: translateY(0);
opacity: 1;
}
}

.lnch .arc_line {
position: absolute;
pointer-events: none;
overflow: hidden;
}

.lnch .arc_line svg {
display: block;
}

.lnch .dot_mark {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 40px;
background: #4706A6;
flex-shrink: 0;
margin-top: 6px;
}

.lnch .underline_draw {
position: relative;
display: inline-block;
}

.lnch .underline_draw::after {
content: '';
position: absolute;
left: 0;
bottom: -3px;
width: 0;
height: 2px;
background: #4706A6;
animation: drawLine 0.6s cubic-bezier(0.4, 0, 1, 1) 0.5s forwards;
}

@keyframes drawLine {
to {
width: 100%;
}
}

.lnch .sym_bg {
position: absolute;
font-size: 320px;
font-weight: 700;
color: transparent;
-webkit-text-stroke: 1.5px rgba(71, 6, 166, 0.07);
pointer-events: none;
user-select: none;
line-height: 1.15;
z-index: 0;
}

.lnch .img_wrap {
overflow: hidden;
border-radius: 14px;
}

.lnch .img_wrap img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.7);
transition: filter 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.lnch .img_wrap:hover img {
filter: saturate(1);
}

.lnch .portrait_wrap {
overflow: hidden;
border-radius: 14px;
flex-shrink: 0;
}

.lnch .portrait_wrap img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.75);
transition: filter 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.lnch .portrait_wrap:hover img {
filter: saturate(1);
}

.lnch .btn_pri {
display: inline-block;
padding: 12px 52px;
background: #4706A6;
color: #FEF8D8;
font-size: 16px;
font-weight: 600;
border-radius: 8px;
border: none;
cursor: pointer;
text-decoration: none;
letter-spacing: 0.03em;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
transition: brightness 0.13s cubic-bezier(0.4, 0, 1, 1);
line-height: 1.4;
}

.lnch .btn_pri:hover {
filter: brightness(1.18);
}

.lnch .btn_sec {
display: inline-block;
padding: 6px 24px;
background: transparent;
color: #4706A6;
font-size: 14px;
font-weight: 500;
border-radius: 8px;
border: 1.5px solid #4706A6;
cursor: pointer;
text-decoration: none;
letter-spacing: 0.02em;
transition: background 0.13s cubic-bezier(0.4, 0, 1, 1), color 0.13s cubic-bezier(0.4, 0, 1, 1);
line-height: 1.4;
}

.lnch .btn_sec:hover {
background: #4706A6;
color: #FEF8D8;
}

.lnch .kw_tag {
display: inline-block;
padding: 6px 12px;
background: #FEF8D8;
color: #212611;
font-size: 13px;
border-radius: 40px;
font-weight: 500;
letter-spacing: 0.02em;
border: 1px solid rgba(71, 6, 166, 0.12);
}

.lnch .kw_tag.active_tag {
background: #4706A6 !important;
color: #FEF8D8;
}

.lnch .matrix_table {
width: 100%;
border-collapse: collapse;
}

.lnch .matrix_table th,
.lnch .matrix_table td {
padding: 12px 24px;
text-align: left;
font-size: 14px;
border-bottom: 1px solid rgba(71, 6, 166, 0.09);
line-height: 1.4;
}

.lnch .matrix_table th {
font-size: 13px;
font-weight: 600;
color: #4706A6;
letter-spacing: 0.04em;
background: rgba(71, 6, 166, 0.04);
}

.lnch .matrix_table td:first-child {
font-weight: 600;
color: #212611;
}

.lnch .matrix_table tr:last-child td {
border-bottom: none;
}

.lnch .chk_yes {
display: inline-block;
width: 18px;
height: 18px;
border-radius: 40px;
background: #4706A6;
position: relative;
vertical-align: middle;
}

.lnch .chk_yes::after {
content: '';
position: absolute;
left: 5px;
top: 3px;
width: 5px;
height: 9px;
border: 2px solid #FEF8D8;
border-top: none;
border-left: none;
transform: rotate(45deg);
}

.lnch .chk_partial {
display: inline-block;
width: 18px;
height: 18px;
border-radius: 40px;
background: rgba(71, 6, 166, 0.15);
position: relative;
vertical-align: middle;
}

.lnch .chk_partial::after {
content: '';
position: absolute;
left: 4px;
top: 8px;
width: 10px;
height: 2px;
background: #4706A6;
}

.lnch .chk_no {
display: inline-block;
width: 18px;
height: 18px;
border-radius: 40px;
background: rgba(33, 38, 17, 0.08);
vertical-align: middle;
}

.lnch .three_col {
display: grid;
grid-template-columns: 2fr 1.5fr 1fr;
gap: 24px;
align-items: start;
}

.lnch .approach_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.lnch .approach_card {
padding: 24px;
border-radius: 14px;
border: 1.5px solid rgba(71, 6, 166, 0.1);
background: #fff;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.lnch .approach_card:hover {
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
transform: translateY(-2px);
}

.lnch .approach_card h5 {
font-size: 16px;
font-weight: 600;
color: #212611;
margin: 0 0 12px;
line-height: 1.4;
}

.lnch .approach_card p {
font-size: 14px;
color: #3a3f2e;
line-height: 1.65;
margin: 0;
}

.lnch .support_strip {
display: flex;
flex-direction: row;
gap: 24px;
align-items: stretch;
}

.lnch .support_item {
flex: 1;
padding: 24px;
border-radius: 14px;
background: rgba(254, 248, 216, 0.6);
border: 1px solid rgba(71, 6, 166, 0.1);
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
}

.lnch .support_item h5 {
font-size: 16px;
font-weight: 600;
color: #4706A6;
margin: 0 0 12px;
line-height: 1.4;
}

.lnch .support_item p {
font-size: 14px;
color: #212611;
line-height: 1.65;
margin: 0;
}

@media (max-width: 900px) {
.lnch .three_col {
grid-template-columns: 1fr;
}

.lnch .approach_grid {
grid-template-columns: 1fr;
}

.lnch .support_strip {
flex-direction: column;
}

.lnch .title_inner {
flex-direction: column !important;
}

.lnch .title_text_col {
max-width: 100% !important;
}

.lnch .title_img_col {
width: 100% !important;
max-width: 420px !important;
margin: 0 auto;
}

.lnch .gap_layout {
flex-direction: column !important;
}
}

@media (max-width: 600px) {
.lnch .sym_bg {
font-size: 160px;
}

.lnch .matrix_table th,
.lnch .matrix_table td {
padding: 12px;
font-size: 13px;
}

.lnch .kw_strip {
gap: 6px !important;
}

.lnch .support_strip {
gap: 12px;
}
}

.abt {
max-width: 100%;
overflow-x: hidden;
}

.abt .pg_wrap {
max-width: 1100px;
margin: 0 auto;
padding: 0 24px;
}

.abt .reveal {
opacity: 0;
transform: translateY(32px);
animation: slideUp 0.18s cubic-bezier(0.4, 0, 1, 1) forwards;
}

.abt .reveal:nth-child(1) {
animation-delay: 0.06s;
}

.abt .reveal:nth-child(2) {
animation-delay: 0.12s;
}

.abt .reveal:nth-child(3) {
animation-delay: 0.17s;
}

.abt .reveal:nth-child(4) {
animation-delay: 0.22s;
}

@keyframes slideUp {
to {
opacity: 1;
transform: translateY(0);
}
}

.abt .accent_word {
color: #4706A6;
}

.abt .divider_asym {
display: flex;
align-items: center;
gap: 12px;
margin: 0 0 52px;
}

.abt .divider_asym span:first-child {
display: block;
width: 32px;
height: 2px;
background: #4706A6;
}

.abt .divider_asym span:last-child {
display: block;
flex: 1;
height: 1px;
background: linear-gradient(90deg, #4706A6 0%, #FEF8D8 100%);
max-width: 340px;
}

.abt .strip_band {
background: #fff;
padding: 52px 0 24px;
position: relative;
}

.abt .strip_inner {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 52px;
max-width: 1100px;
margin: 0 auto;
padding: 0 24px;
}

.abt .strip_text {
flex: 0 0 58%;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
}

.abt .strip_text h1 {
font-size: 52px;
line-height: 1.15;
letter-spacing: -0.03em;
color: #212611;
margin: 0;
}

.abt .strip_text p {
font-size: 16px;
line-height: 1.65;
color: #3a3a3a;
margin: 0;
max-width: 520px;
}

.abt .img_strip {
flex: 0 0 38%;
display: flex;
flex-direction: column;
align-items: flex-end;
justify-content: flex-end;
}

.abt .img_strip figure {
margin: 0;
width: 100%;
max-width: 360px;
height: 280px;
overflow: hidden;
border-radius: 14px;
filter: saturate(0.62) contrast(1.08);
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
}

.abt .img_strip figure img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.abt .wave_div {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: 24px;
}

.abt .wave_div svg {
display: block;
width: 100%;
height: 48px;
}

.abt .about_mid {
background: #FEF8D8;
width: 100vw;
position: relative;
left: 50%;
right: 50%;
margin-left: -50vw;
margin-right: -50vw;
padding: 52px 0;
}

.abt .mid_inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 24px;
display: flex;
flex-direction: row;
gap: 52px;
align-items: flex-start;
}

.abt .mid_left {
flex: 0 0 40%;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .mid_left h2 {
font-size: 27px;
line-height: 1.4;
color: #212611;
margin: 0;
letter-spacing: -0.01em;
position: relative;
display: inline-block;
}

.abt .mid_left h2::after {
content: '';
display: block;
height: 2px;
width: 0;
background: #4706A6;
border-radius: 3px;
margin-top: 6px;
animation: lineIn 0.16s cubic-bezier(0.4, 0, 1, 1) 0.3s forwards;
}

@keyframes lineIn {
to {
width: 100%;
}
}

.abt .mid_left p {
font-size: 14px;
line-height: 1.85;
color: #333;
margin: 0;
}

.abt .quote_mark {
font-size: 96px;
line-height: 1.15;
color: #4706A6;
opacity: 0.14;
font-style: italic;
display: block;
margin-bottom: -52px;
letter-spacing: -0.04em;
user-select: none;
pointer-events: none;
}

.abt .mid_right {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .metric_row {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap;
}

.abt .metric_card {
background: #fff;
border-radius: 14px;
padding: 24px;
flex: 1 1 140px;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
transition: box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1), transform 0.14s cubic-bezier(0.4, 0, 1, 1);
cursor: default;
}

.abt .metric_card:hover {
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
transform: translateY(-4px) scale(1.025);
}

.abt .metric_card .num {
font-size: 52px;
line-height: 1.15;
color: #4706A6;
letter-spacing: -0.04em;
display: block;
}

.abt .metric_card .lbl {
font-size: 13px;
line-height: 1.4;
color: #555;
display: block;
margin-top: 6px;
}

.abt .tool_chips {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px;
}

.abt .chip {
background: #fff;
border: 1px solid rgba(71, 6, 166, 0.18);
border-radius: 8px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.4;
color: #212611;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.abt .chip:hover {
background: #4706A6;
color: #fff;
}

.abt .mid_right h3 {
font-size: 20px;
line-height: 1.4;
color: #212611;
margin: 0;
letter-spacing: -0.01em;
}

.abt .mid_right p {
font-size: 14px;
line-height: 1.65;
color: #444;
margin: 0;
}

.abt .team_band {
background: #fff;
padding: 52px 0 96px;
}

.abt .team_inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 24px;
}

.abt .team_inner h2 {
font-size: 27px;
line-height: 1.4;
color: #212611;
text-align: center;
margin: 0 0 12px;
letter-spacing: -0.01em;
position: relative;
display: inline-block;
left: 50%;
transform: translateX(-50%);
}

.abt .team_inner h2::after {
content: '';
display: block;
height: 2px;
width: 0;
background: #4706A6;
border-radius: 3px;
margin-top: 6px;
animation: lineIn 0.16s cubic-bezier(0.4, 0, 1, 1) 0.45s forwards;
}

.abt .team_sub {
font-size: 14px;
line-height: 1.65;
color: #555;
text-align: center;
max-width: 560px;
margin: 0 auto 52px;
}

.abt .team_grid {
display: flex;
flex-direction: row;
gap: 52px;
align-items: flex-start;
}

.abt .team_portrait {
flex: 0 0 38%;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .portrait_pair {
display: flex;
flex-direction: row;
gap: 24px;
}

.abt .portrait_item {
flex: 1;
display: flex;
flex-direction: column;
gap: 12px;
}

.abt .portrait_frame {
width: 100%;
aspect-ratio: 5/7;
overflow: hidden;
border-radius: 14px;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.abt .portrait_frame:hover {
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
transform: translateY(-3px);
}

.abt .portrait_frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.abt .portrait_name {
font-size: 14px;
line-height: 1.4;
color: #212611;
font-weight: 600;
margin: 0;
}

.abt .portrait_role {
font-size: 13px;
line-height: 1.4;
color: #4706A6;
margin: 0;
}

.abt .team_right {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .team_right h3 {
font-size: 20px;
line-height: 1.4;
color: #212611;
margin: 0;
letter-spacing: -0.01em;
}

.abt .team_right p {
font-size: 14px;
line-height: 1.65;
color: #444;
margin: 0;
}

.abt .img_showcase {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
}

.abt .img_sm {
flex: 1 1 160px;
height: 120px;
overflow: hidden;
border-radius: 8px;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
transition: transform 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.abt .img_sm:hover {
transform: scale(1.03);
}

.abt .img_sm img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.abt .link_arc {
display: inline-block;
font-size: 14px;
line-height: 1.4;
color: #4706A6;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), opacity 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.abt .link_arc:hover {
opacity: 0.72;
color: #212611;
}

.abt .contact_strip {
background: #4706A6;
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
flex-wrap: wrap;
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
}

.abt .contact_strip p {
flex: 1;
font-size: 14px;
line-height: 1.65;
color: #FEF8D8;
margin: 0;
}

.abt .contact_strip a {
font-size: 14px;
color: #FEF8D8;
text-decoration: underline;
text-underline-offset: 3px;
white-space: nowrap;
transition: opacity 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.abt .contact_strip a:hover {
opacity: 0.72;
}

@media (max-width: 900px) {
.abt .strip_inner {
flex-direction: column;
gap: 24px;
}

.abt .strip_text {
flex: none;
}

.abt .img_strip {
flex: none;
align-items: flex-start;
}

.abt .img_strip figure {
max-width: 100%;
height: 200px;
}

.abt .strip_text h1 {
font-size: 27px;
}

.abt .mid_inner {
flex-direction: column;
gap: 24px;
}

.abt .mid_left {
flex: none;
}

.abt .team_grid {
flex-direction: column;
gap: 24px;
}

.abt .team_portrait {
flex: none;
}
}

@media (max-width: 600px) {
.abt .metric_row {
flex-direction: column;
}

.abt .portrait_pair {
flex-direction: column;
}

.abt .img_showcase {
flex-direction: column;
}

.abt .contact_strip {
flex-direction: column;
align-items: flex-start;
}

.abt .team_inner h2 {
left: 0;
transform: none;
}
}

.infgrph {
max-width: 100%;
overflow-x: hidden;
}

.infgrph .pg_inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 24px;
}

.infgrph .ttl_block {
background: linear-gradient(180deg, #4706A6 0%, #4706A6 52%, rgba(71, 6, 166, 0) 100%);
padding: 96px 24px 52px;
position: relative;
}

.infgrph .ttl_block::before {
content: "";
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(254, 248, 216, 0.06) 1px, transparent 1px),
linear-gradient(90deg, rgba(254, 248, 216, 0.06) 1px, transparent 1px);
background-size: 48px 48px;
pointer-events: none;
}

.infgrph .ttl_inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 52px;
}

.infgrph .ttl_text {
flex: 1 1 0;
}

.infgrph .ttl_caption {
display: block;
font-size: 13px;
letter-spacing: 0.22em;
color: #FEF8D8;
opacity: 0.72;
margin-bottom: 12px;
text-transform: uppercase;
}

.infgrph .ttl_h1 {
font-size: 52px;
line-height: 1.15;
letter-spacing: -0.02em;
color: #FEF8D8;
margin: 0 0 24px;
font-weight: 700;
}

.infgrph .ttl_desc {
font-size: 16px;
line-height: 1.65;
color: rgba(254, 248, 216, 0.88);
max-width: 520px;
margin: 0;
}

.infgrph .ttl_img_wrap {
flex: 0 0 340px;
width: 340px;
height: 280px;
overflow: hidden;
border-radius: 14px;
position: relative;
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
}

.infgrph .ttl_img_wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.infgrph .ttl_img_wrap::after {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at 0% 0%, rgba(71, 6, 166, 0.55) 0%, transparent 55%),
radial-gradient(ellipse at 100% 100%, rgba(33, 38, 17, 0.55) 0%, transparent 55%);
pointer-events: none;
}

.infgrph .deco_circles {
position: absolute;
right: -60px;
top: 24px;
width: 220px;
height: 220px;
pointer-events: none;
}

.infgrph .deco_circles span {
position: absolute;
border-radius: 40px;
border: 1.5px solid rgba(254, 248, 216, 0.10);
}

.infgrph .deco_circles span:nth-child(1) {
width: 120px;
height: 120px;
top: 50px;
left: 50px;
}

.infgrph .deco_circles span:nth-child(2) {
width: 170px;
height: 170px;
top: 25px;
left: 25px;
}

.infgrph .deco_circles span:nth-child(3) {
width: 210px;
height: 210px;
top: 5px;
left: 5px;
}

.infgrph .metrics_band {
background: #FEF8D8;
padding: 52px 24px;
border-bottom: 1.5px solid rgba(71, 6, 166, 0.10);
}

.infgrph .metrics_grid {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 52px;
align-items: start;
}

.infgrph .metrics_label_col {
padding-top: 12px;
}

.infgrph .metrics_eyebrow {
display: block;
font-size: 13px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: #4706A6;
margin-bottom: 12px;
}

.infgrph .metrics_heading {
font-size: 27px;
line-height: 1.4;
color: #212611;
font-weight: 700;
margin: 0 0 24px;
position: relative;
display: inline-block;
}

.infgrph .metrics_heading::after {
content: "";
display: block;
height: 2px;
width: 0;
background: #4706A6;
margin-top: 8px;
transition: width 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.infgrph .metrics_label_col:hover .metrics_heading::after {
width: 100%;
}

.infgrph .metrics_body {
font-size: 14px;
line-height: 1.65;
color: #212611;
margin: 0;
}

.infgrph .stats_col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.infgrph .stat_card {
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
transition: box-shadow 0.13s cubic-bezier(0.4, 0, 1, 1), transform 0.13s cubic-bezier(0.4, 0, 1, 1);
cursor: default;
}

.infgrph .stat_card:hover {
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
transform: translateY(-3px);
}

.infgrph .stat_num {
font-size: 52px;
line-height: 1.15;
letter-spacing: -0.03em;
color: #4706A6;
font-weight: 800;
display: block;
}

.infgrph .stat_label {
font-size: 13px;
line-height: 1.4;
color: #212611;
margin-top: 6px;
display: block;
}

.infgrph .stat_tool {
font-size: 13px;
color: rgba(33, 38, 17, 0.55);
margin-top: 6px;
display: block;
letter-spacing: 0.04em;
}

.infgrph .ref_section {
background: #fff;
padding: 96px 24px 52px;
}

.infgrph .ref_top {
max-width: 1100px;
margin: 0 auto 52px;
text-align: center;
}

.infgrph .ref_heading {
font-size: 27px;
line-height: 1.4;
color: #212611;
font-weight: 700;
margin: 0 0 12px;
display: inline-block;
position: relative;
}

.infgrph .ref_heading::after {
content: "";
display: block;
height: 2px;
background: linear-gradient(90deg, #4706A6 0%, #FEF8D8 100%);
width: 0;
margin-top: 8px;
transition: width 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.infgrph .ref_top:hover .ref_heading::after {
width: 100%;
}

.infgrph .ref_sub {
font-size: 14px;
line-height: 1.65;
color: rgba(33, 38, 17, 0.72);
max-width: 560px;
margin: 12px auto 0;
}

.infgrph .ref_grid {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 2fr;
gap: 24px;
align-items: start;
}

.infgrph .res_card {
border-radius: 14px;
border: 1.5px solid rgba(71, 6, 166, 0.13);
padding: 24px;
background: #fff;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
transition: box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1), border-color 0.14s cubic-bezier(0.4, 0, 1, 1);
display: flex;
flex-direction: column;
gap: 12px;
}

.infgrph .res_card:hover {
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
border-color: #4706A6;
}

.infgrph .res_type_badge {
display: inline-block;
font-size: 13px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #4706A6;
background: rgba(71, 6, 166, 0.07);
border-radius: 40px;
padding: 3px 12px;
font-weight: 600;
width: fit-content;
}

.infgrph .res_name {
font-size: 16px;
line-height: 1.4;
color: #212611;
font-weight: 600;
margin: 0;
}

.infgrph .res_desc {
font-size: 13px;
line-height: 1.65;
color: rgba(33, 38, 17, 0.72);
margin: 0;
}

.infgrph .res_meta {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
flex-wrap: wrap;
}

.infgrph .res_size {
font-size: 13px;
color: rgba(33, 38, 17, 0.45);
letter-spacing: 0.06em;
}

.infgrph .res_dl_btn {
display: inline-block;
font-size: 13px;
font-weight: 600;
color: #4706A6;
border: 1.5px solid #4706A6;
border-radius: 8px;
padding: 6px 12px;
text-decoration: none;
background: transparent;
transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
cursor: pointer;
}

.infgrph .res_dl_btn:hover {
background: #4706A6;
color: #FEF8D8;
filter: brightness(1.08);
}

.infgrph .res_card_wide {
grid-column: span 1;
background: linear-gradient(160deg, rgba(71, 6, 166, 0.04) 0%, rgba(254, 248, 216, 0.55) 100%);
}

.infgrph .tool_table {
width: 100%;
border-collapse: collapse;
margin-top: 12px;
}

.infgrph .tool_table th {
font-size: 13px;
font-weight: 700;
color: #4706A6;
text-align: left;
padding: 6px 12px;
border-bottom: 2px solid rgba(71, 6, 166, 0.18);
letter-spacing: 0.08em;
text-transform: uppercase;
}

.infgrph .tool_table td {
font-size: 13px;
color: #212611;
padding: 8px 12px;
border-bottom: 1px solid rgba(71, 6, 166, 0.07);
line-height: 1.4;
vertical-align: middle;
}

.infgrph .tool_table tr:last-child td {
border-bottom: none;
}

.infgrph .tool_table tr {
transition: background 0.11s cubic-bezier(0.4, 0, 1, 1);
}

.infgrph .tool_table tr:hover td {
background: rgba(71, 6, 166, 0.05);
}

.infgrph .tool_cat {
display: inline-block;
font-size: 13px;
border-radius: 3px;
padding: 2px 8px;
background: rgba(71, 6, 166, 0.09);
color: #4706A6;
font-weight: 600;
}

.infgrph .tool_cat.coding {
background: rgba(33, 38, 17, 0.08);
color: #212611;
}

.infgrph .anim_reveal {
opacity: 0;
transform: translateY(18px);
animation: reveal_up 0.18s cubic-bezier(0.4, 0, 1, 1) forwards;
}

.infgrph .anim_reveal:nth-child(1) {
animation-delay: 0.05s;
}

.infgrph .anim_reveal:nth-child(2) {
animation-delay: 0.09s;
}

.infgrph .anim_reveal:nth-child(3) {
animation-delay: 0.13s;
}

.infgrph .anim_reveal:nth-child(4) {
animation-delay: 0.17s;
}

@keyframes reveal_up {
to {
opacity: 1;
transform: translateY(0);
}
}

.infgrph .color_shift {
animation: col_shift 0.16s cubic-bezier(0.4, 0, 1, 1) 0.05s both;
}

@keyframes col_shift {
0% {
color: #FEF8D8;
}

100% {
color: #FEF8D8;
}
}

@media (max-width: 900px) {
.infgrph .ttl_inner {
flex-direction: column;
gap: 24px;
align-items: flex-start;
}

.infgrph .ttl_img_wrap {
flex: 0 0 auto;
width: 100%;
height: 200px;
}

.infgrph .ttl_h1 {
font-size: 27px;
}

.infgrph .metrics_grid {
grid-template-columns: 1fr;
gap: 24px;
}

.infgrph .stats_col {
grid-template-columns: 1fr 1fr;
}

.infgrph .ref_grid {
grid-template-columns: 1fr 1fr;
}

.infgrph .ref_grid .res_card_wide {
grid-column: span 2;
}
}

@media (max-width: 600px) {
.infgrph .ttl_block {
padding: 52px 24px 24px;
}

.infgrph .ttl_h1 {
font-size: 20px;
}

.infgrph .stats_col {
grid-template-columns: 1fr;
}

.infgrph .ref_grid {
grid-template-columns: 1fr;
}

.infgrph .ref_grid .res_card_wide {
grid-column: span 1;
}

.infgrph .stat_num {
font-size: 27px;
}

.infgrph .ref_section {
padding: 52px 24px;
}
}

.cnt-us {
max-width: 100%;
overflow-x: hidden;
}

.cnt-us .pg-wrap {
max-width: 1100px;
margin: 0 auto;
padding: 0 24px;
}

.cnt-us .reach-split {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px;
position: relative;
}

.cnt-us .reach-img-side {
position: relative;
overflow: hidden;
}

.cnt-us .reach-img-side img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
animation: imgZoom 8s cubic-bezier(0.4, 0, 1, 1) forwards;
}

@keyframes imgZoom {
from {
transform: scale(1.08);
}

to {
transform: scale(1);
}
}

.cnt-us .reach-img-side::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to bottom, rgba(71, 6, 166, 0.55) 0%, rgba(71, 6, 166, 0.08) 60%, transparent 100%);
pointer-events: none;
}

.cnt-us .reach-img-side .blur-spot {
position: absolute;
border-radius: 40px;
pointer-events: none;
z-index: 1;
}

.cnt-us .reach-img-side .blur-spot.a {
width: 180px;
height: 180px;
background: rgba(71, 6, 166, 0.18);
filter: blur(48px);
top: 24px;
left: 24px;
}

.cnt-us .reach-img-side .blur-spot.b {
width: 120px;
height: 120px;
background: rgba(254, 248, 216, 0.13);
filter: blur(32px);
bottom: 52px;
right: 24px;
}

.cnt-us .reach-text-side {
background: #fff;
padding: 52px 52px 96px 52px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
}

.cnt-us .reach-text-side::before {
content: "";
position: absolute;
left: 0;
top: 52px;
bottom: 52px;
width: 4px;
background: #4706A6;
border-radius: 3px;
}

.cnt-us .reach-eyebrow {
font-size: 13px;
letter-spacing: 0.12em;
color: #4706A6;
text-transform: uppercase;
margin-bottom: 12px;
font-weight: 600;
}

.cnt-us .reach-heading {
font-size: 52px;
line-height: 1.15;
letter-spacing: -0.02em;
color: #212611;
margin: 0 0 24px 0;
text-align: center;
position: relative;
display: inline-block;
}

.cnt-us .reach-heading::after {
content: "";
display: block;
height: 3px;
width: 0;
background: #4706A6;
border-radius: 3px;
margin-top: 6px;
animation: underDraw 0.18s cubic-bezier(0.4, 0, 1, 1) 0.4s forwards;
}

@keyframes underDraw {
from {
width: 0;
}

to {
width: 100%;
}
}

.cnt-us .reach-desc {
font-size: 16px;
line-height: 1.65;
color: #3a3a2e;
margin-bottom: 24px;
}

.cnt-us .contact-items {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 6px;
}

.cnt-us .contact-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
}

.cnt-us .ci-icon {
width: 36px;
height: 36px;
border-radius: 8px;
background: #FEF8D8;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 0 2px 2px -1px rgba(71, 6, 166, 0.08);
}

.cnt-us .ci-icon svg {
width: 16px;
height: 16px;
fill: none;
stroke: #4706A6;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.cnt-us .ci-text {
font-size: 14px;
line-height: 1.65;
color: #212611;
}

.cnt-us .ci-text a {
color: #4706A6;
text-decoration: none;
transition: opacity 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.cnt-us .ci-text a:hover {
opacity: 0.72;
}

.cnt-us .ci-label {
font-size: 13px;
color: #7a7a60;
display: block;
letter-spacing: 0.04em;
margin-bottom: 2px;
}

.cnt-us .concentric-deco {
position: absolute;
bottom: -24px;
right: -24px;
width: 140px;
height: 140px;
pointer-events: none;
z-index: 0;
}

.cnt-us .concentric-deco circle {
fill: none;
stroke: #4706A6;
opacity: 0.06;
}

.cnt-us .band-divider {
background: #4706A6;
height: 6px;
width: 100%;
}

.cnt-us .form-section {
background: linear-gradient(180deg, #FEF8D8 0%, #fff 100%);
padding: 96px 0 52px 0;
position: relative;
}

.cnt-us .form-section .pg-wrap {
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 52px;
align-items: start;
}

.cnt-us .form-meta {
padding-top: 24px;
}

.cnt-us .form-meta-heading {
font-size: 27px;
line-height: 1.4;
letter-spacing: -0.01em;
color: #212611;
margin: 0 0 12px 0;
text-align: center;
position: relative;
display: inline-block;
}

.cnt-us .form-meta-heading::after {
content: "";
display: block;
height: 2px;
width: 0;
background: #4706A6;
border-radius: 3px;
margin-top: 4px;
transition: width 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.cnt-us .form-meta:hover .form-meta-heading::after {
width: 100%;
}

.cnt-us .form-meta-desc {
font-size: 14px;
line-height: 1.65;
color: #3a3a2e;
margin-bottom: 24px;
}

.cnt-us .step-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 24px;
}

.cnt-us .step-list li {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
}

.cnt-us .step-num {
font-size: 27px;
line-height: 1.15;
font-weight: 700;
color: #4706A6;
opacity: 0.22;
min-width: 36px;
letter-spacing: -0.03em;
}

.cnt-us .step-body {
padding-top: 6px;
}

.cnt-us .step-label {
font-size: 14px;
font-weight: 600;
color: #212611;
display: block;
margin-bottom: 2px;
}

.cnt-us .step-sub {
font-size: 13px;
line-height: 1.65;
color: #5a5a40;
}

.cnt-us .form-card {
background: #fff;
border-radius: 14px;
padding: 52px;
box-shadow: 0 8px 48px -1px rgba(71, 6, 166, 0.12);
position: relative;
}

.cnt-us .form-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #4706A6 0%, #FEF8D8 100%);
border-radius: 14px 14px 0 0;
}

.cnt-us .form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.cnt-us .field-grp {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 24px;
}

.cnt-us .field-grp.full {
grid-column: 1 / -1;
}

.cnt-us .field-label {
font-size: 13px;
font-weight: 600;
color: #212611;
letter-spacing: 0.04em;
}

.cnt-us .field-label .req {
color: #4706A6;
margin-left: 2px;
}

.cnt-us .f-input,
.cnt-us .f-select,
.cnt-us .f-textarea {
border: 1.5px solid #e2ddf5;
border-radius: 8px;
padding: 12px 12px;
font-size: 14px;
line-height: 1.4;
color: #212611;
background: #fff;
outline: none;
transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
width: 100%;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none;
}

.cnt-us .f-input::placeholder,
.cnt-us .f-textarea::placeholder {
color: rgba(33, 38, 17, 0.4);
}

.cnt-us .f-input:focus,
.cnt-us .f-select:focus,
.cnt-us .f-textarea:focus {
border-color: #4706A6;
box-shadow: 0 0 0 3px rgba(71, 6, 166, 0.09), inset 0 2px 4px rgba(71, 6, 166, 0.04);
}

.cnt-us .f-select {
cursor: pointer;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 5l5 5 5-5' stroke='%234706A6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
padding-right: 36px;
}

.cnt-us .f-textarea {
resize: vertical;
min-height: 100px;
}

.cnt-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px;
}

.cnt-us .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #4706A6;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer;
}

.cnt-us .privacy-text {
font-size: 13px;
line-height: 1.65;
color: #5a5a40;
}

.cnt-us .privacy-text a {
color: #4706A6;
text-decoration: underline;
text-underline-offset: 2px;
}

.cnt-us .submit-btn {
display: inline-flex;
align-items: center;
justify-content: center;
background: #4706A6;
color: #fff;
border: none;
border-radius: 24px;
padding: 12px 52px;
font-size: 16px;
font-weight: 600;
letter-spacing: 0.03em;
cursor: pointer;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
transition: filter 0.12s cubic-bezier(0.4, 0, 1, 1), transform 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.cnt-us .submit-btn:hover {
filter: brightness(1.15);
}

.cnt-us .submit-btn:active {
transform: scale(0.98);
}

.cnt-us .submit-btn:focus-visible {
outline: 2px solid #4706A6;
outline-offset: 3px;
}

.cnt-us .tools-note {
margin-top: 24px;
padding: 12px;
background: #FEF8D8;
border-radius: 8px;
font-size: 13px;
line-height: 1.65;
color: #3a3a2e;
}

.cnt-us .tools-note strong {
color: #212611;
}

@keyframes bounceIn {
0% {
transform: translateY(18px);
opacity: 0;
}

70% {
transform: translateY(-4px);
opacity: 1;
}

100% {
transform: translateY(0);
opacity: 1;
}
}

.cnt-us .form-card {
animation: bounceIn 0.18s cubic-bezier(0.4, 0, 1, 1) 0.1s both;
}

@media (max-width: 900px) {
.cnt-us .reach-split {
grid-template-columns: 1fr;
}

.cnt-us .reach-img-side {
height: 260px;
}

.cnt-us .reach-text-side {
padding: 52px 24px 52px 36px;
}

.cnt-us .form-section .pg-wrap {
grid-template-columns: 1fr;
gap: 24px;
}

.cnt-us .form-card {
padding: 24px;
}

.cnt-us .form-row {
grid-template-columns: 1fr;
}

.cnt-us .reach-heading {
font-size: 27px;
}
}

@media (max-width: 600px) {
.cnt-us .reach-text-side {
padding: 24px 12px 52px 24px;
}

.cnt-us .form-section {
padding: 52px 0 24px 0;
}

.cnt-us .form-card {
padding: 24px 12px;
}

.cnt-us .submit-btn {
width: 100%;
padding: 12px 24px;
}

.cnt-us .reach-heading {
font-size: 27px;
}
}

.success_page {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 24px;
background: #ffffff;
}

.success_page .success_card {
max-width: 1100px;
width: 100%;
background: #FEF8D8;
border-radius: 24px;
padding: 52px;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
}

.success_page .success_icon {
width: 72px;
height: 72px;
flex-shrink: 0;
}

.success_page .success_heading {
font-size: 52px;
line-height: 1.15;
letter-spacing: -0.03em;
color: #4706A6;
text-align: center;
margin: 0;
padding: 0;
position: relative;
display: inline-block;
}

.success_page .success_heading::after {
content: "";
display: block;
height: 3px;
width: 0;
background: #4706A6;
border-radius: 3px;
margin-top: 6px;
animation: heading_line_draw 0.18s cubic-bezier(0.4, 0, 1, 1) 0.12s forwards;
}

@keyframes heading_line_draw {
to {
width: 100%;
}
}

.success_page .success_message {
font-size: 20px;
line-height: 1.65;
color: #212611;
text-align: center;
margin: 0;
padding: 0;
max-width: 560px;
}

.success_page .success_detail {
font-size: 16px;
line-height: 1.65;
color: #212611;
text-align: center;
margin: 0;
padding: 0;
max-width: 480px;
opacity: 0.82;
}

.success_page .success_divider {
width: 52px;
height: 2px;
background: #4706A6;
border-radius: 3px;
opacity: 0.28;
}

.success_page .success_actions {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
justify-content: center;
margin-top: 6px;
}

.success_page .btn_primary {
display: inline-block;
padding: 12px 52px;
background: #4706A6;
color: #FEF8D8;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.01em;
border-radius: 8px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 0 4px 18px -1px rgba(71, 6, 166, 0.11);
transition: brightness 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.success_page .btn_primary:hover,
.success_page .btn_primary:focus {
filter: brightness(1.18);
outline: 2px solid #4706A6;
outline-offset: 2px;
}

.success_page .btn_primary:active {
filter: brightness(0.94);
}

.success_page .btn_secondary {
display: inline-block;
padding: 12px 24px;
background: transparent;
color: #4706A6;
font-size: 14px;
line-height: 1.4;
letter-spacing: 0.02em;
border-radius: 8px;
border: 1.5px solid #4706A6;
cursor: pointer;
text-decoration: none;
transition: background 0.1s cubic-bezier(0.4, 0, 1, 1), color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.success_page .btn_secondary:hover,
.success_page .btn_secondary:focus {
background: #4706A6;
color: #FEF8D8;
outline: 2px solid #4706A6;
outline-offset: 2px;
}

.success_page .success_meta {
font-size: 13px;
line-height: 1.85;
color: #212611;
text-align: center;
opacity: 0.54;
margin: 0;
padding: 0;
}

@media (max-width: 600px) {
.success_page {
padding: 52px 12px;
}

.success_page .success_card {
padding: 24px 12px;
gap: 12px;
border-radius: 14px;
}

.success_page .success_heading {
font-size: 27px;
}

.success_page .success_message {
font-size: 16px;
}

.success_page .btn_primary {
padding: 12px 24px;
width: 100%;
text-align: center;
}

.success_page .btn_secondary {
width: 100%;
text-align: center;
}
}