* {
box-sizing: border-box
}

body {
margin: 0;
position: relative;
min-height: 100vh;
font-family: 'EB Garamond', Georgia, serif
}

.hd-top {
background: linear-gradient(105deg, #CD7853 0%, #b8623d 60%, #71A231 100%);
padding: 16px 0
}

.hd-top-row {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px
}

.hd-brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
text-decoration: none
}

.hd-logo-box {
background: #fff;
border-radius: 12px 8px 12px 8px;
padding: 8px;
width: 64px;
height: 64px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 5px 25px 0 #cd785317 0 3px 5px 0 #cd78530d
}

.hd-logo-box img {
width: 48px;
height: 48px;
object-fit: contain;
display: block
}

.hd-company {
font-size: 18px;
font-weight: 700;
color: #fff;
line-height: 1.2;
letter-spacing: .04em;
text-align: center
}

.hd-notice {
background: #ffffff26;
border: 1px solid #ffffff59;
border-radius: 8px;
padding: 8px 16px;
display: flex;
align-items: center;
gap: 8px;
max-width: 420px
}

.hd-notice i {
color: #fff;
font-size: 15px;
flex-shrink: 0
}

.hd-notice-text {
font-size: 14px;
color: #fff;
line-height: 1.7;
letter-spacing: .02em
}

.hd-nav-bar {
background: #E8E5DE;
border-bottom: 2px solid #CD7853
}

.hd-nav-inner {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: stretch;
flex-wrap: wrap
}

.hd-nav-link {
font-family: 'EB Garamond', Georgia, serif;
font-size: 15px;
font-weight: 700;
color: #3a2a1a;
text-decoration: none;
padding: 16px 32px;
letter-spacing: .06em;
display: flex;
align-items: center;
gap: 8px;
border-bottom: 3px solid transparent;
transition: color .12s cubic-bezier(0.4, 0, 1, 1), border-color .15s cubic-bezier(0.4, 0, 1, 1), background-color .12s cubic-bezier(0.4, 0, 1, 1);
min-height: 44px
}

.hd-nav-link:hover,
.hd-nav-link:focus {
color: #CD7853;
border-bottom-color: #CD7853;
background: #cd78530f;
outline: none
}

.hd-nav-link:focus-visible {
outline: 2px solid #CD7853;
outline-offset: -2px
}

.hd-nav-link i {
font-size: 14px;
color: #71A231;
flex-shrink: 0
}

.ft-root {
background: #2c1f14;
padding: 64px 0 0
}

.ft-main {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 32px;
flex-wrap: wrap
}

.ft-brand {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
min-width: 180px
}

.ft-logo-wrap {
background: #E8E5DE;
border-radius: 8px 12px 8px 8px;
padding: 8px;
width: 60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 3px 5px 0 #71a2310d
}

.ft-logo-wrap img {
width: 44px;
height: 44px;
object-fit: contain;
display: block
}

.ft-tagline {
font-size: 14px;
color: #b89f8a;
line-height: 1.7;
letter-spacing: .04em;
max-width: 220px
}

.ft-links {
display: flex;
flex-direction: column;
gap: 8px
}

.ft-links-label {
font-size: 14px;
font-weight: 700;
color: #CD7853;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 8px
}

.ft-link {
font-size: 15px;
color: #c8b9a8;
text-decoration: none;
line-height: 1.7;
transition: color .1s cubic-bezier(0.4, 0, 1, 1);
min-height: 44px;
display: flex;
align-items: center
}

.ft-link:hover,
.ft-link:focus {
color: #fff;
outline: none;
text-decoration: underline
}

.ft-link:focus-visible {
outline: 2px solid #CD7853;
outline-offset: 2px;
border-radius: 8px
}

.ft-contact {
display: flex;
flex-direction: column;
gap: 8px
}

.ft-contact-label {
font-size: 14px;
font-weight: 700;
color: #71A231;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 8px
}

.ft-contact-item {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
color: #c8b9a8;
line-height: 1.7;
text-decoration: none;
min-height: 44px;
transition: color .1s cubic-bezier(0.4, 0, 1, 1)
}

.ft-contact-item:hover,
.ft-contact-item:focus {
color: #fff;
outline: none
}

.ft-contact-item:focus-visible {
outline: 2px solid #71A231;
outline-offset: 2px;
border-radius: 8px
}

.ft-contact-item i {
color: #71A231;
font-size: 15px;
flex-shrink: 0;
width: 16px
}

.ft-address {
font-size: 14px;
color: #c8b9a8;
line-height: 1.7;
font-style: normal;
display: flex;
align-items: flex-start;
gap: 8px
}

.ft-address i {
color: #71A231;
font-size: 15px;
flex-shrink: 0;
margin-top: 4px
}

.ft-divider {
max-width: 1140px;
margin: 32px auto 0;
padding: 0 32px;
border: none;
border-top: 1px solid #cd785333
}

.ft-copy-bar {
background: #1e1208;
padding: 16px 0;
margin-top: 0
}

.ft-copy-inner {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px
}

.ft-copy-text {
font-size: 14px;
color: #7a6555;
line-height: 1.7
}

.ft-legal-links {
display: flex;
gap: 16px;
flex-wrap: wrap
}

.ft-legal-link {
font-size: 14px;
color: #7a6555;
text-decoration: none;
transition: color .1s cubic-bezier(0.4, 0, 1, 1);
min-height: 44px;
display: flex;
align-items: center
}

.ft-legal-link:hover,
.ft-legal-link:focus {
color: #CD7853;
text-decoration: underline;
outline: none
}

.ft-legal-link:focus-visible {
outline: 2px solid #CD7853;
outline-offset: 2px;
border-radius: 8px
}

.ck-bar {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
background: #2c1f14;
border-bottom: 2px solid #CD7853;
z-index: 1500;
padding: 16px 32px;
align-items: center;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
box-shadow: 0 5px 25px 0 #cd785317
}

.ck-text {
font-family: 'EB Garamond', Georgia, serif;
font-size: 14px;
color: #c8b9a8;
line-height: 1.7;
flex: 1;
min-width: 200px
}

.ck-actions {
display: flex;
align-items: center;
gap: 16px;
flex-shrink: 0
}

.ck-accept {
font-family: 'EB Garamond', Georgia, serif;
font-size: 14px;
font-weight: 700;
color: #fff;
background: #CD7853;
border: none;
border-radius: 8px;
padding: 8px 16px;
cursor: pointer;
text-decoration: underline;
min-height: 44px;
transition: background-color .12s cubic-bezier(0.4, 0, 1, 1), color .12s cubic-bezier(0.4, 0, 1, 1)
}

.ck-accept:hover,
.ck-accept:focus {
background: #b8623d;
outline: none
}

.ck-accept:focus-visible {
outline: 2px solid #fff;
outline-offset: 2px
}

.ck-decline {
font-family: 'EB Garamond', Georgia, serif;
font-size: 14px;
color: #b89f8a;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
padding: 8px;
min-height: 44px;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.ck-decline:hover,
.ck-decline:focus {
color: #fff;
outline: none
}

.ck-decline:focus-visible {
outline: 2px solid #CD7853;
outline-offset: 2px;
border-radius: 8px
}

@media (max-width: 768px) {
.hd-top-row {
flex-direction: column;
align-items: center;
padding: 0 16px;
gap: 16px
}

.hd-notice {
max-width: 100%
}

.hd-nav-inner {
padding: 0 16px
}

.hd-nav-link {
padding: 16px;
font-size: 14px
}

.ft-main {
flex-direction: column;
padding: 0 16px;
gap: 32px
}

.ft-copy-inner {
flex-direction: column;
align-items: flex-start;
padding: 0 16px
}

.ck-bar {
flex-direction: column;
align-items: flex-start;
padding: 16px
}

.ck-actions {
width: 100%;
justify-content: flex-start
}
}

@media (max-width: 1280px) and (min-width: 769px) {
.hd-top-row {
padding: 0 32px
}

.hd-nav-inner {
padding: 0 32px
}
}

.terms-content-d {
max-width: 1140px;
margin: 0 auto;
padding: 64px 32px
}

.terms-content-d h1 {
font-size: 56px;
line-height: 1.2;
color: #2a1f14;
margin-bottom: 32px;
letter-spacing: -.5px
}

.terms-content-d h2 {
font-size: 30px;
line-height: 1.2;
color: #2a1f14;
margin-top: 64px;
margin-bottom: 16px
}

.terms-content-d h3 {
font-size: 22px;
line-height: 1.2;
color: #2a1f14;
margin-top: 32px;
margin-bottom: 16px
}

.terms-content-d h4 {
font-size: 18px;
line-height: 1.2;
color: #3d2c1e;
margin-top: 32px;
margin-bottom: 8px
}

.terms-content-d h5 {
font-size: 15px;
line-height: 1.2;
color: #3d2c1e;
margin-top: 16px;
margin-bottom: 8px;
letter-spacing: .04em;
text-transform: uppercase
}

.terms-content-d h6 {
font-size: 14px;
line-height: 1.2;
color: #5a4232;
margin-top: 16px;
margin-bottom: 8px;
letter-spacing: .06em;
text-transform: uppercase
}

.terms-content-d p {
font-size: 15px;
line-height: 1.7;
color: #3d2c1e;
margin-bottom: 16px
}

.terms-content-d ul,
.terms-content-d ol {
margin-bottom: 16px;
padding-left: 32px
}

.terms-content-d ul {
list-style: none;
padding-left: 16px
}

.terms-content-d ul li {
padding-left: 16px;
position: relative
}

.terms-content-d ul li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 48px;
background-color: #CD7853
}

.terms-content-d ol {
list-style: decimal
}

.terms-content-d li {
font-size: 15px;
line-height: 1.7;
color: #3d2c1e;
margin-bottom: 8px
}

.terms-content-d strong,
.terms-content-d b {
color: #2a1f14;
font-weight: 700
}

.terms-content-d a {
color: #CD7853;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.terms-content-d a:hover {
color: #71A231
}

.terms-content-d table {
width: 100%;
border-collapse: collapse;
margin-bottom: 32px;
font-size: 14px;
box-shadow: 0 3px 5px 0 #cd78530d;
border-radius: 12px;
overflow: hidden
}

.terms-content-d thead {
background-color: #E8E5DE
}

.terms-content-d th {
padding: 16px;
text-align: left;
font-size: 14px;
line-height: 1.2;
color: #2a1f14;
letter-spacing: .05em;
text-transform: uppercase;
font-weight: 700
}

