.tajoka-home {
    --tajoka-accent: #41634f;
    --tajoka-accent-dark: #2d493a;
    --tajoka-warm: #fff;
    --tajoka-paper: #fff;
    --tajoka-line: rgba(48, 66, 56, .14);
    --tajoka-muted: #676767;
    color: inherit;
    background: transparent;
}

.tajoka-home,
.tajoka-home * {
    box-sizing: border-box;
}

.tajoka-wrap {
    width: min(1170px, calc(100% - 32px));
    margin-right: auto;
    margin-left: auto;
}

.tajoka-home h1,
.tajoka-home h2,
.tajoka-home h3,
.tajoka-home p {
    margin-top: 0;
}

.tajoka-home h1,
.tajoka-home h2,
.tajoka-home h3 {
    color: inherit;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.2;
}

.tajoka-home h1 {
    margin-bottom: 18px;
    font-size: clamp(32px, 4vw, 52px);
}

.tajoka-home h2 {
    margin-bottom: 12px;
    font-size: clamp(25px, 3vw, 34px);
}

.tajoka-home h3 {
    margin-bottom: 7px;
    font-size: 16px;
}

.tajoka-home p {
    color: var(--tajoka-muted);
    font-size: 15px;
    line-height: 1.65;
}

.tajoka-kicker {
    margin-bottom: 8px !important;
    color: var(--tajoka-accent) !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.3 !important;
    text-transform: uppercase;
}

.tajoka-lead {
    max-width: 640px;
    font-size: 16px !important;
}

.tajoka-hero__text {
    max-width: 690px;
}

.tajoka-hero__text p {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.58;
}

.tajoka-section {
    padding: 62px 0;
}

.tajoka-section-head {
    max-width: 680px;
    margin-bottom: 25px;
}

.tajoka-section-head--center {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.tajoka-section-head--split {
    display: flex;
    max-width: none;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}

.tajoka-expertise {
    border-bottom: 1px solid var(--tajoka-line);
}

.tajoka-expertise__copy {
    max-width: 1040px;
    columns: 2;
    column-gap: 34px;
}

.tajoka-expertise__copy p {
    break-inside: avoid;
    margin-bottom: 14px;
}

.tajoka-expertise__grid {
    display: grid;
    max-width: 900px;
    margin-top: 24px;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.tajoka-list-card {
    padding: 18px;
    border: 1px solid var(--tajoka-line);
    background: #fff;
}

.tajoka-list-card h3 {
    margin-bottom: 10px;
    color: var(--tajoka-accent-dark);
}

.tajoka-list-card ul {
    padding: 0;
    margin: 0;
    columns: 2;
    column-gap: 18px;
    list-style: none;
}

.tajoka-list-card li {
    position: relative;
    padding: 4px 0 4px 17px;
    break-inside: avoid;
    color: var(--tajoka-muted);
    font-size: 14px;
    line-height: 1.45;
}

.tajoka-list-card li::before {
    position: absolute;
    top: 4px;
    left: 0;
    color: var(--tajoka-accent);
    content: "\2713";
    font-weight: 700;
}

.tajoka-hero {
    padding-top: 36px;
    background: transparent;
}

.tajoka-hero__grid,
.tajoka-story__grid {
    display: grid;
    grid-template-columns: 1fr .92fr;
    gap: 34px;
    align-items: center;
}

.tajoka-hero__grid {
    width: min(1360px, calc(100% - 32px));
    grid-template-columns: 1fr;
    gap: 0;
}

.tajoka-hero__copy {
    padding: 28px 0 40px;
}

.tajoka-hero__visual {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    min-height: clamp(360px, 52vw, 620px);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(31, 48, 39, .12);
}

.tajoka-hero__visual img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.tajoka-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.tajoka-button {
    display: inline-flex;
    min-height: 43px;
    padding: 0 17px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: .2s ease;
}

.tajoka-button--primary {
    color: #fff !important;
    background: var(--tajoka-accent-dark);
}

.tajoka-button--primary:hover {
    color: #fff !important;
    background: var(--tajoka-accent);
}

.tajoka-button--ghost {
    color: var(--tajoka-accent-dark) !important;
    border-color: var(--tajoka-accent-dark);
    background: transparent;
}

.tajoka-button--ghost:hover {
    background: #fff;
}

.tajoka-button--light {
    color: var(--tajoka-accent-dark) !important;
    background: #fff;
}

.tajoka-hero__badges {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--tajoka-line);
    border-bottom: 1px solid var(--tajoka-line);
    background: rgba(255, 255, 255, .58);
}

.tajoka-hero__badges span {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--tajoka-accent-dark);
    font-size: 13px;
    font-weight: 600;
}

