.tw-home-hero {
    position: relative;
    min-height: min(520px, calc(100vh - 129px));
    display: flex;
    align-items: flex-end;
    isolation: isolate;
    overflow: hidden;
    color: var(--tw-white);
    background: var(--tw-bench);
}

.tw-home-hero::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(14, 13, 11, 0.92), rgba(14, 13, 11, 0.68) 39%, rgba(14, 13, 11, 0.1) 73%), linear-gradient(0deg, rgba(14, 13, 11, 0.48), transparent 55%);
    content: "";
}

.tw-home-hero__image {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% center;
}

.tw-home-hero__content {
    width: min(590px, 60%);
    padding: 56px 0 76px;
}

.tw-home-hero .tw-eyebrow,
.tw-home-workshop .tw-eyebrow {
    color: #e3a26f;
}

.tw-home-hero h1 {
    max-width: 560px;
    margin: 0 0 16px;
    color: var(--tw-white);
    font-size: clamp(2.35rem, 4vw, 3.6rem);
    line-height: 1.03;
}

.tw-home-hero__lead {
    max-width: 570px;
    margin: 0 0 25px;
    color: rgba(255, 255, 255, 0.87);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.tw-home-hero__actions,
.tw-home-visit .tw-shell > div:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tw-home-button--outline {
    color: var(--tw-white);
    background: transparent;
    border-color: rgba(255, 255, 255, 0.72);
}

.tw-home-button--outline:hover {
    color: var(--tw-ink);
    background: var(--tw-white);
}

.tw-home-hours {
    width: fit-content;
    margin-top: 22px;
    padding: 12px 16px;
    display: flex;
    gap: 13px;
    align-items: center;
    background: rgba(48, 32, 25, 0.8);
    border-left: 3px solid var(--tw-copper);
    backdrop-filter: blur(5px);
}

.tw-home-hours > i {
    color: #e3a26f;
    font-size: 1.15rem;
}

.tw-home-hours strong,
.tw-home-hours span {
    display: block;
}

.tw-home-hours strong {
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tw-home-hours span {
    font-size: 0.79rem;
}

.tw-home-hero__note {
    position: absolute;
    right: max(24px, calc((100vw - var(--tw-max)) / 2));
    bottom: 29px;
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tw-home-paths {
    position: relative;
    z-index: 5;
    margin-top: -48px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--tw-white);
    border: 1px solid var(--tw-line);
    box-shadow: 0 18px 42px rgba(23, 24, 21, 0.11);
}

.tw-home-paths > a {
    min-height: 112px;
    padding: 20px;
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 12px;
    align-content: center;
    border-right: 1px solid var(--tw-line);
}

.tw-home-paths > a:last-child {
    border-right: 0;
}

.tw-home-paths > a > i {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: var(--tw-oxblood);
    border: 1px solid currentColor;
}

.tw-home-paths strong,
.tw-home-paths small {
    display: block;
}

.tw-home-paths strong {
    font-family: var(--tw-serif);
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.1;
}

.tw-home-paths small {
    margin-top: 4px;
    color: var(--tw-muted);
    font-size: 0.7rem;
    line-height: 1.35;
}

.tw-home-split {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(50px, 8vw, 100px);
    align-items: center;
}

.tw-home-feature-image {
    position: relative;
    width: 88%;
}

.tw-home-feature-image img {
    width: 100%;
    aspect-ratio: 4 / 4.5;
    object-fit: cover;
}

.tw-home-image-note {
    position: absolute;
    right: -42px;
    bottom: 25px;
    width: 185px;
    padding: 18px;
    color: var(--tw-white);
    background: var(--tw-oxblood);
}

.tw-home-image-note strong,
.tw-home-image-note span {
    display: block;
}

.tw-home-image-note strong {
    font-family: var(--tw-serif);
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
}

.tw-home-image-note span {
    margin-top: 6px;
    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.tw-home-intro {
    max-width: 610px;
    margin: 22px 0 24px;
    color: var(--tw-muted);
}

.tw-home-rental-cta {
    margin-bottom: 32px;
}

.tw-school-list-label {
    margin: 0 0 8px;
    color: var(--tw-muted);
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tw-school-list {
    border-top: 1px solid var(--tw-line);
}

.tw-school-list > a,
.tw-school-list__soon {
    min-height: 38px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: center;
    border-bottom: 1px solid var(--tw-line);
    font-size: 0.73rem;
    font-weight: 600;
}

.tw-school-list > a > i:last-child {
    color: var(--tw-oxblood);
    font-size: 0.64rem;
}

.tw-school-list__soon {
    grid-template-columns: 18px 1fr auto;
    color: var(--tw-muted);
}

.tw-school-list__soon small {
    font-size: 0.66rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tw-home-heading-row {
    display: flex;
    gap: 45px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px;
}

.tw-home-heading-row > p {
    max-width: 430px;
    margin: 0 0 4px;
    color: var(--tw-muted);
}

.tw-home-products {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 0.8fr;
    gap: 18px;
}

.tw-home-product {
    min-height: 390px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #eee9df;
    border: 1px solid var(--tw-line);
}

.tw-home-product > img {
    width: 100%;
    height: 285px;
    flex: 0 0 285px;
    object-fit: contain;
    padding: 20px;
}

.tw-home-product--wide > img {
    padding: 0;
    object-fit: cover;
}

.tw-home-product > span {
    min-height: 96px;
    padding: 17px 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    background: var(--tw-white);
}

.tw-home-product small,
.tw-home-product strong {
    grid-column: 1;
    display: block;
}

.tw-home-product small,
.tw-home-card-label {
    margin: 0 0 3px !important;
    color: var(--tw-oxblood) !important;
    font-size: 0.66rem !important;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.tw-home-product strong {
    font-family: var(--tw-serif);
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1.1;
}

.tw-home-product span > i {
    grid-column: 2;
    grid-row: 1 / 3;
    color: var(--tw-oxblood);
}

.tw-home-workshop {
    display: grid;
    grid-template-columns: 1fr 1fr;
    color: var(--tw-white);
    background: var(--tw-ink);
}

.tw-home-workshop__image {
    position: relative;
    min-height: 500px;
}

.tw-home-workshop__image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tw-home-stamp {
    position: absolute;
    right: 28px;
    bottom: 28px;
    width: 125px;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    color: var(--tw-white);
    background: rgba(48, 32, 25, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    outline: 1px solid rgba(255, 255, 255, 0.3);
    outline-offset: -7px;
    font-size: 0.6rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;
}

.tw-home-stamp i {
    display: block;
    margin-bottom: 5px;
    color: #e3a26f;
    font-size: 1.2rem;
}

.tw-home-workshop__copy {
    max-width: 650px;
    padding: clamp(55px, 6vw, 86px);
    align-self: center;
}

.tw-home-workshop h2 {
    margin: 0;
    color: var(--tw-white);
    font-size: clamp(2.7rem, 5vw, 4.5rem);
    line-height: 1.02;
}

.tw-home-workshop__copy > p:not(.tw-eyebrow) {
    margin: 22px 0 25px;
    color: rgba(255, 255, 255, 0.7);
}

.tw-home-workshop ul {
    margin: 0 0 30px;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
    list-style: none;
    font-size: 0.82rem;
}

.tw-home-workshop li i {
    margin-right: 7px;
    color: #e3a26f;
}

.tw-home-text-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--tw-oxblood);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tw-home-story {
    padding: 82px 0;
    background: #dce1db;
}

.tw-home-story__grid {
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    gap: clamp(50px, 8vw, 110px);
    align-items: center;
}

.tw-home-story img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.tw-home-story blockquote {
    margin: 0 0 22px;
    font-family: var(--tw-serif);
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.08;
}

.tw-home-story p:not(.tw-eyebrow) {
    max-width: 650px;
    color: #4d514c;
}

.tw-home-visit {
    padding: 65px 0;
    color: var(--tw-white);
    background: var(--tw-oxblood);
}

.tw-home-visit .tw-shell {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: center;
}

.tw-home-visit h2 {
    margin: 0 0 7px;
    color: var(--tw-white);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    line-height: 1;
}

.tw-home-visit p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 820px) {
    .tw-home-hero__content { width: 82%; }
    .tw-home-hero__note { display: none; }
    .tw-home-paths { grid-template-columns: 1fr 1fr; }
    .tw-home-paths > a:nth-child(2) { border-right: 0; }
    .tw-home-paths > a:nth-child(-n+2) { border-bottom: 1px solid var(--tw-line); }
    .tw-home-split,
    .tw-home-story__grid { grid-template-columns: 1fr; }
    .tw-home-feature-image { width: min(82%, 500px); }
    .tw-home-products { grid-template-columns: 1fr 1fr; }
    .tw-home-product--wide { grid-column: 1 / -1; }
    .tw-home-workshop { grid-template-columns: 1fr; }
    .tw-home-workshop__image { min-height: 430px; }
    .tw-home-story img { width: min(72%, 470px); }
    .tw-home-visit .tw-shell { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .tw-home-hero { min-height: 540px; }
    .tw-home-hero__content { width: 100%; padding-bottom: 88px; }
    .tw-home-hero h1 { font-size: 2.6rem; }
    .tw-home-hero__actions { align-items: stretch; flex-direction: column; }
    .tw-home-hours span { font-size: 0.72rem; }
    .tw-home-paths { margin-top: -55px; grid-template-columns: 1fr; }
    .tw-home-paths > a { min-height: 92px; border-right: 0; border-bottom: 1px solid var(--tw-line); }
    .tw-home-paths > a:last-child { border-bottom: 0; }
    .tw-home-feature-image,
    .tw-home-story img { width: calc(100% - 18px); }
    .tw-home-image-note { right: -18px; }
    .tw-home-heading-row { display: block; }
    .tw-home-heading-row > p { margin-top: 20px; }
    .tw-home-products { grid-template-columns: 1fr; }
    .tw-home-product--wide { grid-column: auto; }
    .tw-home-product { min-height: 350px; }
    .tw-home-product > img { height: 250px; flex-basis: 250px; }
    .tw-home-workshop__image { min-height: 340px; }
    .tw-home-workshop__copy { padding: 55px 20px 62px; }
    .tw-home-workshop ul { grid-template-columns: 1fr; }
    .tw-home-visit .tw-shell > div:last-child { align-items: stretch; flex-direction: column; }
}