:root{color-scheme:light;--paper:#f8f5ec;--ink:#172a25;--muted:#4e5d54;--line:#d7d9cc;--green:#173b32;--lime:#dbe89a;--gold:#a34c31;--serif:Georgia,"Noto Serif TC","PMingLiU",serif;--sans:system-ui,"Microsoft JhengHei",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.75 var(--sans)}
img,video{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.22em}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid #b15532;outline-offset:4px}
[hidden]{display:none!important}
.skip{position:fixed;top:0;left:1rem;z-index:10;transform:translateY(-120%);background:white;padding:.5rem 1rem}
.skip:focus{transform:none}
.wrap{width:min(1220px,calc(100% - 5rem));margin-inline:auto}
.top{position:sticky;top:0;background:var(--paper);z-index:3;border-bottom:1px solid var(--line)}
.top .wrap{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem;font:700 1rem var(--serif);text-decoration:none}
.mark{display:grid;place-items:center;border-radius:50%;width:29px;height:29px;color:var(--lime);background:var(--green);font:1rem var(--sans)}
.top nav{display:flex;align-items:center;gap:clamp(.8rem,2.3vw,2rem);font-size:.88rem;font-weight:650}
.top nav a{text-decoration:none;white-space:nowrap}
.top nav a:hover,.brand:hover{color:var(--gold)}
.hero{position:relative;background:var(--green);color:white;isolation:isolate;min-height:clamp(560px,77svh,780px);display:flex;align-items:end}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102c23ed,#102c23a6 38%,#102c2310 90%),linear-gradient(0deg,#132b24c9,transparent 55%);z-index:-1}
.hero .wrap{padding-block:4rem 4.7rem}
.kicker{font-size:.71rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;margin:0 0 .9rem;display:flex;align-items:center;gap:.7rem}
.kicker::before{content:"";width:24px;border-top:1px solid currentColor}
.hero .kicker{color:var(--lime)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);line-height:1.1;font-weight:500}
h1{font-size:clamp(3rem,8vw,7.6rem);letter-spacing:-.075em}
h1 em{color:var(--lime);font-weight:500}
.hero p:not(.kicker){margin:1.6rem 0 1.7rem;font-size:clamp(.98rem,2vw,1.19rem);max-width:31em;color:#f7f5ec}
.hero nav{display:flex;gap:.6rem;flex-wrap:wrap}
.pill{border:1px solid currentColor;border-radius:100px;padding:.48rem 1rem;text-decoration:none;font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;gap:.7rem;min-height:44px}
.pill.primary{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.hero .pill:hover{background:white;border-color:white;color:var(--ink)}
.hero-credit{display:block;margin-top:1.3rem;color:#fff;font-size:.73rem}
.intro{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:2rem;padding-block:3.5rem;border-bottom:1px solid var(--line)}
.intro h2{font-size:clamp(1.75rem,4vw,3.3rem)}
.intro p:not(.kicker),.section-head>p{color:var(--muted);max-width:40em}
section.chapter,.collection{padding-block:clamp(3.5rem,8vw,7rem)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}
.section-head h2{font-size:clamp(2.7rem,7vw,6rem);letter-spacing:-.065em}
.section-head h2 small{display:block;font:600 clamp(1rem,2vw,1.4rem)/1.4 var(--sans);letter-spacing:.12em;margin-top:.65rem}
.section-head .kicker{color:var(--gold)}
.chapter-links{display:flex;flex-wrap:wrap;gap:.4rem .65rem;margin-bottom:2rem}
.chapter-links a{padding:.38rem .75rem;border:1px solid var(--line);border-radius:2rem;text-decoration:none;font-size:.84rem;display:inline-flex;align-items:center;min-height:44px}
.chapter-links a:hover{background:#e5ead7}
.bris-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.story{border:1px solid var(--line);border-radius:.8rem;overflow:hidden;background:#fffdf6}
.story .body{padding:clamp(1.15rem,3vw,2rem)}
.story h3{font-size:clamp(1.45rem,3vw,2.3rem);margin-bottom:.35rem}
.story p{margin-top:.65rem;color:var(--muted)}
.story a.source{display:inline-block;font-size:.83rem;margin-top:1rem;color:#724029;font-weight:700}
.story .sub{font-size:.83rem;font-weight:750;color:#526a53;margin:0}
.story .visual{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.placeholder{height:auto!important;display:grid;place-items:center;text-align:center;background:repeating-linear-gradient(135deg,#e8edda,#e8edda 1px,#edf0e3 1px,#edf0e3 11px);color:#354d3d;font-size:.92rem;font-weight:700}
.placeholder span{background:var(--paper);border:1px solid #c4cdbb;border-radius:50px;padding:.4rem .85rem}
#cairns{background:#e9eee3}
.cairns-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.story.feature{display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch;grid-column:1/-1}
.story.feature .body{align-self:center}
.story.feature .visual{aspect-ratio:16/10}
.story.feature.flip .visual{order:2}
.collection+.collection{border-top:1px solid var(--line)}
.collection .section-head h2{font-size:clamp(2.35rem,5vw,4.15rem);letter-spacing:-.035em}
.filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem}
.filters button{min-height:44px;border:1px solid #a9b7a9;background:transparent;border-radius:50px;padding:.38rem 1.1rem;font-weight:700}
.filters button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}
#gallery-count{color:var(--muted);font-size:.86rem;margin-bottom:1rem}
.gallery,.videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.gallery figure,.videos figure{min-width:0;background:#fffdf6;border:1px solid var(--line);border-radius:.7rem;overflow:hidden}
.gallery a{display:block;position:relative}
.gallery a::after{content:"+";position:absolute;right:.55rem;bottom:.55rem;display:grid;place-items:center;width:2rem;height:2rem;background:#122f27e8;color:white;border-radius:50%;font-size:1.1rem;pointer-events:none}
.gallery a:focus-visible{outline-offset:-4px}
.gallery a:hover img{filter:brightness(.9)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
figcaption{padding:.7rem .9rem;font-weight:700}
figcaption small{display:block;color:var(--muted);font-weight:500}
.videos video{width:100%;aspect-ratio:16/9;background:#132823;object-fit:contain}
.videos a{font-size:.82rem;font-weight:600;display:inline-block}
.footer{background:var(--green);color:var(--paper)}
.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:2rem}
.footer small{color:#dce4d3}
dialog{width:min(980px,calc(100% - 1.2rem));max-height:calc(100% - 1.2rem);border:1px solid #62766b;border-radius:.8rem;background:#152c24;color:white;padding:0;overflow:auto}
dialog::backdrop{background:#0c1714df}
.lightbar{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.55rem .7rem}
.lightbar button{min-height:44px;min-width:44px;background:#29483a;border:1px solid #829587;border-radius:2rem;color:white;padding:.25rem .65rem}
dialog img{max-height:70dvh;max-width:100%;margin:auto;object-fit:contain}
dialog figcaption{text-align:center}
@media(max-width:760px){.wrap{width:calc(100% - 2rem)}.top .wrap{min-height:76px;align-items:flex-start;flex-direction:column;justify-content:center;gap:.25rem}.top nav{gap:1rem}.top nav a{display:inline-flex;align-items:center;min-height:30px}.hero{min-height:590px;min-height:min(670px,82svh)}.hero .wrap{padding-block:3rem 2.5rem}.hero::after{background:linear-gradient(0deg,#102c23f2,#102c2396 53%,#102c2320 90%)}.hero>img{object-position:56% center}.intro,.section-head{display:block}.intro h2,.section-head h2{margin-bottom:1rem}.gallery,.videos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.story.feature{display:block}.story.feature .visual{aspect-ratio:4/3}}
@media(max-width:490px){.bris-grid,.cairns-grid,.videos{grid-template-columns:1fr}.story:not(.feature) .visual{aspect-ratio:16/10}figcaption{font-size:.86rem;padding:.55rem .65rem}.footer .wrap{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#brisbane .placeholder{aspect-ratio:2.25}
#cairns .placeholder{aspect-ratio:3}
