/* Shared campaign rhythm and space for four Singapore language options. */
.site-header {display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:30px;align-items:center;}
.site-header .campaign-nav {justify-self:end;flex-wrap:wrap;gap:clamp(18px,2.3vw,34px);}
.site-header .campaign-nav a {font-size:13px;line-height:1.5;white-space:normal;}
.language-picker {position:relative;justify-self:end;color:var(--header-color,#f5f2e8);}
.language-trigger {display:flex;align-items:center;gap:10px;min-width:150px;min-height:44px;padding:10px 12px;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:6px;background:color-mix(in srgb,currentColor 4%,transparent);color:inherit;font:600 12px/1.5 Manrope,"Noto Sans Tamil",Latha,sans-serif;text-align:left;transition:border-color 160ms,background 160ms;}
.language-trigger:hover,.language-trigger[aria-expanded="true"] {border-color:currentColor;background:color-mix(in srgb,currentColor 9%,transparent);}
.language-trigger:focus-visible {outline:2px solid var(--coral,#ed835a);outline-offset:4px;}
.language-current {flex:1;white-space:nowrap;}
.language-globe {width:18px;height:18px;flex:none;opacity:.85;}
.language-chevron {width:14px;height:14px;flex:none;opacity:.85;transition:transform 160ms;}
.language-trigger[aria-expanded="true"] .language-chevron {transform:rotate(180deg);}
.language-panel {position:absolute;z-index:20;inset:calc(100% + 10px) 0 auto auto;width:240px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain;padding:8px;border:1px solid #b6d6ce40;border-radius:10px;background:#153842;color:#f5f2e8;box-shadow:0 12px 32px #041c2b42;animation:language-menu-in 140ms ease-out;}
.language-menu-title {padding:9px 10px 12px;color:#b6d6ce;font:600 11px/1.6 Manrope,"Noto Sans Tamil",Latha,sans-serif;letter-spacing:.03em;}
.language-menu {display:grid;gap:3px;}
.language-option {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;text-align:left;}
.language-option-copy {display:grid;gap:2px;}
.language-option-name {font:600 14px/1.5 Manrope,"Noto Sans Tamil",Latha,sans-serif;}
.language-option-description {color:#b6d6ce;font:400 11px/1.5 Manrope,sans-serif;}
.language-check {width:18px;height:18px;flex:none;visibility:hidden;color:#ffad87;}
.language-option[aria-checked="true"] {background:#ed835a1f;border-color:#ed835a4d;}
.language-option[aria-checked="true"] .language-check {visibility:visible;}
.language-option:hover {background:#b6d6ce14;}
.language-option[aria-checked="true"]:hover {background:#ed835a2e;}
.language-option:focus-visible {outline:2px solid #ffad87;outline-offset:-2px;}
:root .language-picker [lang="zh-Hans"] {font-family:"Microsoft YaHei","PingFang SC",Manrope,sans-serif;}
:root .language-picker [lang="ta"] {font-family:"Noto Sans Tamil",Latha,"Nirmala UI",sans-serif;}
:root .language-picker [lang="en"],:root .language-picker [lang="ms"] {font-family:Manrope,Arial,sans-serif;}
@keyframes language-menu-in {from {opacity:0;transform:translateY(-4px);}to {opacity:1;transform:translateY(0);}}
@media(prefers-reduced-motion:reduce) {.language-panel {animation:none;}.language-trigger,.language-chevron {transition:none;}}
:root[data-locale="zh"] {--sans:"Microsoft YaHei","PingFang SC",Manrope,sans-serif;}
:root[data-locale="ta"] {--sans:"Noto Sans Tamil",Latha,"Nirmala UI",sans-serif;}
:root[data-locale="ta"] :is(h1,h2,h3,h4,.eyebrow,.campaign-label,.chapter-label,.restoration-step-title) {letter-spacing:0;line-height:1.35;overflow-wrap:anywhere;}
:root[data-locale="ta"] :is(h1,h2,h3,h4) em {font:inherit;}
:root[data-locale="ta"] :is(h1,h2,h3,h4,.eyebrow,.campaign-label,.chapter-label,p,button,a,summary,li,label,span,select,textarea) {font-family:var(--sans);}
:root[data-locale="zh"] :is(p,button,a,summary,li,label,select,textarea) {font-family:var(--sans);}
:root[data-locale="zh"] :is(h1,h2,h3,h4) {font-family:var(--sans);letter-spacing:-.025em;line-height:1.23;}
:root[data-locale] :is(.wordmark,.footer-brand,.campaign-title,.opening-copy h1) {font-family:Manrope,sans-serif;letter-spacing:-.065em;}
:root[data-locale] :is(.campaign-slogan,.quiz-intro-slogan,.match-lead,.opening-campaign-line) {font-family:"Instrument Serif",Georgia,serif;line-height:1.3;letter-spacing:0;}
:root[data-locale] :is(.wordmark,.footer-brand) span {font-family:Manrope,sans-serif;}
.campaign-page .campaign-title {line-height:.91;}
.campaign-page .campaign-title-top {line-height:1.14;}
:root[data-locale] #campaign-title {font-family:Manrope,sans-serif;letter-spacing:-.07em;line-height:.91;}
:root[data-locale] #campaign-title span {font-family:Manrope,sans-serif;}
:root[data-locale] .opening-copy h1 {line-height:.92;}
:root[data-locale] .opening-copy h1 span {font-family:Manrope,sans-serif;}
.opening-actions {grid-template-columns:repeat(2,minmax(0,1fr));}
.opening-actions a {width:100%;min-width:0;gap:12px;}
.campaign-page .campaign-lead {font-size:16px;line-height:1.8;max-width:36ch;}
.campaign-page .campaign-art-caption {font-size:11px;}
.campaign-page .campaign-care-copy p {font-size:15px;line-height:1.85;}
.campaign-page .campaign-card-copy {padding:30px;row-gap:15px;}
.campaign-page .campaign-card-copy p {font-size:15px;line-height:1.75;}
.campaign-page .campaign-card-link {font-size:13px;min-height:48px;}
.campaign-page .campaign-card-note {font-size:11px;line-height:1.6;}
.campaign-page .participation-copy {padding:30px;row-gap:15px;}
.campaign-page .participation-copy > p:not(.participation-label) {font-size:15px;line-height:1.75;}
.campaign-page .participation-copy a {font-size:13px;min-height:48px;}
.campaign-page .participation-copy small {font-size:11px;line-height:1.6;}
.campaign-page :is(.campaign-care,.campaign-next,.campaign-participation) {padding-block:76px;}
.site-footer p {font-size:12px;line-height:1.8;}
.site-footer .footer-links {gap:16px 26px;flex-wrap:wrap;}
.quiz-page :is(.question-context,.quiz-answer-text,.result-lead,.result-real-text,.discovery-lead) {line-height:1.8;}
.quiz-page .question-card {padding:clamp(24px,3.5vw,42px);}
.quiz-page .question-options label {padding-block:18px;}
.quiz-page .answer-option {line-height:1.75;padding-block:18px;}
.quiz-page :is(.result-heading h2,.share-heading h2,.other-match-label) {overflow-wrap:anywhere;}
.quiz-page .other-match-label {min-width:0;}
.quiz-page .other-matches > summary {overflow-wrap:anywhere;}
.quiz-page .other-matches > summary > span {flex:0 0 auto;}
.quiz-page .intro-description {font-size:15px;line-height:1.85;}
.discover-page :is(.nearby-copy p,.reef-card-copy p,.care-grid p,.restoration-step-note,.restoration-stage-note) {font-size:15px;line-height:1.85;}
.discover-page .discover-jumps {gap:12px 28px;flex-wrap:wrap;}
.discover-page .reef-card-copy {max-width:48ch;}
.discover-page :is(.nearby-copy,.nearby-map) {min-width:0;}
.discover-page .nearby-copy h1 {overflow-wrap:anywhere;}
.discover-page .guide-grid h3 {overflow-wrap:anywhere;}
.discover-page :is(.guide-grid,.guide-grid article,.guide-scenes a,.guide-scene-copy) {min-width:0;}
.discover-page .guide-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.discover-page :is(.guide-grid a,.guide-scene-copy strong) {overflow-wrap:anywhere;}
.discover-page .guide-resume {white-space:normal;min-width:0;max-width:100%;overflow-wrap:anywhere;}
.discover-page .care-campaign p {color:var(--ink);}
.discover-page .reef-card-placeholder > strong {max-width:100%;overflow-wrap:anywhere;}
:root[data-locale="ta"] .reef-card-placeholder > strong {font-family:var(--sans);font-size:26px;line-height:1.4;}
.comparison-page .comparison-heading {top:max(calc(var(--site-header-height,110px) + 24px),15%);}
:root[data-locale="ta"] .quiz-page .quiz-intro h1 {font-size:clamp(36px,4.3vw,64px);line-height:1.4;letter-spacing:0;}
:root[data-locale="ta"] .quiz-page .intro-copy h1 {font-size:clamp(36px,4vw,54px);line-height:1.4;letter-spacing:0;}
:root[data-locale="ta"] .quiz-page .intro-title-last {white-space:normal;}
:root[data-locale="ta"] .quiz-page .question-aside h2 {font-size:clamp(26px,3vw,40px);line-height:1.45;}
:root[data-locale="ta"] .quiz-page .result-heading h2 {font-size:clamp(26px,3.6vw,46px);line-height:1.45;}
:root[data-locale="ta"] .quiz-page :is(.result-hero h1,.quiz-journey h1,.journey-heading) {font-size:clamp(28px,3.8vw,49px);line-height:1.4;}
:root[data-locale="ta"] :is(.campaign-section-heading h2,.campaign-care h2,.campaign-next h2,.discover-page h1,.discover-page h2) {font-size:clamp(30px,3.5vw,50px);}
:root[data-locale="ta"] .campaign-card-copy h3 {font-size:26px;}
:root[data-locale="ta"] .participation-copy h3 {font-size:26px;}
:root[data-locale="ms"] .campaign-card-copy h3 {font-size:clamp(28px,3vw,39px);}
:root[data-locale="ta"] :is(.scene-copy:not(.opening-copy) h2,.reef-impact h2) {font-size:clamp(26px,4vw,50px);}
:root[data-locale="ta"] :is(.scene-insight,.discovery-hint,.intro-line) {line-height:1.75;}
:root[data-locale="ta"] .nearby-map svg text {font-family:var(--sans);letter-spacing:0;}
@media(max-width:1100px) {
  .site-header {grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;}
  .site-header .campaign-nav {grid-column:1 / -1;grid-row:2;justify-self:start;gap:14px 28px;}
  .language-picker {grid-column:2;grid-row:1;}
  .site-header .campaign-nav a {min-height:36px;}
  .campaign-page .campaign-opening {padding-top:30px;}
}
@media(max-width:700px) {
  .site-header {gap:6px 10px;padding-block:17px;}
  .site-header .wordmark {font-size:23px;}
  .site-header .campaign-nav {gap:7px 19px;}
  .site-header .campaign-nav a {font-size:12px;min-height:36px;}
  .language-trigger {min-width:128px;gap:7px;padding-inline:8px;font-size:11px;}
  .language-globe {width:15px;height:15px;}
  .language-chevron {width:12px;height:12px;}
  .campaign-page :is(.campaign-care,.campaign-next,.campaign-participation) {padding-block:48px;}
  .campaign-page .campaign-card-copy {padding:26px;}
  .campaign-page .participation-copy {padding:26px;}
  .campaign-page .campaign-lead {font-size:15px;}
  .opening-actions {width:100%;gap:12px;}
  .opening-actions a {gap:8px;padding-inline:12px;}
  .discover-page .discover-jumps {display:flex;flex-wrap:nowrap;gap:22px;overflow-x:auto;scrollbar-width:thin;padding-block:10px;}
  .discover-page .discover-jumps a {white-space:nowrap;flex:0 0 auto;min-height:36px;}
  .discover-page .guide-grid {grid-template-columns:minmax(0,1fr);}
  .discover-page .guide-toolbar {flex-direction:column;align-items:flex-start;gap:10px;padding-block:14px;}
  .discover-page .guide-toolbar p {max-width:none;}
  .discover-page .guide-resume {align-self:stretch;}
  :root[data-locale="ta"] :is(.reef-guide > summary,.other-matches > summary) {display:block;position:relative;padding-right:36px;overflow-wrap:anywhere;}
  :root[data-locale="ta"] :is(.reef-guide > summary,.other-matches > summary) > span {position:absolute;right:12px;top:20px;}
  :root[data-locale="ta"] .quiz-page .quiz-intro h1 {font-size:36px;}
  :root[data-locale="ta"] .quiz-page .intro-copy h1 {font-size:32px;}
  :root[data-locale="ms"] .quiz-page .intro-copy h1 {font-size:clamp(34px,9.5vw,44px);}
  :root[data-locale="ms"] .quiz-page .intro-title-last {white-space:normal;}
  :root[data-locale="ta"] :is(.campaign-section-heading h2,.campaign-care h2,.campaign-next h2,.discover-page h1,.discover-page h2) {font-size:30px;}
  :root[data-locale="ta"] :is(.scene-copy:not(.opening-copy) h2,.reef-impact h2) {font-size:27px;}
  :root[data-locale="ta"] .quiz-page .question-card h1 {font-size:24px;line-height:1.5;}
  :root[data-locale="ta"] .quiz-page .share-heading h2 {font-size:24px;line-height:1.5;}
}
@media(max-width:380px) {
  .site-header .wordmark,.quiz-page .site-header .wordmark {font-size:18px;}
  .language-trigger {min-width:110px;gap:6px;}
  .language-globe {display:none;}
  .site-header .campaign-nav {gap:6px 14px;}
  :root[data-locale="ta"] .restoration-story {grid-template-columns:1fr;gap:12px;}
  :root[data-locale="ta"] .restoration-step summary {display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:14px;align-items:center;padding-block:12px;}
  :root[data-locale="ta"] .restoration-number {grid-column:1;grid-row:1;font-size:10px;}
  :root[data-locale="ta"] .restoration-art {grid-column:1;grid-row:2 / 4;width:72px;height:64px;}
  :root[data-locale="ta"] .restoration-step-title {grid-column:2;grid-row:2;font-size:17px;}
  :root[data-locale="ta"] .restoration-step-caption {grid-column:2;grid-row:3;min-height:0;font-size:12px;}
  :root[data-locale="ta"] .comparison-page .comparison-heading h1 {font-size:24px;}
}
@media(max-height:600px) and (min-width:701px) {
  .site-header {padding-block:10px;}
  .site-header .campaign-nav {gap:10px 22px;}
  .language-trigger {padding-block:8px;}
}