.tajoka-hero__badges svg,
.tajoka-icon svg,
.tajoka-category__icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

.tajoka-icon,
.tajoka-category__icon {
    display: grid;
    width: 40px;
    height: 40px;
    margin: 0 auto 12px;
    place-items: center;
    color: var(--tajoka-accent);
    border-radius: 50%;
    background: rgba(65, 99, 79, .1);
}

.tajoka-trust__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.tajoka-trust-card,
.tajoka-workshop-card {
    padding: 18px 12px;
    border: 1px solid var(--tajoka-line);
    background: #fff;
    text-align: center;
}

.tajoka-workshop-card {
    padding: 0 0 16px;
    overflow: hidden;
}

.tajoka-workshop-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1.55;
    margin-bottom: 14px;
    object-fit: cover;
}

.tajoka-workshop-card .tajoka-icon {
    margin-bottom: 8px;
}

.tajoka-workshop-card h3,
.tajoka-workshop-card p {
    padding-right: 12px;
    padding-left: 12px;
}

.tajoka-trust-card p,
.tajoka-workshop-card p {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.45;
}

.tajoka-reviews__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.tajoka-review {
    padding: 20px;
    margin: 0;
    border: 1px solid var(--tajoka-line);
    background: #fff;
}

.tajoka-review p {
    margin-bottom: 12px;
    font-size: 14px;
}

.tajoka-review cite {
    color: var(--tajoka-accent-dark);
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
}

.tajoka-review__stars {
    margin-bottom: 8px;
    color: #b78a42;
    font-size: 14px;
    letter-spacing: 2px;
}

.tajoka-categories__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.tajoka-category {
    position: relative;
    display: flex;
    min-height: 146px;
    padding: 14px;
    overflow: hidden;
    flex-direction: column;
    justify-content: end;
    color: inherit !important;
    border: 1px solid var(--tajoka-line);
    background: #fff;
    background-position: center;
    background-size: cover;
    text-align: center;
    text-decoration: none !important;
    transition: .2s ease;
}

.tajoka-category:hover,
.tajoka-product:hover {
    box-shadow: 0 8px 18px rgba(30, 46, 37, .08);
    transform: translateY(-3px);
}

.tajoka-category--image {
    color: #fff !important;
    text-align: left;
}

.tajoka-category--image::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .68));
    content: "";
}

.tajoka-category > * {
    position: relative;
}

.tajoka-category--image .tajoka-category__icon {
    margin-right: 0;
    margin-left: 0;
    color: var(--tajoka-accent-dark);
    background: rgba(255, 255, 255, .88);
}

.tajoka-process__grid,
.tajoka-workshop__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.tajoka-guides__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.tajoka-guide {
    display: flex;
    min-height: 118px;
    padding: 16px;
    flex-direction: column;
    justify-content: space-between;
    color: inherit !important;
    border: 1px solid var(--tajoka-line);
    background: #fff;
    text-decoration: none !important;
    transition: .2s ease;
}

.tajoka-guide:hover {
    border-color: var(--tajoka-accent);
    box-shadow: 0 8px 18px rgba(30, 46, 37, .07);
    transform: translateY(-3px);
}

.tajoka-guide strong {
    font-size: 15px;
    line-height: 1.35;
}

.tajoka-guide span {
    color: var(--tajoka-muted);
    font-size: 12px;
    line-height: 1.45;
}

.tajoka-step {
    position: relative;
    padding: 17px 13px;
    text-align: center;
}

