:root {
    --ksemvp-cream: #f4efe3;
    --ksemvp-paper: #fffdf8;
    --ksemvp-forest: #0e3b34;
    --ksemvp-forest-deep: #082b27;
    --ksemvp-gold: #b28a43;
    --ksemvp-line: rgba(14, 59, 52, 0.18);
    --ksemvp-ink: #17312d;
    --ksemvp-muted: #66736f;
}

.ksemvp-page { background: var(--ksemvp-cream); }
.ksemvp-main { color: var(--ksemvp-ink); overflow: clip; }
.ksemvp-main *, .ksemvp-main *::before, .ksemvp-main *::after { box-sizing: border-box; }
.ksemvp-main img { display: block; max-width: 100%; }
.ksemvp-section { width: min(1180px, calc(100% - 48px)); margin-inline: auto; padding-block: clamp(72px, 9vw, 132px); }
.ksemvp-kicker, .ksemvp-eyebrow { margin: 0 0 16px; color: var(--ksemvp-gold); font: 600 0.74rem/1.4 ui-sans-serif, system-ui, sans-serif; letter-spacing: .18em; }
.ksemvp-section h2, .ksemvp-final h2 { margin: 0; color: var(--ksemvp-forest); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4.6vw, 4.5rem); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.ksemvp-section-heading { max-width: 760px; margin-bottom: clamp(38px, 6vw, 72px); }
.ksemvp-section-heading > p:last-child { max-width: 600px; margin: 24px 0 0; color: var(--ksemvp-muted); font-size: 1.05rem; }