.terms-content-d tbody tr {
border-bottom: 1px solid #E8E5DE;
transition: background-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.terms-content-d tbody tr:last-child {
border-bottom: none
}

.terms-content-d tbody tr:hover {
background-color: #f5f3ef
}

.terms-content-d td {
padding: 16px;
font-size: 15px;
line-height: 1.7;
color: #3d2c1e;
vertical-align: top
}

.terms-content-d hr {
border: none;
border-top: 2px solid #E8E5DE;
margin: 64px 0
}

@media (max-width: 768px) {
.terms-content-d {
padding: 32px 16px
}

.terms-content-d h1 {
font-size: 30px
}

.terms-content-d h2 {
font-size: 22px;
margin-top: 32px
}

.terms-content-d h3 {
font-size: 18px
}

.terms-content-d table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}

.terms-content-d hr {
margin: 32px 0
}
}

@media (min-width: 769px) and (max-width: 1280px) {
.terms-content-d {
padding: 64px 32px
}
}

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

.srv-det .pg-frame {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px
}

.srv-det .title-band {
background: #fff;
padding: 64px 0
}

.srv-det .title-band .pg-frame {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 64px
}

.srv-det .img-zone {
flex: 0 0 480px;
position: relative;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 40px 0 #cd78531f
}

.srv-det .img-zone img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.srv-det .img-zone .img-fade {
position: absolute;
inset: 0;
background: linear-gradient(to left, #cd78538c 0%, #71a2312e 55%, transparent 100%);
pointer-events: none
}

.srv-det .dot-scatter {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 12px
}

.srv-det .dot-scatter span {
position: absolute;
width: 5px;
height: 5px;
border-radius: 48px;
background: #CD7853;
opacity: .18
}

.srv-det .dot-scatter span:nth-child(1) {
top: 12%;
left: 8%
}

.srv-det .dot-scatter span:nth-child(2) {
top: 28%;
left: 20%
}

.srv-det .dot-scatter span:nth-child(3) {
top: 55%;
left: 5%
}

.srv-det .dot-scatter span:nth-child(4) {
top: 72%;
left: 15%
}

.srv-det .dot-scatter span:nth-child(5) {
top: 88%;
left: 30%
}

.srv-det .dot-scatter span:nth-child(6) {
top: 40%;
left: 35%
}

.srv-det .txt-zone {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
padding: 32px 0
}

.srv-det .txt-zone .lbl-tag {
display: inline-block;
font-size: 14px;
font-weight: 600;
letter-spacing: .08em;
color: #71A231;
background: #71a2311a;
border: 1px solid #71a23140;
border-radius: 48px;
padding: 8px 16px;
margin-bottom: 16px;
align-self: flex-start
}

.srv-det .txt-zone h1 {
font-size: 30px;
line-height: 1.2;
color: #2a2018;
margin-bottom: 16px;
background: linear-gradient(135deg, #71A231 0%, #CD7853 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srv-det .txt-zone .tagline {
font-size: 18px;
line-height: 1.7;
color: #4a3f35;
margin-bottom: 32px;
text-align: left
}

.srv-det .meta-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 16px;
margin-bottom: 32px
}

.srv-det .meta-chip {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #E8E5DE;
border-radius: 8px;
padding: 8px 16px;
font-size: 14px;
color: #3a3028
}

.srv-det .meta-chip .pi {
color: #CD7853;
font-size: 15px
}

.srv-det .meta-chip strong {
color: #CD7853
}

.srv-det .chip-seats {
position: relative
}

.srv-det .chip-seats .dot-ind {
width: 8px;
height: 8px;
border-radius: 48px;
background: #71A231;
box-shadow: 0 0 0 3px #71a23133;
flex-shrink: 0
}

.srv-det .act-links {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.srv-det .btn-prim {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(135deg, #CD7853 0%, #71A231 100%);
color: #fff;
font-size: 15px;
font-weight: 600;
padding: 16px 32px;
border-radius: 8px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 0 5px 25px 0 #cd785317;
transition: box-shadow .12s cubic-bezier(0.4, 0, 1, 1), transform .1s cubic-bezier(0.4, 0, 1, 1)
}

.srv-det .btn-prim:hover {
background: linear-gradient(225deg, #CD7853 0%, #71A231 100%);
box-shadow: 0 10px 40px 0 #cd78531f;
transform: translateY(-2px)
}

.srv-det .btn-prim:focus {
outline: 3px solid #71A231;
outline-offset: 2px
}

.srv-det .btn-prim:active {
transform: translateY(0)
}

.srv-det .btn-sec {
display: inline-flex;
align-items: center;
gap: 8px;
background: #fff;
color: #CD7853;
font-size: 15px;
font-weight: 600;
padding: 16px 32px;
border-radius: 8px;
border: 2px solid #CD7853;
cursor: pointer;
text-decoration: none;
transition: background .15s cubic-bezier(0.4, 0, 1, 1), color .15s cubic-bezier(0.4, 0, 1, 1)
}

.srv-det .btn-sec:hover {
background: #CD7853;
color: #fff
}

.srv-det .btn-sec:focus {
outline: 3px solid #CD7853;
outline-offset: 2px
}

.srv-det .desc-area {
background: #E8E5DE;
padding: 64px 0
}

.srv-det .desc-area .pg-frame {
display: grid;
grid-template-columns: 1fr 340px;
gap: 64px;
align-items: start
}

.srv-det .desc-col h2 {
font-size: 22px;
line-height: 1.2;
color: #2a2018;
margin-bottom: 16px;
background: linear-gradient(135deg, #CD7853 0%, #71A231 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srv-det .desc-col .desc-body {
font-size: 15px;
line-height: 1.7;
color: #3a3028;
text-align: justify
}

.srv-det .desc-col .desc-body p {
margin-bottom: 16px
}

.srv-det .desc-col .desc-body ul {
padding-left: 16px;
margin-bottom: 16px
}

.srv-det .desc-col .desc-body li {
margin-bottom: 8px;
color: #3a3028
}

.srv-det .price-card {
background: #fff;
border-radius: 12px;
padding: 32px;
box-shadow: 0 5px 25px 0 #cd785317;
border: 1px solid #cd785326;
position: sticky;
top: 32px;
box-shadow: inset 0 2px 8px 0 #cd78530d 0 10px 40px 0 #cd78531f
}

.srv-det .price-card .price-amt {
font-size: 56px;
line-height: 1.2;
color: #CD7853;
font-weight: 700;
margin-bottom: 8px
}

.srv-det .price-card .price-note {
font-size: 14px;
line-height: 1.7;
color: #6a5a50;
margin-bottom: 32px;
border-left: 3px solid #71A231;
border-top: 1px solid #71a23133;
padding: 8px 16px;
background: #71a2310f;
border-radius: 0 8px 8px 0
}

.srv-det .price-card .card-meta {
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 32px
}

.srv-det .price-card .card-meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 14px;
color: #3a3028
}

.srv-det .price-card .card-meta-row .pi {
color: #CD7853;
width: 18px
}

.srv-det .price-card .btn-prim {
width: 100%;
justify-content: center
}

.srv-det .price-card .seats-warn {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 16px;
font-size: 14px;
color: #71A231;
font-weight: 600
}

.srv-det .price-card .seats-warn .dot-ind {
width: 8px;
height: 8px;
border-radius: 48px;
background: #71A231;
animation: ring-pulse 2.4s cubic-bezier(0.4, 0, 1, 1) infinite;
flex-shrink: 0
}

@keyframes ring-pulse {
0% {
box-shadow: 0 0 0 0 #71a23173
}

60% {
box-shadow: 0 0 0 7px #71a23100
}

100% {
box-shadow: 0 0 0 0 #71a23100
}
}

.srv-det .prog-area {
background-image: url(https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=1400&q=80);
background-size: cover;
background-position: center;
position: relative;
padding: 96px 0
}

.srv-det .prog-area .bg-overlay {
position: absolute;
inset: 0;
background: linear-gradient(135deg, #2a2018e0 0%, #71a231b8 100%);
pointer-events: none
}

.srv-det .prog-area .pg-frame {
position: relative;
z-index: 1
}

.srv-det .prog-area h2 {
font-size: 30px;
line-height: 1.2;
color: #fff;
margin-bottom: 8px
}

.srv-det .prog-area .prog-sub {
font-size: 15px;
line-height: 1.7;
color: #e8e5ded9;
margin-bottom: 64px;
max-width: 560px
}

.srv-det .prog-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.srv-det .prog-item {
background: #ffffff12;
border: 1px solid #e8e5de2e;
border-radius: 12px;
padding: 32px;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
transition: background .16s cubic-bezier(0.4, 0, 1, 1), border-color .16s cubic-bezier(0.4, 0, 1, 1);
position: relative
}

.srv-det .prog-item:hover {
background: #ffffff21;
border-color: #cd785373
}

.srv-det .prog-item .fold-corner {
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 28px 28px 0;
border-color: transparent #cd785359 transparent transparent;
border-radius: 0 12px 0 0;
transition: border-width .14s cubic-bezier(0.4, 0, 1, 1)
}

.srv-det .prog-item:hover .fold-corner {
border-width: 0 44px 44px 0;
border-color: transparent #cd7853b3 transparent transparent
}

.srv-det .prog-item .step-num {
font-size: 56px;
line-height: 1.2;
font-weight: 700;
color: #CD7853;
opacity: .35;
margin-bottom: 8px
}

.srv-det .prog-item h3 {
font-size: 18px;
line-height: 1.2;
color: #fff;
margin-bottom: 8px;
background: linear-gradient(135deg, #E8E5DE 0%, #CD7853 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srv-det .prog-item .prog-text {
font-size: 14px;
line-height: 1.7;
color: #e8e5ded1;
text-align: justify
}

.srv-det .prog-item .prog-text p,
.srv-det .prog-item .prog-text ul,
.srv-det .prog-item .prog-text li {
color: #e8e5ded1;
font-size: 14px;
line-height: 1.7
}

.srv-det .prog-item .prog-text ul {
padding-left: 16px
}

.srv-det .prog-item .prog-text li {
margin-bottom: 8px
}

.srv-det .dashed-accent {
border: 2px dashed #cd785373;
border-radius: 12px;
padding: 32px;
margin-top: 64px;
background: #ffffff0a
}

.srv-det .dashed-accent .acc-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
flex-wrap: wrap
}

.srv-det .dashed-accent .acc-icon {
width: 56px;
height: 56px;
border-radius: 12px;
background: #cd78532e;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
position: relative
}

.srv-det .dashed-accent .acc-icon .pi {
font-size: 22px;
color: #CD7853
}

.srv-det .dashed-accent .acc-icon .corner-dot {
position: absolute;
top: -4px;
right: -4px;
width: 10px;
height: 10px;
border-radius: 48px;
background: #71A231;
border: 2px solid #2a2018cc
}

.srv-det .dashed-accent .acc-txt {
flex: 1
}

.srv-det .dashed-accent .acc-txt h4 {
font-size: 18px;
line-height: 1.2;
color: #fff;
margin-bottom: 8px
}

.srv-det .dashed-accent .acc-txt p {
font-size: 14px;
line-height: 1.7;
color: #e8e5ded1;
margin: 0
}

.srv-det .dashed-accent .acc-cta {
flex-shrink: 0
}

@media (max-width: 1280px) {
.srv-det .title-band .pg-frame {
gap: 32px
}

.srv-det .img-zone {
flex: 0 0 380px
}

.srv-det .prog-grid {
grid-template-columns: repeat(2, 1fr)
}

.srv-det .desc-area .pg-frame {
grid-template-columns: 1fr 300px;
gap: 32px
}
}

@media (max-width: 768px) {
.srv-det .title-band {
padding: 32px 0
}

.srv-det .title-band .pg-frame {
flex-direction: column;
gap: 32px
}

.srv-det .img-zone {
flex: none;
height: 260px
}

.srv-det .txt-zone {
padding: 0
}

.srv-det .txt-zone h1 {
font-size: 22px
}

.srv-det .desc-area .pg-frame {
grid-template-columns: 1fr
}

.srv-det .price-card {
position: static
}

.srv-det .prog-grid {
grid-template-columns: 1fr
}

.srv-det .prog-area {
padding: 64px 0
}

.srv-det .dashed-accent .acc-row {
flex-direction: column;
gap: 16px
}

.srv-det .act-links {
flex-direction: column
}

.srv-det .btn-prim,
.srv-det .btn-sec {
width: 100%;
justify-content: center
}

.srv-det .price-card .price-amt {
font-size: 30px
}
}

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

.stud-proj .sp-container {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.stud-proj .sp-heading-grad {
background: linear-gradient(112deg, #71A231, #CD7853);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
display: inline-block
}

.stud-proj .sp-title-block {
background: #fff;
padding-top: 64px;
padding-bottom: 64px;
position: relative
}

.stud-proj .sp-title-block::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle, #71a23121 1px, transparent 1px);
background-size: 22px 22px;
pointer-events: none;
width: 55%;
max-width: 560px
}

.stud-proj .sp-title-inner {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.stud-proj .sp-title-text {
flex: 1 1 0;
min-width: 0
}

.stud-proj .sp-label-tag {
display: inline-block;
font-size: 14px;
letter-spacing: .12em;
color: #CD7853;
border: 1.5px solid #CD7853;
border-radius: 48px;
padding: 8px 16px;
margin-bottom: 16px;
text-transform: uppercase
}

.stud-proj .sp-h1 {
font-size: 56px;
line-height: 1.2;
color: #1b2a14;
margin-bottom: 16px
}

.stud-proj .sp-title-desc {
font-size: 18px;
line-height: 1.7;
color: #2e3d20;
text-align: justified;
max-width: 540px;
margin-bottom: 32px
}

.stud-proj .sp-title-meta {
display: flex;
flex-direction: row;
gap: 32px;
align-items: center
}

.stud-proj .sp-meta-item {
display: flex;
flex-direction: column;
gap: 8px
}

.stud-proj .sp-meta-num {
font-size: 30px;
line-height: 1.2;
color: #CD7853;
font-weight: 700
}

.stud-proj .sp-meta-label {
font-size: 14px;
letter-spacing: .08em;
color: #4a5e35;
text-transform: uppercase
}

.stud-proj .sp-title-img-col {
flex: 0 0 380px;
position: relative
}

.stud-proj .sp-title-img-wrap {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 40px 0 #cd78531f
}

.stud-proj .sp-title-img-wrap img {
width: 380px;
height: 280px;
object-fit: cover;
display: block;
filter: grayscale(100%);
transition: filter .16s cubic-bezier(0.4, 0, 1, 1)
}

.stud-proj .sp-title-img-wrap:hover img {
filter: grayscale(40%)
}

.stud-proj .sp-corner-bracket {
position: absolute;
pointer-events: none
}

.stud-proj .sp-corner-bracket.tl {
top: -8px;
left: -8px;
width: 24px;
height: 24px;
border-top: 3px solid #71A231;
border-left: 3px solid #71A231;
border-radius: 8px 0 0 0
}

.stud-proj .sp-corner-bracket.br {
bottom: -8px;
right: -8px;
width: 24px;
height: 24px;
border-bottom: 3px solid #CD7853;
border-right: 3px solid #CD7853;
border-radius: 0 0 12px 0
}

.stud-proj .sp-divider-tri {
display: block;
width: 100%;
line-height: 0;
margin: 0
}

.stud-proj .sp-divider-tri svg {
display: block;
width: 100%
}

.stud-proj .sp-grid-block {
background: linear-gradient(180deg, #f5f3ee 0%, #e8e5de 100%);
padding-top: 64px;
padding-bottom: 64px;
position: relative
}

.stud-proj .sp-grid-block::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 60% 40% at 70% 30%, #71a23112 0%, transparent 70%);
pointer-events: none;
animation: sp-spotlight 9s ease-in-out infinite alternate
}

@keyframes sp-spotlight {
0% {
background: radial-gradient(ellipse 60% 40% at 70% 30%, #71a23112 0%, transparent 70%)
}

100% {
background: radial-gradient(ellipse 60% 40% at 30% 70%, #cd78530f 0%, transparent 70%)
}
}

.stud-proj .sp-grid-block-inner {
position: relative;
z-index: 1
}

.stud-proj .sp-block-header {
margin-bottom: 48px
}

.stud-proj .sp-h2 {
font-size: 30px;
line-height: 1.2;
color: #1b2a14;
margin-bottom: 16px
}

.stud-proj .sp-block-desc {
font-size: 15px;
line-height: 1.7;
color: #2e3d20;
text-align: justify;
max-width: 620px
}

.stud-proj .sp-proj-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.stud-proj .sp-proj-card {
background: #fff;
border-radius: 12px;
box-shadow: 0 5px 25px 0 #cd785317;
overflow: hidden;
position: relative;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), transform .15s cubic-bezier(0.4, 0, 1, 1)
}

.stud-proj .sp-proj-card::before {
content: '';
position: absolute;
inset: 0;
box-shadow: inset 0 3px 5px 0 #71a2310d;
pointer-events: none;
border-radius: 12px;
z-index: 1
}

.stud-proj .sp-proj-card:hover {
box-shadow: 0 10px 40px 0 #cd78531f;
transform: translateY(-4px)
}

.stud-proj .sp-card-img-wrap {
overflow: hidden;
height: 180px
}

.stud-proj .sp-card-img-wrap img {
width: 100%;
height: 180px;
object-fit: cover;
display: block;
transition: transform .17s cubic-bezier(0.4, 0, 1, 1)
}

.stud-proj .sp-proj-card:hover .sp-card-img-wrap img {
transform: scale(1.04)
}

.stud-proj .sp-card-body {
padding: 32px;
position: relative;
z-index: 2
}

.stud-proj .sp-card-tag {
display: inline-block;
font-size: 14px;
letter-spacing: .1em;
color: #71A231;
border: 1.5px solid #71a23159;
border-radius: 48px;
padding: 8px 16px;
margin-bottom: 16px;
text-transform: uppercase
}

.stud-proj .sp-card-h {
font-size: 18px;
line-height: 1.2;
margin-bottom: 8px
}

.stud-proj .sp-card-author {
font-size: 14px;
letter-spacing: .06em;
color: #CD7853;
margin-bottom: 16px
}

.stud-proj .sp-card-text {
font-size: 15px;
line-height: 1.7;
color: #2e3d20;
text-align: justify
}

.stud-proj .sp-card-footer {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 16px 32px;
border-top: 1px solid #71a23126;
background: #e8e5de66
}

.stud-proj .sp-card-metric {
display: flex;
flex-direction: column;
gap: 4px
}

.stud-proj .sp-card-metric-val {
font-size: 22px;
line-height: 1.2;
color: #CD7853;
font-weight: 700
}

.stud-proj .sp-card-metric-lbl {
font-size: 14px;
color: #4a5e35;
letter-spacing: .06em
}

.stud-proj .sp-card-icon {
width: 40px;
height: 40px;
border-radius: 8px;
background: linear-gradient(112deg, #71a2311f, #cd78531f);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.stud-proj .sp-card-icon .pi {
font-size: 18px;
color: #71A231
}

.stud-proj .sp-proj-card {
animation: sp-drop-in .18s cubic-bezier(0.4, 0, 1, 1) both
}

.stud-proj .sp-proj-card:nth-child(1) {
animation-delay: .04s
}

.stud-proj .sp-proj-card:nth-child(2) {
animation-delay: .09s
}

.stud-proj .sp-proj-card:nth-child(3) {
animation-delay: .13s
}

.stud-proj .sp-proj-card:nth-child(4) {
animation-delay: .17s
}

.stud-proj .sp-proj-card:nth-child(5) {
animation-delay: .21s
}

.stud-proj .sp-proj-card:nth-child(6) {
animation-delay: .25s
}

@keyframes sp-drop-in {
0% {
opacity: 0;
transform: translateY(-18px)
}

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

.stud-proj .sp-divider-tri-2 {
display: block;
width: 100%;
line-height: 0
}

.stud-proj .sp-divider-tri-2 svg {
display: block;
width: 100%
}

.stud-proj .sp-process-block {
background: linear-gradient(180deg, #fff 0%, #f5f3ee 100%);
padding-top: 64px;
padding-bottom: 96px;
position: relative
}

.stud-proj .sp-process-block::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 50% 50% at 20% 60%, #cd78530d 0%, transparent 65%);
pointer-events: none;
animation: sp-spotlight2 11s ease-in-out infinite alternate
}

@keyframes sp-spotlight2 {
0% {
background: radial-gradient(ellipse 50% 50% at 20% 60%, #cd78530d 0%, transparent 65%)
}

100% {
background: radial-gradient(ellipse 50% 50% at 80% 40%, #71a2310d 0%, transparent 65%)
}
}

.stud-proj .sp-process-inner {
position: relative;
z-index: 1
}

.stud-proj .sp-process-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.stud-proj .sp-process-left {
position: relative
}

.stud-proj .sp-process-img-frame {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 40px 0 #71a2311f;
position: relative
}

.stud-proj .sp-process-img-frame img {
width: 100%;
height: 340px;
object-fit: cover;
display: block
}

.stud-proj .sp-proc-bracket-tl {
position: absolute;
top: -8px;
left: -8px;
width: 28px;
height: 28px;
border-top: 3px solid #71A231;
border-left: 3px solid #71A231;
border-radius: 8px 0 0 0;
pointer-events: none
}

.stud-proj .sp-proc-bracket-br {
position: absolute;
bottom: -8px;
right: -8px;
width: 28px;
height: 28px;
border-bottom: 3px solid #CD7853;
border-right: 3px solid #CD7853;
border-radius: 0 0 12px 0;
pointer-events: none
}

.stud-proj .sp-process-right {
padding-top: 8px
}

.stud-proj .sp-process-right .sp-h2 {
margin-bottom: 16px
}

.stud-proj .sp-process-right .sp-block-desc {
margin-bottom: 32px
}

.stud-proj .sp-steps-line {
position: relative;
display: flex;
flex-direction: column;
gap: 0
}

.stud-proj .sp-steps-line::before {
content: '';
position: absolute;
left: 20px;
top: 24px;
bottom: 24px;
width: 2px;
background: linear-gradient(180deg, #71A231 0%, #CD7853 100%);
border-radius: 8px;
pointer-events: none
}

.stud-proj .sp-step {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 16px 0
}

.stud-proj .sp-step-icon-wrap {
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 48px;
background: #fff;
border: 2px solid #71A231;
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 2;
box-shadow: 0 3px 5px 0 #71a23117;
transition: background .13s cubic-bezier(0.4, 0, 1, 1), border-color .13s cubic-bezier(0.4, 0, 1, 1)
}

.stud-proj .sp-step:hover .sp-step-icon-wrap {
background: #71A231;
border-color: #71A231
}

.stud-proj .sp-step:hover .sp-step-icon-wrap .pi {
color: #fff
}

.stud-proj .sp-step-icon-wrap .pi {
font-size: 18px;
color: #71A231;
transition: color .13s cubic-bezier(0.4, 0, 1, 1)
}

.stud-proj .sp-step-body {
flex: 1 1 0;
min-width: 0
}

.stud-proj .sp-step-num {
font-size: 14px;
letter-spacing: .1em;
color: #CD7853;
text-transform: uppercase;
margin-bottom: 4px
}

.stud-proj .sp-step-h {
font-size: 15px;
line-height: 1.2;
color: #1b2a14;
font-weight: 700;
margin-bottom: 8px
}

.stud-proj .sp-step-txt {
font-size: 15px;
line-height: 1.7;
color: #2e3d20;
text-align: justify
}

@media (max-width: 1280px) {
.stud-proj .sp-proj-grid {
grid-template-columns: repeat(2, 1fr)
}

.stud-proj .sp-title-img-col {
flex: 0 0 300px
}

.stud-proj .sp-title-img-wrap img {
width: 300px;
height: 220px
}
}

@media (max-width: 768px) {
.stud-proj .sp-container {
padding-left: 16px;
padding-right: 16px
}

.stud-proj .sp-title-inner {
flex-direction: column;
gap: 32px
}

.stud-proj .sp-title-img-col {
flex: none;
width: 100%
}

.stud-proj .sp-title-img-wrap img {
width: 100%;
height: 200px
}

.stud-proj .sp-h1 {
font-size: 30px
}

.stud-proj .sp-title-meta {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.stud-proj .sp-proj-grid {
grid-template-columns: 1fr
}

.stud-proj .sp-process-layout {
grid-template-columns: 1fr;
gap: 32px
}

.stud-proj .sp-h2 {
font-size: 22px
}
}

.prm-idx .reveal-up {
opacity: 0;
transform: translateY(32px);
animation: revealUp .55s cubic-bezier(0.4, 0, 1, 1) forwards
}

.prm-idx .reveal-up:nth-child(1) {
animation-delay: .05s
}

.prm-idx .reveal-up:nth-child(2) {
animation-delay: .13s
}

.prm-idx .reveal-up:nth-child(3) {
animation-delay: .21s
}

.prm-idx .reveal-up:nth-child(4) {
animation-delay: .29s
}

.prm-idx .reveal-up:nth-child(5) {
animation-delay: .37s
}

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

.prm-idx .pg-lim {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.prm-idx .div-line {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
height: 2px;
margin: 0
}

.prm-idx .div-line span {
display: block;
height: 2px
}

.prm-idx .div-line .dl-left {
flex: 1;
background: #E8E5DE
}

.prm-idx .div-line .dl-mid {
width: 64px;
background: #CD7853;
border-radius: 8px
}

.prm-idx .div-line .dl-right {
flex: 1;
background: #E8E5DE
}

.prm-idx .grad-txt {
background: linear-gradient(120deg, #71A231 0%, #CD7853 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.prm-idx .ttl-blk {
padding-top: 64px;
padding-bottom: 64px;
background: #fff;
position: relative
}

.prm-idx .ttl-blk .ttl-stripe {
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 100%;
background: linear-gradient(180deg, #CD7853 0%, #71A231 100%);
border-radius: 0 8px 8px 0
}

.prm-idx .ttl-inner {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 32px;
align-items: start
}

.prm-idx .ttl-img-wrap {
overflow: hidden;
border-radius: 12px;
box-shadow: 0 5px 25px 0 #cd785317;
border: 2px solid #E8E5DE
}

.prm-idx .ttl-img-wrap img {
width: 100%;
height: 340px;
object-fit: cover;
display: block;
filter: saturate(0.55) contrast(1.08);
transition: filter .15s cubic-bezier(0.4, 0, 1, 1)
}

.prm-idx .ttl-img-wrap:hover img {
filter: saturate(0.8) contrast(1.05)
}

.prm-idx .ttl-txt {
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 16px
}

.prm-idx .ttl-label {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
letter-spacing: .08em;
color: #CD7853;
font-weight: 600
}

.prm-idx .ttl-label .dot-sw {
width: 8px;
height: 8px;
border-radius: 48px;
background: #CD7853;
display: inline-block
}

.prm-idx .ttl-h1 {
font-size: 56px;
line-height: 1.2;
font-weight: 800;
color: #1b1b1b;
margin: 0
}

.prm-idx .ttl-h1 em {
font-style: normal;
display: block;
font-size: 30px;
font-weight: 400;
color: #4a4a4a;
margin-top: 8px
}

.prm-idx .ttl-sub {
font-size: 18px;
line-height: 1.7;
color: #3d3d3d;
margin: 0;
text-align: justified
}

.prm-idx .ttl-act {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
margin-top: 8px
}

.prm-idx .btn-pri {
display: inline-block;
padding: 16px 32px;
background: linear-gradient(110deg, #CD7853 0%, #71A231 100%);
color: #fff;
font-size: 15px;
font-weight: 700;
border-radius: 8px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 0 5px 25px 0 #cd785317;
transition: background .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1)
}

.prm-idx .btn-pri:hover {
background: linear-gradient(250deg, #CD7853 0%, #71A231 100%);
box-shadow: 0 10px 40px 0 #cd78531f;
color: #fff
}

.prm-idx .btn-sec {
display: inline-block;
padding: 16px 32px;
background: transparent;
color: #CD7853;
font-size: 15px;
font-weight: 700;
border-radius: 8px;
border: 2px solid #CD7853;
cursor: pointer;
text-decoration: none;
transition: background .1s ease-in, color .1s ease-in
}

.prm-idx .btn-sec:hover {
background: #CD7853;
color: #fff
}

.prm-idx .gap-blk {
padding-top: 96px;
padding-bottom: 96px;
background: #E8E5DE;
position: relative;
overflow: hidden
}

.prm-idx .gap-blk .circ-deco {
position: absolute;
bottom: -64px;
right: -64px;
width: 240px;
height: 240px;
border-radius: 48px;
border: 1.5px solid #cd78531f;
pointer-events: none
}

.prm-idx .gap-blk .circ-deco-2 {
position: absolute;
bottom: -32px;
right: -32px;
width: 160px;
height: 160px;
border-radius: 48px;
border: 1.5px solid #71a2311a;
pointer-events: none
}

.prm-idx .gap-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center
}

.prm-idx .gap-txt-col {
display: flex;
flex-direction: column;
gap: 16px
}

.prm-idx .sec-label {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
letter-spacing: .07em;
color: #71A231;
font-weight: 600
}

.prm-idx .sec-label .dot-sw-g {
width: 8px;
height: 8px;
border-radius: 48px;
background: #71A231;
display: inline-block
}

.prm-idx .gap-h2 {
font-size: 30px;
line-height: 1.2;
font-weight: 700;
margin: 0
}

.prm-idx .gap-body {
font-size: 15px;
line-height: 1.7;
color: #3d3d3d;
margin: 0;
text-align: justify
}

.prm-idx .gap-steps {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px
}

.prm-idx .gap-step {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
background: #fff;
border-radius: 12px;
padding: 16px;
box-shadow: 0 3px 5px 0 #cd78530d;
border: 1px solid #E8E5DE
}

.prm-idx .gap-step-num {
font-size: 22px;
font-weight: 800;
color: #CD7853;
min-width: 32px;
line-height: 1.2
}

.prm-idx .gap-step-txt {
font-size: 15px;
line-height: 1.7;
color: #3d3d3d;
margin: 0
}

.prm-idx .gap-step-txt strong {
color: #1b1b1b;
display: block;
font-size: 15px;
font-weight: 700
}

.prm-idx .sup-blk {
padding-top: 64px;
padding-bottom: 64px;
background: #fff
}

.prm-idx .sup-inner {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 64px;
align-items: start
}

.prm-idx .sup-txt {
display: flex;
flex-direction: column;
gap: 16px
}

.prm-idx .sup-h2 {
font-size: 30px;
line-height: 1.2;
font-weight: 700;
margin: 0
}

.prm-idx .sup-body {
font-size: 15px;
line-height: 1.7;
color: #3d3d3d;
margin: 0;
text-align: justify
}

.prm-idx .sup-cards {
display: flex;
flex-direction: column;
gap: 16px
}

.prm-idx .sup-card {
border-radius: 12px;
padding: 16px;
background: #fff;
border: 1.5px solid #E8E5DE;
box-shadow: inset 0 2px 8px 0 #cd78530a 0 3px 5px 0 #cd78530d;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start
}

.prm-idx .sup-card-ico {
width: 40px;
height: 40px;
border-radius: 8px;
background: linear-gradient(135deg, #CD7853 0%, #71A231 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.prm-idx .sup-card-ico i {
color: #fff;
font-size: 18px
}

.prm-idx .sup-card-body {
display: flex;
flex-direction: column;
gap: 8px
}

.prm-idx .sup-card-body h5 {
font-size: 15px;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.prm-idx .sup-card-body p {
font-size: 14px;
line-height: 1.7;
color: #5a5a5a;
margin: 0
}

.prm-idx .num-blk {
padding-top: 96px;
padding-bottom: 96px;
background: linear-gradient(155deg, #1b1b1b 0%, #2e2318 100%);
position: relative;
overflow: hidden
}

.prm-idx .num-blk .dot-pattern {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.prm-idx .num-blk .dot-pattern::before {
content: "";
display: block;
position: absolute;
inset: 0;
background-image: radial-gradient(circle, #e8e5de12 1.5px, transparent 1.5px), radial-gradient(circle, #cd78530d 2.5px, transparent 2.5px);
background-size: 28px 28px, 60px 60px;
background-position: 0 0, 14px 14px
}

.prm-idx .num-inner {
position: relative;
display: flex;
flex-direction: column;
gap: 64px
}

.prm-idx .num-head {
display: flex;
flex-direction: column;
gap: 16px;
max-width: 560px
}

.prm-idx .num-label {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
letter-spacing: .07em;
color: #CD7853;
font-weight: 600
}

.prm-idx .num-label .dot-sw-o {
width: 8px;
height: 8px;
border-radius: 48px;
background: #CD7853;
display: inline-block
}

.prm-idx .num-h2 {
font-size: 30px;
line-height: 1.2;
font-weight: 700;
color: #E8E5DE;
margin: 0
}

.prm-idx .num-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px
}

.prm-idx .num-card {
border-radius: 12px;
padding: 32px 16px;
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-start;
border: 1px solid #e8e5de1a;
box-shadow: inset 0 2px 12px 0 #cd78530f
}

.prm-idx .num-card.c1 {
background: #cd78531a;
border-color: #cd785333
}

.prm-idx .num-card.c2 {
background: #71a2311a;
border-color: #71a23133
}

.prm-idx .num-card.c3 {
background: #cd785312;
border-color: #cd785326
}

.prm-idx .num-card.c4 {
background: #71a23112;
border-color: #71a23126
}

.prm-idx .num-big {
font-size: 56px;
font-weight: 800;
line-height: 1.2;
color: #E8E5DE
}

.prm-idx .num-card.c1 .num-big {
color: #CD7853
}

.prm-idx .num-card.c2 .num-big {
color: #71A231
}

.prm-idx .num-card.c3 .num-big {
color: #CD7853
}

.prm-idx .num-card.c4 .num-big {
color: #71A231
}

.prm-idx .num-desc {
font-size: 14px;
line-height: 1.7;
color: #e8e5debf;
margin: 0
}

.prm-idx .appr-blk {
padding-top: 64px;
padding-bottom: 64px;
background: #fff
}

.prm-idx .appr-inner {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 64px;
align-items: start
}

.prm-idx .appr-aside {
display: flex;
flex-direction: column;
gap: 16px;
position: sticky;
top: 32px
}

.prm-idx .appr-h2 {
font-size: 30px;
line-height: 1.2;
font-weight: 700;
margin: 0
}

.prm-idx .appr-sub {
font-size: 15px;
line-height: 1.7;
color: #5a5a5a;
margin: 0;
text-align: justify
}

.prm-idx .appr-img-wrap {
overflow: hidden;
border-radius: 12px;
border: 2px solid #E8E5DE;
box-shadow: 0 10px 40px 0 #cd78531f
}

.prm-idx .appr-img-wrap img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
filter: saturate(0.6) contrast(1.05)
}

.prm-idx .appr-rows {
display: flex;
flex-direction: column;
gap: 32px
}

.prm-idx .appr-row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding-bottom: 32px;
border-bottom: 1px solid #E8E5DE
}

.prm-idx .appr-row:last-child {
border-bottom: none;
padding-bottom: 0
}

.prm-idx .appr-row-num {
font-size: 22px;
font-weight: 800;
color: #E8E5DE;
min-width: 48px;
line-height: 1.2;
text-align: right
}

.prm-idx .appr-row-body {
display: flex;
flex-direction: column;
gap: 8px
}

.prm-idx .appr-row-body h4 {
font-size: 18px;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.prm-idx .appr-row-body p {
font-size: 15px;
line-height: 1.7;
color: #3d3d3d;
margin: 0;
text-align: justify
}

.prm-idx .rep-blk {
padding-top: 96px;
padding-bottom: 96px;
background: #E8E5DE;
position: relative;
overflow: hidden
}

.prm-idx .rep-blk .circ-rep {
position: absolute;
top: -80px;
left: -80px;
width: 280px;
height: 280px;
border-radius: 48px;
border: 1.5px solid #71a2311a;
pointer-events: none
}

.prm-idx .rep-blk .circ-rep-2 {
position: absolute;
top: -48px;
left: -48px;
width: 180px;
height: 180px;
border-radius: 48px;
border: 1.5px solid #cd785314;
pointer-events: none
}

.prm-idx .rep-inner {
display: flex;
flex-direction: column;
gap: 64px
}

.prm-idx .rep-head {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-end;
gap: 32px
}

.prm-idx .rep-head-txt {
display: flex;
flex-direction: column;
gap: 16px;
max-width: 560px
}

.prm-idx .rep-h2 {
font-size: 30px;
line-height: 1.2;
font-weight: 700;
margin: 0
}

.prm-idx .rep-body {
font-size: 15px;
line-height: 1.7;
color: #3d3d3d;
margin: 0;
text-align: justify
}

.prm-idx .rep-refs {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.prm-idx .rep-ref {
background: #fff;
border-radius: 12px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 0 5px 25px 0 #71a23117;
border: 1px solid #71a2311a
}

.prm-idx .rep-ref-ico {
width: 48px;
height: 48px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center
}

.prm-idx .rep-ref.r1 .rep-ref-ico {
background: #cd78531a
}

.prm-idx .rep-ref.r2 .rep-ref-ico {
background: #71a2311a
}

.prm-idx .rep-ref.r3 .rep-ref-ico {
background: #cd785312
}

.prm-idx .rep-ref-ico i {
font-size: 22px
}

.prm-idx .rep-ref.r1 .rep-ref-ico i {
color: #CD7853
}

.prm-idx .rep-ref.r2 .rep-ref-ico i {
color: #71A231
}

.prm-idx .rep-ref.r3 .rep-ref-ico i {
color: #CD7853
}

.prm-idx .rep-ref h5 {
font-size: 15px;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.prm-idx .rep-ref p {
font-size: 14px;
line-height: 1.7;
color: #5a5a5a;
margin: 0
}

.prm-idx .rep-quote {
background: linear-gradient(155deg, #CD7853 0%, #71A231 100%);
border-radius: 12px;
padding: 32px;
display: flex;
flex-direction: row;
gap: 32px;
align-items: center
}

.prm-idx .rep-quote-mark {
font-size: 56px;
line-height: 1.2;
color: #ffffff4d;
font-weight: 800;
flex-shrink: 0;
align-self: flex-start
}

.prm-idx .rep-quote-body {
display: flex;
flex-direction: column;
gap: 8px
}

.prm-idx .rep-quote-body blockquote {
font-size: 18px;
line-height: 1.7;
color: #fff;
margin: 0;
font-style: italic
}

.prm-idx .rep-quote-body cite {
font-size: 14px;
color: #fffc;
font-style: normal;
font-weight: 600;
letter-spacing: .05em
}

.prm-idx .team-blk {
padding-top: 64px;
padding-bottom: 96px;
background: #fff
}

.prm-idx .team-inner {
display: flex;
flex-direction: column;
gap: 64px
}

.prm-idx .team-head {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: end
}

.prm-idx .team-h2 {
font-size: 30px;
line-height: 1.2;
font-weight: 700;
margin: 0
}

.prm-idx .team-intro {
font-size: 15px;
line-height: 1.7;
color: #3d3d3d;
margin: 0;
text-align: justify
}

.prm-idx .team-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.prm-idx .team-member {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 5px 25px 0 #cd785317;
border: 1.5px solid #E8E5DE;
display: flex;
flex-direction: column
}

.prm-idx .team-member-top {
padding: 32px 32px 16px;
display: flex;
flex-direction: column;
gap: 8px
}

.prm-idx .team-member-av {
width: 56px;
height: 56px;
border-radius: 48px;
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
font-weight: 800;
color: #fff;
margin-bottom: 8px
}

.prm-idx .team-member.tm1 .team-member-av {
background: linear-gradient(135deg, #CD7853 0%, #71A231 100%)
}

.prm-idx .team-member.tm2 .team-member-av {
background: linear-gradient(135deg, #71A231 0%, #CD7853 100%)
}

.prm-idx .team-member.tm3 .team-member-av {
background: linear-gradient(225deg, #CD7853 0%, #71A231 100%)
}

.prm-idx .team-member-top h4 {
font-size: 18px;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.prm-idx .team-member-top .role-tag {
font-size: 14px;
color: #CD7853;
font-weight: 600;
letter-spacing: .05em
}

.prm-idx .team-member-bot {
padding: 0 32px 32px;
flex: 1;
display: flex;
flex-direction: column;
gap: 8px
}

.prm-idx .team-member-bot p {
font-size: 14px;
line-height: 1.7;
color: #5a5a5a;
margin: 0;
text-align: justify
}

.prm-idx .team-member-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px
}

.prm-idx .tag-pill {
font-size: 14px;
padding: 8px 16px;
border-radius: 8px;
background: #E8E5DE;
color: #3d3d3d;
font-weight: 600
}

.prm-idx .team-member.tm1 .tag-pill {
background: #cd78531a;
color: #CD7853
}

.prm-idx .team-member.tm2 .tag-pill {
background: #71a2311a;
color: #71A231
}

.prm-idx .team-member.tm3 .tag-pill {
background: #cd785314;
color: #CD7853
}

.prm-idx .team-link-row {
display: flex;
flex-direction: row;
justify-content: center;
gap: 16px
}

@media (max-width: 1280px) {
.prm-idx .num-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 768px) {
.prm-idx .ttl-inner {
grid-template-columns: 1fr
}

.prm-idx .ttl-img-wrap:last-child {
display: none
}

.prm-idx .ttl-h1 {
font-size: 30px
}

.prm-idx .gap-inner {
grid-template-columns: 1fr;
gap: 32px
}

.prm-idx .sup-inner {
grid-template-columns: 1fr;
gap: 32px
}

.prm-idx .num-grid {
grid-template-columns: 1fr 1fr;
gap: 16px
}

.prm-idx .num-big {
font-size: 30px
}

.prm-idx .appr-inner {
grid-template-columns: 1fr;
gap: 32px
}

.prm-idx .appr-aside {
position: static
}

.prm-idx .rep-refs {
grid-template-columns: 1fr;
gap: 16px
}

.prm-idx .rep-head {
flex-direction: column;
align-items: flex-start
}

.prm-idx .team-head {
grid-template-columns: 1fr;
gap: 16px
}

.prm-idx .team-grid {
grid-template-columns: 1fr;
gap: 16px
}

.prm-idx .rep-quote {
flex-direction: column;
gap: 16px
}

.prm-idx .pg-lim {
padding-left: 16px;
padding-right: 16px
}
}

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

.srvs-pg .pg-band {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.srvs-pg .ttl-blk {
position: relative;
padding-top: 96px;
padding-bottom: 64px;
background: linear-gradient(170deg, transparent 0%, #E8E5DE 100%);
overflow: hidden
}

.srvs-pg .ttl-blk::before {
content: '';
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(0deg, transparent, transparent 28px, #cd785312 28px, #cd785312 29px), repeating-linear-gradient(90deg, transparent, transparent 28px, #71a2310d 28px, #71a2310d 29px);
pointer-events: none
}

.srvs-pg .ttl-blk .img-side {
position: absolute;
top: 0;
right: 0;
width: 45%;
height: 100%
}

.srvs-pg .ttl-blk .img-side img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.srvs-pg .ttl-blk .img-side::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to right, #E8E5DE 0%, #e8e5de99 50%, transparent 100%)
}

.srvs-pg .ttl-blk .txt-side {
position: relative;
z-index: 1;
max-width: 580px
}

.srvs-pg .ttl-label {
display: inline-block;
font-size: 14px;
letter-spacing: .12em;
color: #CD7853;
text-transform: uppercase;
border: 1px solid #cd785359;
border-radius: 48px;
padding: 8px 16px;
margin-bottom: 32px
}

.srvs-pg .ttl-h1 {
font-size: 56px;
line-height: 1.2;
margin-bottom: 16px;
background: linear-gradient(135deg, #71A231 0%, #CD7853 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srvs-pg .ttl-sub {
font-size: 18px;
line-height: 1.7;
color: #3a3028;
margin-bottom: 32px;
max-width: 480px
}

.srvs-pg .draw-line {
width: 0;
height: 3px;
background: linear-gradient(90deg, #CD7853, #71A231);
border-radius: 8px;
animation: drawline .16s cubic-bezier(0.4, 0, 1, 1) .2s forwards
}

@keyframes drawline {
to {
width: 120px
}
}

.srvs-pg .cards-area {
padding-top: 64px;
padding-bottom: 64px;
background: #fff
}

.srvs-pg .cards-area .area-lbl {
font-size: 14px;
letter-spacing: .1em;
text-transform: uppercase;
color: #71A231;
margin-bottom: 8px
}

.srvs-pg .cards-area .area-hdg {
font-size: 30px;
line-height: 1.2;
color: #2a2018;
margin-bottom: 32px
}

.srvs-pg .card-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.srvs-pg .svc-card {
border-radius: 12px;
background: #fff;
box-shadow: 0 5px 25px 0 #cd785317;
border: 1px solid #e8e5dee6;
display: flex;
flex-direction: column;
overflow: hidden;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), transform .15s cubic-bezier(0.4, 0, 1, 1)
}

.srvs-pg .svc-card:hover {
box-shadow: 0 10px 40px 0 #cd78531f;
transform: translateY(-4px)
}

.srvs-pg .card-img-wrap {
position: relative;
height: 180px;
overflow: hidden;
background: #E8E5DE;
display: flex;
align-items: center;
justify-content: center
}

.srvs-pg .card-img-wrap .user-badge {
position: absolute;
top: 16px;
left: 16px;
z-index: 2;
background: #ffffffeb;
border-radius: 48px;
padding: 8px 16px;
font-size: 14px;
color: #CD7853;
font-weight: 600;
letter-spacing: .04em;
box-shadow: 0 3px 5px 0 #cd78530d
}

.srvs-pg .card-img-wrap .seats-badge {
position: absolute;
top: 16px;
right: 16px;
z-index: 2;
background: #71A231;
border-radius: 48px;
padding: 8px 16px;
font-size: 14px;
color: #fff;
font-weight: 600
}

.srvs-pg .card-img-placeholder {
width: 100%;
height: 100%;
background: linear-gradient(135deg, #E8E5DE 0%, #cd78531f 100%);
display: flex;
align-items: center;
justify-content: center
}

.srvs-pg .card-img-placeholder .ph-icon {
width: 48px;
height: 48px;
opacity: .35
}

.srvs-pg .card-body {
padding: 32px;
display: flex;
flex-direction: column;
flex: 1;
box-shadow: inset 0 2px 8px 0 #71a2310a
}

.srvs-pg .card-title {
font-size: 18px;
line-height: 1.2;
color: #2a2018;
margin-bottom: 8px;
background: linear-gradient(120deg, #71A231 0%, #CD7853 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srvs-pg .card-desc {
font-size: 15px;
line-height: 1.7;
color: #4a3f35;
margin-bottom: 16px;
text-align: justify;
flex: 1
}

.srvs-pg .card-meta {
display: flex;
flex-direction: row;
gap: 16px;
margin-bottom: 16px;
padding: 16px;
background: #e8e5de80;
border-radius: 8px;
align-items: center;
flex-wrap: wrap
}

.srvs-pg .card-meta .meta-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 14px;
color: #5a4f45
}

.srvs-pg .card-meta .meta-item i {
color: #CD7853;
font-size: 14px
}

.srvs-pg .card-price-row {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 16px;
gap: 8px
}

.srvs-pg .price-val {
font-size: 22px;
line-height: 1.2;
color: #CD7853;
font-weight: 700
}

.srvs-pg .price-note {
font-size: 14px;
color: #7a6f65;
line-height: 1.7
}

.srvs-pg .card-cta {
display: block;
background: linear-gradient(135deg, #CD7853 0%, #71A231 100%);
color: #fff;
text-align: center;
border-radius: 8px;
padding: 16px;
font-size: 15px;
font-weight: 600;
text-decoration: none;
transition: background .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
letter-spacing: .03em
}

.srvs-pg .card-cta:hover {
background: linear-gradient(315deg, #CD7853 0%, #71A231 100%);
box-shadow: 0 5px 25px 0 #cd785317;
color: #fff
}

.srvs-pg .card-cta:focus {
outline: 2px solid #CD7853;
outline-offset: 2px
}

.srvs-pg .diff-blk {
padding-top: 96px;
padding-bottom: 96px;
background: linear-gradient(160deg, #E8E5DE 0%, #e8e5de66 100%);
position: relative
}

.srvs-pg .diff-blk::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent, #CD7853, #71A231, transparent)
}

.srvs-pg .diff-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.srvs-pg .diff-txt .diff-hdg {
font-size: 30px;
line-height: 1.2;
color: #2a2018;
margin-bottom: 16px;
background: linear-gradient(120deg, #71A231 0%, #CD7853 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srvs-pg .diff-txt .diff-para {
font-size: 15px;
line-height: 1.7;
color: #3a3028;
text-align: justify;
margin-bottom: 16px
}

.srvs-pg .diff-dashed {
border: none;
border-top: 2px dashed #cd785366;
margin: 32px 0
}

.srvs-pg .diff-stats {
display: flex;
flex-direction: column;
gap: 32px
}

.srvs-pg .stat-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding: 32px;
background: #fff;
border-radius: 12px;
box-shadow: 0 3px 5px 0 #71a2310d;
border-left: 4px solid #71A231;
border-top: 1px solid #71a23126;
position: relative
}

.srvs-pg .stat-row:focus-within .stat-tip {
opacity: 1;
pointer-events: auto
}

.srvs-pg .stat-num {
font-size: 30px;
line-height: 1.2;
color: #CD7853;
font-weight: 700;
min-width: 80px
}

.srvs-pg .stat-lbl {
font-size: 15px;
line-height: 1.7;
color: #3a3028
}

.srvs-pg .stat-tip {
position: absolute;
bottom: calc(100% + 8px);
left: 32px;
background: #2a2018;
color: #E8E5DE;
font-size: 14px;
padding: 8px 16px;
border-radius: 8px;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity .14s cubic-bezier(0.4, 0, 1, 1);
z-index: 10
}

.srvs-pg .stat-row:hover .stat-tip {
opacity: 1
}

.srvs-pg .stat-tip::after {
content: '';
position: absolute;
top: 100%;
left: 24px;
border: 6px solid transparent;
border-top-color: #2a2018
}

.srvs-pg .faq-blk {
padding-top: 64px;
padding-bottom: 96px;
background: #fff;
position: relative
}

.srvs-pg .faq-blk::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, #71A231, transparent)
}

.srvs-pg .faq-hdg {
font-size: 30px;
line-height: 1.2;
color: #2a2018;
margin-bottom: 32px;
background: linear-gradient(120deg, #CD7853 0%, #71A231 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srvs-pg .faq-list {
display: flex;
flex-direction: column;
gap: 16px;
max-width: 760px
}

.srvs-pg .faq-item {
border-radius: 12px;
border: 1px solid #cd785333;
overflow: hidden
}

.srvs-pg .faq-item summary {
padding: 32px;
font-size: 18px;
line-height: 1.2;
color: #2a2018;
cursor: pointer;
list-style: none;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
gap: 16px;
background: #e8e5de4d;
transition: background .12s cubic-bezier(0.4, 0, 1, 1)
}

.srvs-pg .faq-item summary::-webkit-details-marker {
display: none
}

.srvs-pg .faq-item summary:hover {
background: #e8e5deb3
}

.srvs-pg .faq-item[open] summary {
background: #cd785314
}

.srvs-pg .faq-icon {
width: 24px;
height: 24px;
flex-shrink: 0;
position: relative
}

.srvs-pg .faq-icon::before,
.srvs-pg .faq-icon::after {
content: '';
position: absolute;
background: #CD7853;
border-radius: 2px;
transition: transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.srvs-pg .faq-icon::before {
width: 14px;
height: 2px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%)
}

.srvs-pg .faq-icon::after {
width: 2px;
height: 14px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%)
}

.srvs-pg .faq-item[open] .faq-icon::after {
transform: translate(-50%, -50%) rotate(90deg)
}

.srvs-pg .faq-ans {
padding: 32px;
padding-top: 16px;
font-size: 15px;
line-height: 1.7;
color: #4a3f35;
text-align: justify
}

@media (max-width: 1280px) {
.srvs-pg .card-grid {
grid-template-columns: repeat(2, 1fr)
}

.srvs-pg .ttl-h1 {
font-size: 30px
}

.srvs-pg .ttl-blk .img-side {
width: 40%
}
}

@media (max-width: 768px) {
.srvs-pg .pg-band {
padding-left: 16px;
padding-right: 16px
}

.srvs-pg .ttl-blk {
padding-top: 64px;
padding-bottom: 32px
}

.srvs-pg .ttl-blk .img-side {
display: none
}

.srvs-pg .ttl-h1 {
font-size: 30px
}

.srvs-pg .card-grid {
grid-template-columns: 1fr
}

.srvs-pg .diff-inner {
grid-template-columns: 1fr;
gap: 32px
}

.srvs-pg .diff-blk {
padding-top: 64px;
padding-bottom: 64px
}

.srvs-pg .faq-item summary {
font-size: 15px;
padding: 16px
}

.srvs-pg .faq-ans {
padding: 16px
}
}

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

.ctus .pg-band {
width: 100%;
max-width: 1140px;
margin: 0 auto;
padding: 0 32px
}

.ctus .entry-row {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 64px;
padding: 96px 0
}

.ctus .entry-left {
flex: 1 1 420px;
display: flex;
flex-direction: column;
gap: 32px;
position: relative
}

.ctus .entry-left::before {
content: '';
position: absolute;
top: -32px;
left: -32px;
width: 180px;
height: 180px;
border: 1px solid #cd78531f;
border-radius: 50%;
pointer-events: none
}

.ctus .entry-left::after {
content: '';
position: absolute;
top: -16px;
left: -16px;
width: 150px;
height: 150px;
border: 1px solid #cd785314;
border-radius: 50%;
pointer-events: none
}

.ctus .entry-kicker {
display: inline-block;
font-size: 14px;
font-weight: 600;
letter-spacing: .12em;
color: #CD7853;
text-transform: uppercase;
padding: 8px 16px;
border-radius: 48px;
background: #cd785314;
border: 1px solid #cd785333;
width: fit-content
}

.ctus .entry-h {
font-size: 30px;
line-height: 1.2;
font-weight: 700;
color: #1e1e1e;
margin: 0
}

.ctus .entry-h em {
font-style: normal;
background: linear-gradient(110deg, #CD7853, #71A231);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.ctus .entry-desc {
font-size: 15px;
line-height: 1.7;
color: #3a3a3a;
text-align: justify;
margin: 0
}

.ctus .addr-block {
display: flex;
flex-direction: column;
gap: 16px;
border-left: 4px solid #CD7853;
padding-left: 16px;
background: linear-gradient(to right, #cd78530a, transparent);
border-radius: 0 8px 8px 0
}

.ctus .addr-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.ctus .addr-icon {
width: 36px;
height: 36px;
border-radius: 8px;
background: #cd78531a;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.ctus .addr-icon i {
font-size: 15px;
color: #CD7853
}

.ctus .addr-text {
display: flex;
flex-direction: column;
gap: 0
}

.ctus .addr-label {
font-size: 14px;
font-weight: 600;
letter-spacing: .06em;
color: #71A231;
text-transform: uppercase
}

.ctus .addr-val {
font-size: 15px;
line-height: 1.7;
color: #2a2a2a;
margin: 0
}

.ctus .addr-val a {
color: #2a2a2a;
text-decoration: none;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .addr-val a:hover {
color: #CD7853
}

.ctus .img-frame {
position: relative;
border-radius: 12px;
overflow: hidden;
width: 100%;
max-width: 340px;
margin-top: 8px;
box-shadow: 0 10px 40px 0 #cd78531f
}

.ctus .img-frame img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
filter: sepia(0.3) contrast(1.05) brightness(0.95) saturate(0.85);
transition: filter .15s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .img-frame:hover img {
filter: sepia(0) contrast(1) brightness(1) saturate(1)
}

.ctus .img-frame .img-overlay {
position: absolute;
inset: 0;
background: #1e140a00;
display: flex;
align-items: flex-end;
padding: 16px;
transition: background .15s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .img-frame:hover .img-overlay {
background: #1e140a8c
}

.ctus .img-caption {
font-size: 14px;
color: #fff;
font-weight: 600;
opacity: 0;
transition: opacity .12s cubic-bezier(0.4, 0, 1, 1);
letter-spacing: .04em
}

.ctus .img-frame:hover .img-caption {
opacity: 1
}

.ctus .img-corner {
position: absolute;
top: 10px;
left: 10px;
width: 18px;
height: 18px;
border-top: 2px solid #cd7853b3;
border-left: 2px solid #cd7853b3;
pointer-events: none
}

.ctus .img-corner-br {
position: absolute;
bottom: 10px;
right: 10px;
width: 18px;
height: 18px;
border-bottom: 2px solid #cd7853b3;
border-right: 2px solid #cd7853b3;
pointer-events: none
}

.ctus .entry-right {
flex: 1 1 480px;
display: flex;
flex-direction: column
}

.ctus .form-card {
background: #fff;
border-radius: 12px;
box-shadow: 0 5px 25px 0 #cd785317 inset 0 1px 3px 0 #cd78530d;
padding: 32px;
border: 1px solid #e8e5decc;
border-left: 4px solid #CD7853
}

.ctus .form-title {
font-size: 22px;
font-weight: 700;
color: #1e1e1e;
margin: 0 0 8px;
line-height: 1.2
}

.ctus .form-sub {
font-size: 14px;
color: #5a5a5a;
line-height: 1.7;
margin: 0 0 32px
}

.ctus .field-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-bottom: 16px
}

.ctus .field-col {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1
}

.ctus .field-col.full {
flex: 1 1 100%
}

.ctus .f-label {
font-size: 14px;
font-weight: 600;
color: #2a2a2a;
letter-spacing: .04em
}

.ctus .f-label span {
color: #CD7853;
margin-left: 2px
}

.ctus .f-input {
padding: 12px 16px;
border: 1.5px solid #E8E5DE;
border-radius: 8px;
font-size: 15px;
color: #1e1e1e;
background: #fff;
transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
outline: none;
width: 100%;
box-sizing: border-box
}

.ctus .f-input::placeholder {
color: #1e1e1e59
}

.ctus .f-input:focus {
border-color: #CD7853;
box-shadow: 0 3px 5px 0 #cd78530d
}

.ctus .f-select {
padding: 12px 16px;
border: 1.5px solid #E8E5DE;
border-radius: 8px;
font-size: 15px;
color: #1e1e1e;
background: #fff;
transition: border-color .12s cubic-bezier(0.4, 0, 1, 1);
outline: none;
width: 100%;
box-sizing: border-box;
cursor: pointer;
appearance: none;
-webkit-appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23CD7853' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 40px
}

.ctus .f-select:focus {
border-color: #CD7853
}

.ctus .time-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
margin-bottom: 16px
}

.ctus .time-opt {
position: relative
}

.ctus .time-opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.ctus .time-opt label {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 12px 8px;
border: 1.5px solid #E8E5DE;
border-radius: 8px;
cursor: pointer;
font-size: 14px;
color: #3a3a3a;
text-align: center;
transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), background .12s cubic-bezier(0.4, 0, 1, 1);
line-height: 1.2;
gap: 4px;
background: #fff
}

.ctus .time-opt label strong {
font-size: 15px;
color: #1e1e1e
}

.ctus .time-opt input[type="radio"]:checked+label {
border-color: #CD7853 !important;
background: #cd785312;
color: #CD7853
}

.ctus .time-opt input[type="radio"]:checked+label strong {
color: #CD7853
}

.ctus .time-opt label:hover {
border-color: #cd785380
}

.ctus .time-section-label {
font-size: 14px;
font-weight: 600;
color: #2a2a2a;
letter-spacing: .04em;
margin-bottom: 8px;
display: block
}

.ctus .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin: 16px 0;
padding: 16px;
background: #e8e5de4d;
border-radius: 8px
}

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

.ctus .privacy-text {
font-size: 14px;
line-height: 1.7;
color: #4a4a4a;
margin: 0
}

.ctus .privacy-text a {
color: #CD7853;
text-decoration: underline;
text-decoration-color: #cd785366;
transition: color .1s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .privacy-text a:hover {
color: #71A231
}

.ctus .submit-btn {
width: 100%;
padding: 16px 32px;
border: none;
border-radius: 8px;
font-size: 15px;
font-weight: 700;
color: #fff;
background: linear-gradient(110deg, #CD7853, #71A231);
cursor: pointer;
letter-spacing: .05em;
transition: background .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 0 5px 25px 0 #cd785317
}

.ctus .submit-btn:hover {
background: linear-gradient(200deg, #CD7853, #71A231);
box-shadow: 0 10px 40px 0 #cd78531f
}

.ctus .submit-btn:active {
background: linear-gradient(290deg, #CD7853, #71A231);
box-shadow: 0 3px 5px 0 #cd78530d
}

.ctus .submit-btn:focus-visible {
outline: 2px solid #CD7853;
outline-offset: 3px
}

.ctus .divider-chevron {
width: 100%;
overflow: hidden;
line-height: 0;
display: block
}

.ctus .divider-chevron svg {
display: block;
width: 100%
}

.ctus .detail-band {
background: linear-gradient(to right, #cd785314, #e8e5de26);
padding: 64px 0;
position: relative;
overflow: hidden
}

.ctus .detail-band::before {
content: '';
position: absolute;
bottom: -60px;
right: -60px;
width: 200px;
height: 200px;
border: 1px solid #71a2311a;
border-radius: 50%;
pointer-events: none
}

.ctus .detail-band::after {
content: '';
position: absolute;
bottom: -30px;
right: -30px;
width: 140px;
height: 140px;
border: 1px solid #71a23112;
border-radius: 50%;
pointer-events: none
}

.ctus .detail-inner {
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start
}

.ctus .detail-narrative {
flex: 1 1 420px;
display: flex;
flex-direction: column;
gap: 16px
}

.ctus .detail-h {
font-size: 22px;
font-weight: 700;
line-height: 1.2;
color: #1e1e1e;
margin: 0;
background: linear-gradient(110deg, #71A231, #CD7853);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.ctus .detail-p {
font-size: 15px;
line-height: 1.7;
color: #3a3a3a;
text-align: justify;
margin: 0
}

.ctus .detail-table-wrap {
flex: 1 1 380px;
overflow: hidden;
border-radius: 12px;
box-shadow: 0 5px 25px 0 #71a23117;
border: 1px solid #e8e5dee6
}

.ctus .resp-table {
width: 100%;
border-collapse: collapse
}

.ctus .resp-table thead tr {
background: linear-gradient(110deg, #CD7853, #71A231)
}

.ctus .resp-table thead th {
font-size: 14px;
font-weight: 700;
color: #fff;
padding: 12px 16px;
text-align: left;
letter-spacing: .05em
}

.ctus .resp-table tbody tr {
border-bottom: 1px solid #e8e5de99
}

.ctus .resp-table tbody tr:last-child {
border-bottom: none
}

.ctus .resp-table tbody td {
font-size: 14px;
padding: 12px 16px;
color: #2a2a2a;
line-height: 1.2
}

.ctus .resp-table tbody tr:nth-child(odd) {
background: #e8e5de33
}

.ctus .resp-table tbody tr:nth-child(even) {
background: #fff
}

.ctus .cell-fast {
color: #71A231;
font-weight: 600
}

.ctus .cell-mid {
color: #CD7853;
font-weight: 600
}

.ctus .cell-slow {
color: #8a6a50;
font-weight: 600
}

.ctus .icon-spin {
display: inline-flex;
align-items: center;
justify-content: center
}

.ctus .icon-spin i {
transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .addr-item:focus-within .icon-spin i,
.ctus .addr-item:hover .icon-spin i {
transform: rotate(20deg)
}

@keyframes col-appear {
from {
opacity: 0;
transform: translateY(16px)
}

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

.ctus .entry-left {
animation: col-appear .16s cubic-bezier(0.4, 0, 1, 1) both
}

.ctus .entry-right {
animation: col-appear .16s cubic-bezier(0.4, 0, 1, 1) .08s both
}

@media (max-width: 1280px) {
.ctus .entry-row {
gap: 32px
}

.ctus .detail-inner {
gap: 32px
}
}

@media (max-width: 768px) {
.ctus .entry-row {
flex-direction: column;
gap: 32px;
padding: 64px 0
}

.ctus .entry-left {
flex: none
}

.ctus .entry-right {
flex: none
}

.ctus .field-row {
flex-direction: column
}

.ctus .detail-inner {
flex-direction: column;
gap: 32px
}

.ctus .time-grid {
grid-template-columns: repeat(2, 1fr)
}

.ctus .img-frame {
max-width: 100%
}
}

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

.abt-us .pg-wrap {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px
}

.abt-us .grad-text {
background: linear-gradient(110deg, #71A231, #CD7853);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.abt-us .title-blk {
padding: 96px 32px 64px;
background: #fff;
position: relative
}

.abt-us .title-blk .dot-grid {
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 520px;
height: 180px;
background-image: radial-gradient(circle, #cd78532e 1.5px, transparent 1.5px);
background-size: 22px 22px;
pointer-events: none;
overflow: hidden
}

.abt-us .title-blk .arrow-deco {
position: absolute;
right: 64px;
top: 50%;
transform: translateY(-50%);
opacity: .13;
pointer-events: none
}

.abt-us .title-blk .arrow-deco svg {
width: 48px;
height: 96px
}

.abt-us .title-blk-inner {
max-width: 1140px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px
}

.abt-us .title-img-wrap {
width: 100%;
max-width: 820px;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 40px 0 #cd78531f;
position: relative
}

.abt-us .title-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, #71a2312e 0%, #cd785338 100%);
mix-blend-mode: multiply;
pointer-events: none
}

.abt-us .title-img-wrap img {
width: 100%;
height: 360px;
object-fit: cover;
display: block;
filter: grayscale(8%) contrast(1.04)
}

.abt-us .title-text-zone {
text-align: center;
max-width: 720px;
position: relative;
z-index: 1;
padding: 0 16px 32px
}

.abt-us .title-text-zone h1 {
font-size: 56px;
line-height: 1.2;
letter-spacing: -.5px;
margin-bottom: 16px;
color: #1a2a0e
}

.abt-us .title-text-zone h1 span {
display: block;
font-size: 56px;
line-height: 1.2
}

.abt-us .title-text-zone h1 span.line-lg {
font-size: 56px
}

.abt-us .title-text-zone .sub-line {
font-size: 18px;
line-height: 1.7;
color: #3a3a2e;
text-align: justify;
max-width: 600px;
margin: 0 auto
}

.abt-us .divider-band {
height: 6px;
background: linear-gradient(90deg, #71A231 0%, #e8e5de00 100%);
width: 100%
}

.abt-us .detail-sec {
padding: 96px 32px;
background: #E8E5DE;
position: relative
}

.abt-us .detail-sec .arrow-deco-left {
position: absolute;
left: 32px;
top: 64px;
opacity: .11;
pointer-events: none
}

.abt-us .detail-sec .arrow-deco-left svg {
width: 40px;
height: 80px
}

.abt-us .detail-inner {
max-width: 1140px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.abt-us .detail-left {
display: flex;
flex-direction: column;
gap: 32px
}

.abt-us .detail-left h2 {
font-size: 30px;
line-height: 1.2;
color: #1a2a0e;
margin: 0
}

.abt-us .detail-left p {
font-size: 15px;
line-height: 1.7;
color: #2e2e22;
text-align: justify;
margin: 0
}

.abt-us .infographic {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.abt-us .info-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #fff;
border-radius: 8px;
padding: 8px 16px;
box-shadow: 0 3px 5px 0 #cd78530d;
flex: 1 1 120px;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1)
}

.abt-us .info-item:hover {
box-shadow: 0 5px 25px 0 #cd785317
}

.abt-us .info-icon-bg {
width: 36px;
height: 36px;
border-radius: 8px;
background: #CD7853;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-shadow: 0 5px 25px 0 #cd785317;
flex-shrink: 0
}

.abt-us .info-icon-bg.green {
background: #71A231;
box-shadow: 0 5px 25px 0 #71a23117
}

.abt-us .info-icon-bg i {
font-size: 15px;
color: #fff
}

.abt-us .info-text {
display: flex;
flex-direction: column;
gap: 0
}

.abt-us .info-num {
font-size: 18px;
line-height: 1.2;
color: #CD7853;
font-weight: 700
}

.abt-us .info-label {
font-size: 14px;
line-height: 1.2;
color: #3a3a2e;
letter-spacing: .04em
}

.abt-us .detail-right {
display: flex;
flex-direction: column;
gap: 32px
}

.abt-us .detail-right h3 {
font-size: 22px;
line-height: 1.2;
color: #1a2a0e;
margin: 0
}

.abt-us .checkerboard {
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .chk-row {
display: flex;
flex-direction: row;
gap: 16px
}

.abt-us .chk-row.offset {
padding-left: 32px
}

.abt-us .chk-card {
background: #fff;
border-radius: 12px;
padding: 16px;
flex: 1;
box-shadow: inset 0 2px 8px 0 #cd78530f 0 3px 5px 0 #cd78530d;
transition: box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
display: flex;
flex-direction: column;
gap: 8px
}

.abt-us .chk-card:hover {
box-shadow: inset 0 2px 8px 0 #cd78530f 0 10px 40px 0 #cd78531f
}

.abt-us .chk-card h4 {
font-size: 15px;
line-height: 1.2;
color: #1a2a0e;
margin: 0
}

.abt-us .chk-card p {
font-size: 14px;
line-height: 1.7;
color: #3a3a2e;
margin: 0;
text-align: justify
}

.abt-us .img-pair {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.abt-us .img-frame {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 5px 25px 0 #71a23117
}

.abt-us .img-frame img {
width: 100%;
height: 180px;
object-fit: cover;
display: block;
transition: filter .16s cubic-bezier(0.4, 0, 1, 1)
}

.abt-us .img-frame.tall img {
height: 380px
}

.abt-us .detail-right .img-pair:hover .img-frame img {
filter: blur(1.5px) brightness(0.97)
}

.abt-us .detail-right .img-pair:hover .img-frame:hover img {
filter: none
}

.abt-us .divider-band-alt {
height: 6px;
background: linear-gradient(270deg, #CD7853 0%, #e8e5de00 100%);
width: 100%
}

@keyframes icon-float {

0%,
100% {
transform: translateY(0px)
}

50% {
transform: translateY(-5px)
}
}

.abt-us .info-icon-bg i {
animation: icon-float 3.2s ease-in-out infinite
}

.abt-us .info-icon-bg.green i {
animation: icon-float 2.8s ease-in-out infinite;
animation-delay: .6s
}

@media (max-width: 768px) {
.abt-us .title-blk {
padding: 64px 16px 32px
}

.abt-us .title-text-zone h1 {
font-size: 30px
}

.abt-us .title-text-zone h1 span {
font-size: 30px
}

.abt-us .title-img-wrap img {
height: 220px
}

.abt-us .detail-sec {
padding: 64px 16px
}

.abt-us .detail-inner {
grid-template-columns: 1fr;
gap: 32px
}

.abt-us .chk-row.offset {
padding-left: 0
}

.abt-us .img-pair {
grid-template-columns: 1fr
}

.abt-us .img-frame img {
height: 200px
}

.abt-us .title-blk .arrow-deco {
display: none
}
}

@media (min-width: 769px) and (max-width: 1280px) {
.abt-us .detail-inner {
gap: 32px
}

.abt-us .title-text-zone h1 {
font-size: 42px
}

.abt-us .title-text-zone h1 span {
font-size: 42px
}
}

.success-page {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 32px;
background: #fff
}

.success-page .success-wrap {
max-width: 1140px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
text-align: center
}

.success-page .success-icon {
width: 72px;
height: 72px;
margin-bottom: 32px;
flex-shrink: 0
}

.success-page .success-icon circle {
fill: none;
stroke: #71A231;
stroke-width: 3;
transition: stroke-dashoffset .16s cubic-bezier(0.4, 0, 1, 1)
}

.success-page .success-icon polyline {
fill: none;
stroke: #71A231;
stroke-width: 3;
stroke-linecap: round;
stroke-linejoin: round
}

.success-page .success-heading {
font-size: 30px;
line-height: 1.2;
font-weight: 700;
background: linear-gradient(110deg, #71A231, #CD7853);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 16px;
letter-spacing: -.01em
}

.success-page .success-body {
font-size: 18px;
line-height: 1.7;
color: #2c2c2c;
max-width: 520px;
text-align: center;
margin-bottom: 32px
}

.success-page .success-body span {
color: #CD7853;
font-weight: 600
}

.success-page .success-divider {
width: 48px;
height: 3px;
background: linear-gradient(110deg, #71A231, #CD7853);
border-radius: 8px;
margin-bottom: 32px
}

.success-page .success-note {
font-size: 15px;
line-height: 1.7;
color: #5a5a5a;
max-width: 420px;
text-align: center;
margin-bottom: 64px;
padding: 16px 32px;
background: #E8E5DE;
border-radius: 12px;
box-shadow: inset 0 3px 5px 0 #cd78530d
}

.success-page .success-link {
display: inline-block;
font-size: 15px;
font-weight: 600;
color: #fff;
background: linear-gradient(110deg, #CD7853, #71A231);
padding: 16px 32px;
border-radius: 8px;
text-decoration: none;
letter-spacing: .04em;
box-shadow: 0 5px 25px 0 #cd785317;
transition: background .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1)
}

.success-page .success-link:hover {
background: linear-gradient(290deg, #CD7853, #71A231);
box-shadow: 0 10px 40px 0 #cd78531f
}

.success-page .success-link:focus {
outline: 3px solid #71A231;
outline-offset: 3px
}

@media (max-width: 768px) {
.success-page {
padding: 64px 16px
}

.success-page .success-heading {
font-size: 22px
}

.success-page .success-body {
font-size: 15px
}

.success-page .success-note {
padding: 16px;
margin-bottom: 32px
}
}