.tajoka-step__number {
    display: grid;
    width: 24px;
    height: 24px;
    margin: 0 auto 8px;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: var(--tajoka-accent-dark);
    font-size: 12px;
    font-weight: 700;
}

.tajoka-step .tajoka-icon {
    background: transparent;
}

.tajoka-step p {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.45;
}

.tajoka-text-link {
    color: var(--tajoka-accent-dark) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}

.tajoka-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.tajoka-product {
    border: 1px solid var(--tajoka-line);
    background: #fff;
    transition: .2s ease;
}

.tajoka-product__image {
    display: block;
    overflow: hidden;
    aspect-ratio: 1;
    background: #fff;
}

.tajoka-product__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tajoka-product__body {
    padding: 12px;
}

.tajoka-product h3 {
    min-height: 38px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.4;
}

.tajoka-product h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.tajoka-product__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.tajoka-product__price {
    color: var(--tajoka-accent-dark);
    font-size: 14px;
    font-weight: 700;
}

.tajoka-product__arrow {
    color: var(--tajoka-accent) !important;
    font-size: 21px;
    text-decoration: none !important;
}

.tajoka-story__grid {
    align-items: start;
}

.tajoka-about {
    padding: 24px;
    border-left: 3px solid var(--tajoka-accent);
    background: #fff;
}

.tajoka-about ul {
    padding-left: 18px;
    margin-bottom: 0;
    color: var(--tajoka-muted);
    font-size: 14px;
    line-height: 1.8;
}

.tajoka-faq__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 16px;
}

.tajoka-faq__item {
    border: 1px solid var(--tajoka-line);
    background: #fff;
}

.tajoka-faq__item summary {
    display: flex;
    padding: 14px;
    justify-content: space-between;
    gap: 12px;
    color: inherit;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    list-style: none;
}

.tajoka-faq__item summary::-webkit-details-marker {
    display: none;
}

.tajoka-faq__item summary span {
    color: var(--tajoka-accent);
    font-size: 20px;
    line-height: 1;
}

.tajoka-faq__item[open] summary span {
    transform: rotate(45deg);
}

.tajoka-faq__item p {
    padding: 0 14px 14px;
    margin-bottom: 0;
    font-size: 13px;
}

.tajoka-cta {
    padding: 28px 0;
    color: #fff;
    background: var(--tajoka-accent-dark);
}

.tajoka-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.tajoka-cta h2,
.tajoka-cta p {
    color: #fff;
}

.tajoka-cta h2 {
    margin-bottom: 4px;
    font-size: 27px;
}

.tajoka-cta p {
    margin-bottom: 0;
    opacity: .85;
}

@media (max-width: 900px) {
    .tajoka-hero__visual {
        min-height: clamp(340px, 58vw, 520px);
    }

    .tajoka-trust__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .tajoka-categories__grid,
    .tajoka-products,
    .tajoka-guides__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 680px) {
    .tajoka-section {
        padding: 46px 0;
    }

    .tajoka-expertise__copy {
        columns: 1;
    }

    .tajoka-expertise__grid {
        grid-template-columns: 1fr;
    }

    .tajoka-hero__grid,
    .tajoka-story__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .tajoka-hero__copy {
        padding-top: 20px;
        padding-bottom: 26px;
    }

    .tajoka-hero__visual {
        min-height: clamp(280px, 70vw, 420px);
    }

    .tajoka-hero__badges,
    .tajoka-trust__grid,
    .tajoka-reviews__grid,
    .tajoka-faq__items {
        grid-template-columns: 1fr;
    }

    .tajoka-hero__badges span {
        min-height: 42px;
        border-bottom: 1px solid var(--tajoka-line);
    }

    .tajoka-process__grid,
    .tajoka-workshop__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tajoka-category {
        min-height: 128px;
        padding: 11px;
        font-size: 13px;
    }

    .tajoka-section-head--split,
    .tajoka-cta__inner {
        display: block;
    }

    .tajoka-cta .tajoka-button {
        margin-top: 14px;
    }
}