.ksemvp-language { position: absolute; z-index: 8; top: 18px; right: max(24px, calc((100vw - 1180px) / 2)); display: flex; gap: 10px; align-items: center; padding: 8px 12px; color: #fff; background: rgba(8, 43, 39, .82); border: 1px solid rgba(255, 255, 255, .28); font: 600 .75rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; backdrop-filter: blur(8px); }
.ksemvp-language a { color: #fff; text-decoration: none; }
.ksemvp-language span[aria-current] { color: #e9cf99; }

.ksemvp-hero { position: relative; min-height: min(780px, calc(100svh - 80px)); display: grid; align-items: end; background: var(--ksemvp-forest-deep); isolation: isolate; }
.ksemvp-hero__image, .ksemvp-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.ksemvp-hero__image { object-fit: cover; object-position: 54% 53%; z-index: -2; }
.ksemvp-hero__shade { z-index: -1; background: linear-gradient(90deg, rgba(5, 30, 27, .91) 0%, rgba(5, 30, 27, .64) 43%, rgba(5, 30, 27, .12) 75%), linear-gradient(0deg, rgba(5, 30, 27, .42), transparent 40%); }
.ksemvp-hero__content { width: min(1180px, calc(100% - 48px)); margin-inline: auto; padding: clamp(96px, 14vh, 154px) 0 clamp(74px, 11vh, 118px); color: #fff; }
.ksemvp-hero__content h1 { max-width: 780px; margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3.1rem, 7vw, 6.8rem); font-weight: 400; letter-spacing: -.052em; line-height: .91; }
.ksemvp-hero__content > p:not(.ksemvp-eyebrow) { max-width: 530px; margin: 30px 0; color: rgba(255, 255, 255, .88); font-size: clamp(1.02rem, 1.5vw, 1.22rem); line-height: 1.7; }
.ksemvp-hero__content small { display: block; margin-top: 18px; color: rgba(255, 255, 255, .72); font-size: .76rem; letter-spacing: .04em; }
.ksemvp-serving-note { position: absolute; right: 24px; bottom: 20px; padding: 6px 10px; color: rgba(255, 255, 255, .8); background: rgba(5, 30, 27, .54); font: 500 .68rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; }
.ksemvp-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; text-decoration: none; font: 650 .78rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; }
.ksemvp-button--light { color: var(--ksemvp-forest-deep); background: #fff; border: 1px solid #fff; }
.ksemvp-button--light:hover, .ksemvp-button--light:focus-visible { color: #fff; background: transparent; }

.ksemvp-intro { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px, 8vw, 118px); align-items: start; }
.ksemvp-intro > p:last-child { margin: 0; color: var(--ksemvp-muted); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.7; }

.ksemvp-products { border-top: 1px solid var(--ksemvp-line); }
.ksemvp-product-list { display: grid; gap: clamp(80px, 11vw, 148px); }
.ksemvp-product-card { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr); gap: clamp(44px, 7vw, 92px); align-items: center; }
.ksemvp-product-card--reverse .ksemvp-product-card__main { order: 2; }
.ksemvp-product-card__main { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #ddd7ca; }
.ksemvp-product-card__main img { width: 100%; height: 100%; object-fit: cover; }
.ksemvp-product-card__main > span { position: absolute; left: 18px; bottom: 18px; padding: 9px 12px; color: #fff; background: rgba(8, 43, 39, .86); font: 650 .68rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; }
.ksemvp-product-card__copy h3 { margin: 4px 0 16px; color: var(--ksemvp-forest); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 3.6vw, 3.6rem); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.ksemvp-product-card__copy > p:not(.ksemvp-product-number):not(.ksemvp-sub-label) { margin: 0 0 26px; color: var(--ksemvp-muted); line-height: 1.75; }
.ksemvp-product-number { margin: 0; color: var(--ksemvp-gold); font: 600 .73rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .16em; }
.ksemvp-sub-label { margin: -7px 0 22px; color: var(--ksemvp-gold); font: 600 .72rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.ksemvp-receive { display: grid; grid-template-columns: 112px 1fr; gap: 16px; align-items: center; margin: 26px 0; padding: 14px; background: rgba(255, 253, 248, .68); border: 1px solid var(--ksemvp-line); }
.ksemvp-receive img { width: 112px; height: 84px; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
.ksemvp-receive figcaption { color: var(--ksemvp-forest); font: 650 .76rem/1.4 ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.ksemvp-text-link { display: inline-flex; gap: 16px; align-items: center; padding: 9px 0; color: var(--ksemvp-forest); border-bottom: 1px solid var(--ksemvp-gold); text-decoration: none; font-weight: 650; }
.ksemvp-text-link:hover, .ksemvp-text-link:focus-visible { color: #75591f; }

.ksemvp-comparison { width: 100%; max-width: none; padding-inline: max(24px, calc((100% - 1180px) / 2)); color: #fff; background: var(--ksemvp-forest-deep); }
.ksemvp-comparison h2 { color: #fff; }
.ksemvp-comparison-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, .2); border-bottom: 1px solid rgba(255, 255, 255, .2); }
.ksemvp-comparison-grid article { padding: clamp(28px, 4vw, 48px); border-right: 1px solid rgba(255, 255, 255, .2); }
.ksemvp-comparison-grid article:first-child { padding-left: 0; }
.ksemvp-comparison-grid article:last-child { border-right: 0; }
.ksemvp-comparison-grid article > p { margin: 0 0 12px; color: #d7bb83; font: 650 .7rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.ksemvp-comparison-grid h3 { min-height: 2.3em; margin: 0 0 28px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.5rem, 2.4vw, 2.35rem); font-weight: 400; line-height: 1.05; }
.ksemvp-comparison-grid dl, .ksemvp-comparison-grid dd { margin: 0; }
.ksemvp-comparison-grid dl div { display: grid; grid-template-columns: 80px 1fr; gap: 12px; padding: 13px 0; border-top: 1px solid rgba(255, 255, 255, .13); }
.ksemvp-comparison-grid dt { color: rgba(255, 255, 255, .58); font-size: .78rem; }
.ksemvp-comparison-grid dd { color: rgba(255, 255, 255, .9); }

.ksemvp-enjoy { display: grid; grid-template-columns: .55fr 1fr; gap: clamp(48px, 8vw, 120px); }
.ksemvp-enjoy .ksemvp-section-heading { margin-bottom: 0; }
.ksemvp-steps { grid-column: 2; grid-row: 1; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ksemvp-line); }
.ksemvp-steps li { display: grid; grid-template-columns: 70px 1fr; gap: 22px; padding: 28px 0; border-bottom: 1px solid var(--ksemvp-line); }
.ksemvp-steps li > span { color: var(--ksemvp-gold); font: 600 .75rem/1.4 ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; }
.ksemvp-steps h3 { margin: 0 0 8px; font-family: Georgia, 'Times New Roman', serif; font-size: 1.5rem; font-weight: 400; }
.ksemvp-steps p { margin: 0; color: var(--ksemvp-muted); line-height: 1.65; }
.ksemvp-enjoy > .ksemvp-text-link { grid-column: 2; justify-self: start; }

.ksemvp-delivery { width: 100%; max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 9vw, 130px); padding-inline: max(24px, calc((100% - 1180px) / 2)); color: #fff; background: var(--ksemvp-forest); }
.ksemvp-delivery h2 { color: #fff; }
.ksemvp-delivery > div:first-child > p:last-child { max-width: 520px; color: rgba(255, 255, 255, .75); line-height: 1.7; }
.ksemvp-hotel-note { padding: clamp(28px, 4vw, 48px); background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .22); }
.ksemvp-hotel-note h3 { margin: 0 0 18px; color: #e9cf99; font-family: Georgia, 'Times New Roman', serif; font-size: 1.8rem; font-weight: 400; }
.ksemvp-hotel-note p { color: rgba(255, 255, 255, .84); line-height: 1.65; }
.ksemvp-hotel-note small { color: rgba(255, 255, 255, .6); line-height: 1.5; }

.ksemvp-faq-list { border-top: 1px solid var(--ksemvp-line); }
.ksemvp-faq details { border-bottom: 1px solid var(--ksemvp-line); }
.ksemvp-faq summary { position: relative; padding: 25px 48px 25px 0; color: var(--ksemvp-forest); cursor: pointer; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.15rem, 2vw, 1.55rem); list-style: none; }
.ksemvp-faq summary::-webkit-details-marker { display: none; }
.ksemvp-faq summary::after { content: '+'; position: absolute; right: 4px; top: 50%; translate: 0 -50%; color: var(--ksemvp-gold); font: 300 1.7rem/1 ui-sans-serif, system-ui, sans-serif; }
.ksemvp-faq details[open] summary::after { content: '−'; }
.ksemvp-faq details p { max-width: 780px; margin: -4px 0 24px; color: var(--ksemvp-muted); line-height: 1.7; }

.ksemvp-final { padding: clamp(82px, 11vw, 148px) 24px; text-align: center; background: var(--ksemvp-paper); }
.ksemvp-final > p:not(.ksemvp-kicker) { color: var(--ksemvp-muted); font-size: 1.1rem; }
.ksemvp-final-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 34px auto 22px; }
.ksemvp-final-links a { min-width: 205px; padding: 16px 20px; color: #fff; background: var(--ksemvp-forest); border: 1px solid var(--ksemvp-forest); text-decoration: none; font-weight: 650; }
.ksemvp-final-links a:hover, .ksemvp-final-links a:focus-visible { color: var(--ksemvp-forest); background: transparent; }
.ksemvp-final small { color: var(--ksemvp-muted); }

@media (max-width: 900px) {
    .ksemvp-language { top: 12px; right: 16px; }
    .ksemvp-hero { min-height: 720px; }
    .ksemvp-hero__image { object-position: 58% center; }
    .ksemvp-hero__shade { background: linear-gradient(0deg, rgba(5, 30, 27, .9) 0%, rgba(5, 30, 27, .56) 64%, rgba(5, 30, 27, .12) 100%); }
    .ksemvp-intro, .ksemvp-product-card, .ksemvp-delivery { grid-template-columns: 1fr; }
    .ksemvp-intro { gap: 28px; }
    .ksemvp-product-card--reverse .ksemvp-product-card__main { order: initial; }
    .ksemvp-comparison-grid { grid-template-columns: 1fr; }
    .ksemvp-comparison-grid article, .ksemvp-comparison-grid article:first-child { padding: 28px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
    .ksemvp-comparison-grid article:last-child { border-bottom: 0; }
    .ksemvp-comparison-grid h3 { min-height: 0; }
    .ksemvp-enjoy { grid-template-columns: 1fr; }
    .ksemvp-steps { grid-column: 1; grid-row: auto; }
    .ksemvp-enjoy > .ksemvp-text-link { grid-column: 1; }
}

@media (max-width: 600px) {
    .ksemvp-section { width: min(100% - 32px, 1180px); padding-block: 68px; }
    .ksemvp-language { position: relative; z-index: 1; top: auto; right: auto; justify-content: flex-end; padding: 10px 16px; color: var(--ksemvp-forest); background: var(--ksemvp-paper); border: 0; border-bottom: 1px solid var(--ksemvp-line); }
    .ksemvp-language a { color: var(--ksemvp-forest); }
    .ksemvp-hero { min-height: 650px; }
    .ksemvp-hero__content { width: calc(100% - 32px); padding: 128px 0 52px; }
    .ksemvp-hero__content h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
    .ksemvp-hero__content > p:not(.ksemvp-eyebrow) { margin: 24px 0; font-size: .98rem; }
    .ksemvp-serving-note { right: 14px; bottom: 12px; }
    .ksemvp-product-list { gap: 76px; }
    .ksemvp-product-card { gap: 26px; }
    .ksemvp-product-card__main { aspect-ratio: 5 / 4; }
    .ksemvp-product-card__copy h3 { font-size: 2.5rem; }
    .ksemvp-receive { grid-template-columns: 92px 1fr; }
    .ksemvp-receive img { width: 92px; height: 69px; }
    .ksemvp-comparison, .ksemvp-delivery { padding-inline: 16px; }
    .ksemvp-steps li { grid-template-columns: 46px 1fr; gap: 12px; }
    .ksemvp-hotel-note { padding: 24px 20px; }
    .ksemvp-final-links { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
    .ksemvp-main *, .ksemvp-main *::before, .ksemvp-main *::after { scroll-behavior: auto !important; transition: none !important; }
}
