/* One homepage layout: copy on the left, real moments and introduction on the right. */
.hero{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:26px clamp(30px,4.5vw,74px);align-items:center;min-height:0;padding:clamp(28px,2.8vw,40px) var(--page-pad) 30px;background:radial-gradient(ellipse at 95% 30%,#e8efe270,transparent 55%),#faf9f4}
.hero-copy{min-width:0;max-width:650px;container-type:normal}.hero .kicker{margin:0 0 12px;font-size:10px;letter-spacing:.17em;color:#3c655d}.hero-pretitle{margin:0 0 16px;font-size:13px;color:#6b7c73;line-height:1.7}
html[lang] .hero h1{position:relative;margin:0;width:100%;max-width:375px;font-size:inherit;line-height:1;white-space:normal}html[lang] .hero h1 .hero-title-accessible{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-title-art{display:block;width:100%;height:auto;max-height:145px;object-fit:contain;object-position:left center}
html[lang] .hero-english{display:block;margin:17px 0 19px;font:clamp(18px,1.5vw,23px)/1.5 Georgia,"Times New Roman",serif;color:#33564e;white-space:nowrap;letter-spacing:-.015em}.hero-intro{margin:0 0 20px;color:#65796f;font-size:13px;line-height:1.9;max-width:42em}.hero-intro span{margin:0 4px;color:#b99a60}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hero-actions .primary-button,.hero-actions .outline-button{min-height:44px;font-size:13px;padding:11px 16px}.hero-actions .text-button{padding:7px 0;min-height:34px;font-size:12px}.hero-foot{margin:16px 0 0;font-size:12px;color:#748277;line-height:1.8}.hero-feature{display:none!important}.hero-recap{display:block;min-width:0}
.hero-visual.home-carousel{display:block;width:100%;max-width:none;min-width:0;padding:12px;background:#fffefa;border:1px solid #dbe4d6;border-radius:20px;box-shadow:0 18px 55px #173d4208;position:relative}.carousel-media{position:relative;display:block;width:100%;min-width:0;overflow:hidden;aspect-ratio:16/9;max-height:340px;border-radius:12px;background:#f2f3e9}.hero-visual .real-moment{display:block;width:100%;height:100%;aspect-ratio:auto;max-height:none;object-fit:cover;object-position:center 43%;border-radius:0}.home-carousel[data-kind="intro"] .real-moment{object-fit:contain;background:#f6f4e9}.carousel-type{position:absolute;top:14px;left:14px;max-width:calc(100% - 28px);padding:6px 10px;border:1px solid #fff7;border-radius:5px;background:#fffdf2ed;font-size:10px;font-weight:650;line-height:1.5;letter-spacing:.035em;color:#45634f}.carousel-play{position:absolute;bottom:20px;left:20px;min-height:44px;padding:11px 18px;border:1px solid #fff9;border-radius:9px;background:#fffdf3ed;color:#134d43;font:inherit;font-size:13px;font-weight:700;box-shadow:0 4px 16px #102f321a}.carousel-play:hover{background:#fff}.carousel-video{position:absolute;inset:0;width:100%;height:100%;background:#102f32;object-fit:contain}.carousel-caption{padding:18px 10px 6px;min-width:0}.carousel-caption h2{margin:0 0 7px;font-size:20px;line-height:1.4;letter-spacing:-.02em}.carousel-caption p{margin:0 0 12px;font-size:13px;color:#697e70;line-height:1.75}.home-carousel .moment-open{display:inline-flex;align-items:center;min-height:30px;padding:0;color:#0e655f;border:0;background:none;font-size:12px;font-weight:650;line-height:1.5}.carousel-tools{display:flex;align-items:center;gap:9px;padding:10px 10px 3px;border-top:1px solid #e5ebdf;margin-top:9px}.carousel-arrow{width:34px;height:34px;border:1px solid #d8e2d1;border-radius:50%;background:#fffefa;color:#40604c;font-size:17px;flex:none}.carousel-arrow:hover{background:#edf4e6}.carousel-dots{display:flex;align-items:center;gap:4px}.carousel-dot{display:grid;place-items:center;width:26px;height:32px;padding:0;background:none;border:0;color:#6d7f6a;font:inherit;font-size:10px}.carousel-dot span{display:block;width:6px;height:6px;background:#c9d5c1;border-radius:8px;font-size:0;transition:width .2s}.carousel-dot[aria-pressed=true] span{width:19px;background:#0e655f}.carousel-counter{margin-left:auto;color:#74846d;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.carousel-motion{min-height:34px;padding:4px 9px;border:0;border-left:1px solid #e0e7da;background:none;color:#47664c;font:inherit;font-size:11px;white-space:nowrap}.carousel-status{margin:0 10px;color:#6b7c6b;font-size:12px;line-height:1.7}.carousel-status:not(:empty){margin-block:10px}.carousel-status a{text-decoration:underline}.carousel-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#hero-next-host{grid-column:1/-1;min-width:0}#hero-next-host .space-card{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.8fr) auto;gap:4px 24px;align-items:center;padding:18px 24px;border:1px solid #dce5d4;border-radius:13px;background:#f0f4e9;box-shadow:none}#hero-next-host .space-kicker{grid-column:1;font-size:9px;letter-spacing:.15em;color:#6c815f}#hero-next-host h2{grid-column:1;margin:0;font-size:19px;line-height:1.5}#hero-next-host p{grid-column:2;grid-row:1/3;margin:0;font-size:12px;color:#71816a;line-height:1.8}#hero-next-host a{grid-column:3;grid-row:1/3;min-height:40px;padding:7px 0;font-size:12px}.space-home{display:none}.ribbon[data-view="home"]{display:none}
@media(min-width:1700px){.hero{gap:34px 5vw}.hero-title-art{max-height:160px}html[lang] .hero h1{max-width:415px}.carousel-media{aspect-ratio:16/9;max-height:360px}.carousel-caption h2{font-size:22px}.carousel-caption{padding:20px 14px 8px}.carousel-type{font-size:11px}}
@media(max-width:1100px) and (min-width:801px){.hero{gap:24px 30px}.hero .kicker{font-size:9px}.hero-pretitle{font-size:12px}.hero-title-art{max-height:135px}html[lang] .hero-english{font-size:18px}.hero-actions .text-button{flex-basis:100%;justify-content:flex-start}.carousel-caption h2{font-size:19px}.carousel-caption{padding:15px 6px 5px}.carousel-media{aspect-ratio:16/10}.carousel-caption p{font-size:12px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:24px;padding-top:26px}.hero-copy{max-width:none}.hero-recap{width:100%;max-width:680px;justify-self:center}.hero-title-art{max-width:355px;max-height:140px}html[lang] .hero-english{font-size:20px}.hero-visual.home-carousel{border-radius:16px}.carousel-media{aspect-ratio:16/9}.carousel-caption h2{font-size:21px}#hero-next-host .space-card{grid-template-columns:1fr auto;gap:6px 20px;padding:18px 22px}#hero-next-host p{grid-column:1;grid-row:3;margin-top:4px}#hero-next-host a{grid-column:2;grid-row:1/4;max-width:110px}#hero-next-host h2{font-size:19px}}
@media(max-width:540px){.hero{padding-top:22px;gap:22px}.hero .kicker{font-size:9px;margin-bottom:12px}.hero-pretitle{font-size:12px;margin-bottom:17px}.hero-title-art{max-width:300px;max-height:120px}html[lang] .hero-english{font-size:clamp(16px,4.7vw,20px);margin:16px 0 18px}.hero-intro{font-size:12px;margin-bottom:16px}.hero-actions{gap:8px}.hero-actions .primary-button,.hero-actions .outline-button{padding:10px 12px;font-size:12px}.hero-actions .text-button{flex-basis:100%;justify-content:flex-start;padding:2px 0}.hero-foot{font-size:11px;margin-top:10px}.hero-visual.home-carousel{padding:9px;border-radius:15px}.carousel-media{border-radius:9px}.carousel-type{top:10px;left:10px;padding:4px 8px;font-size:9px}.carousel-play{left:12px;bottom:12px;min-height:38px;padding:8px 12px;font-size:12px}.carousel-caption{padding:15px 5px 5px}.carousel-caption h2{font-size:20px}.carousel-caption p{font-size:12px}.carousel-tools{padding:8px 3px 2px;gap:7px}.carousel-arrow{width:31px;height:31px}.carousel-dot{width:22px}.carousel-motion{font-size:10px;padding:4px 7px}.carousel-counter{font-size:9px}#hero-next-host .space-card{display:block;padding:17px 19px}#hero-next-host h2{font-size:20px;margin:7px 0}#hero-next-host p{font-size:12px;margin:8px 0}#hero-next-host a{max-width:none;min-height:30px;padding:0}.home-carousel .moment-open{font-size:12px}}
@media(prefers-reduced-motion:reduce){.carousel-dot span{transition:none}}
@media print{.hero-visual{display:none!important}}
.home-carousel[data-kind="intro"] .carousel-type{display:none}

/* Close the artificial gap above the original footer on the homepage only. */
body[data-view="home"] main{min-height:0}
.hero{padding-bottom:18px}
#hero-next-host::after{content:"";display:block;width:180px;height:12px;margin:14px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='12' viewBox='0 0 180 12'%3E%3Cpath d='M1 3q15-4 30 0t30 0t30 0t30 0t30 0t29 0M31 9q15-4 30 0t30 0t30 0t29 0' fill='none' stroke='%239ab69a' stroke-width='1'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.55}

/* Keep the caption compact without removing its context or action. */
@media(min-width:801px){.carousel-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:6px;padding:15px 8px 5px}.carousel-caption h2{grid-column:1/-1;margin:0}.carousel-caption p{grid-column:1;margin:0}.home-carousel .moment-open{grid-column:2;align-self:center;white-space:nowrap}.carousel-tools{margin-top:8px;padding-top:8px}.hero-copy{align-self:center}}
