 :root {
  --ink: #171715;
  --paper: #f0eee7;
  --paper-deep: #e3e0d6;
  --red: #d83b2f;
  --grey: #85837b;
  --line: rgba(23,23,21,.23);
  --display: "Oswald", Impact, sans-serif;
  --body: "DM Sans", Arial, sans-serif;
  --mono: "DM Mono", monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.topline { height: 29px; padding: 0 4.2vw; display:flex; align-items:center; justify-content:space-between; background:var(--ink); color:var(--paper); font: 9px var(--mono); letter-spacing:.11em; }
.status-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--red); margin-left:8px; }
.site-header { min-height: 86px; padding: 18px 4.2vw; display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid var(--line); }
.wordmark,.footer-wordmark { font:700 clamp(24px,3vw,42px)/.9 var(--display); letter-spacing:-.035em; max-width:350px; }
.period,.red-period { color:var(--red); }
.nav { display:flex; align-items:center; gap:clamp(18px,3.2vw,52px); font:500 10px var(--mono); letter-spacing:.07em; }
.nav a { position:relative; }
.nav a:not(.nav-contact)::after { content:""; position:absolute; left:0; bottom:-7px; width:0; height:2px; background:var(--red); transition:width .25s ease; }
.nav a:hover::after { width:100%; }
.nav-contact { border:1px solid var(--ink); padding:13px 15px; }
.nav-contact span { color:var(--red); margin-left:12px; font-size:15px; }
.menu-toggle { display:none; background:none; border:0; padding:8px; }
.menu-toggle span { display:block; width:25px; height:2px; background:var(--ink); margin:5px; }
.hero { position:relative; min-height: min(760px, 78vw); height:690px; overflow:hidden; background:#242522; color:var(--paper); }
.hero-image { position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(15,15,14,.92) 0%,rgba(15,15,14,.7) 38%,rgba(15,15,14,.15) 100%),url("https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=2200&q=90"); background-position:center; background-size:cover; transform:scale(1.015); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,10,10,.62),transparent 48%); }
.hero-content { position:relative; z-index:1; max-width:1000px; padding:clamp(50px,8vw,120px) 8vw 70px; }
.eyebrow,.section-number,.story-meta,.hero-index,.intro-aside,.about-heading,.academic-top,.footer,.work-divider,.image-label,.placeholder-stamp,.slot-caption { font:10px var(--mono); letter-spacing:.09em; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 28px; }
.red-rule { display:inline-block; width:29px; height:3px; background:var(--red); }
.hero h1 { font:700 clamp(76px,12.6vw,184px)/.82 var(--display); letter-spacing:-.045em; margin:0; max-width:1000px; }
.hero h1 em { color:transparent; -webkit-text-stroke:1.5px var(--paper); font-style:normal; }
.hero-bottom { display:flex; align-items:flex-end; justify-content:space-between; max-width:720px; gap:30px; margin-top:36px; }
.circle-link { display:flex; align-items:center; justify-content:center; flex-direction:column; flex-shrink:0; width:104px; height:104px; border:1px solid var(--paper); border-radius:50%; text-align:center; font:10px/1.6 var(--mono); transition:background .2s,color .2s,transform .2s; }
.circle-link span { color:var(--red); font-size:18px; }
.circle-link:hover { background:var(--paper); color:var(--ink); transform:rotate(-7deg); }
.hero-index { position:absolute; right:4.2vw; bottom:34px; color:#d0cec7; }
.hero-index span { color:var(--red); }
.intro-strip { padding:22px 4.2vw; display:grid; grid-template-columns:1fr 2fr 1fr; align-items:center; border-bottom:1px solid var(--line); gap:20px; }
.section-number { color:var(--red); }
.intro-strip p { font-size:18px; font-weight:600; margin:0; }
.intro-aside { text-align:right; color:var(--grey); font-size:9px; }
.work-section { padding:60px 4.2vw 100px; }
.feature-story { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(28px,5vw,76px); align-items:center; }
.feature-image { position:relative; min-height:530px; overflow:hidden; display:block; background:#242522; }
.feature-image img { width:100%; height:100%; min-height:530px; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.feature-image:hover img { transform:scale(1.04); }
.feature-image::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(216,59,47,.18),transparent 40%,rgba(0,0,0,.4)); pointer-events:none; }
.image-label { position:absolute; z-index:2; top:20px; left:20px; color:white; background:var(--red); padding:10px 12px; font-size:9px; }
.image-label b { margin-left:22px; font-size:15px; }
.feature-number { position:absolute; right:20px; bottom:12px; z-index:2; font:700 100px/.9 var(--display); color:rgba(240,238,231,.8); }
.feature-copy { padding:20px 0; }
.story-meta { display:flex; flex-wrap:wrap; gap:9px 18px; color:var(--grey); font-size:9px; margin-bottom:24px; }
.story-meta span:first-child { color:var(--red); }
.feature-copy h2 { font:700 clamp(55px,7.5vw,108px)/.9 var(--display); letter-spacing:-.035em; margin:0 0 25px; }
.feature-deck { font-size:clamp(20px,2.3vw,29px); line-height:1.18; font-weight:600; max-width:520px; margin:0 0 20px; }
.feature-description { color:#5f5d57; font-size:14px; line-height:1.7; max-width:440px; margin:0 0 29px; }
.text-link { display:inline-flex; align-items:center; gap:24px; padding-bottom:7px; border-bottom:1px solid var(--ink); font:500 10px var(--mono); letter-spacing:.08em; transition:color .2s,border-color .2s; }
.text-link span { color:var(--red); font-size:17px; transition:transform .2s; }
.text-link:hover { color:var(--red); border-color:var(--red); }
.text-link:hover span { transform:translate(3px,-2px); }
.work-divider { margin:74px 0 25px; padding:15px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; color:var(--grey); font-size:9px; }
.story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.story-card { min-width:0; }
.card-image { display:block; position:relative; height:290px; margin-bottom:20px; overflow:hidden; background:#292a28; }
.card-image::before { content:""; position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s; }
.card-image:hover::before { transform:scale(1.05); }
.gun-story::before { background-image:linear-gradient(120deg,rgba(10,10,10,.12),rgba(10,10,10,.48)),url("images/guns.jpg"); }
.homelessness::before { background-image:linear-gradient(120deg,rgba(10,10,10,.1),rgba(10,10,10,.42)),url("images/homeless.jpeg"); }
.sudan-history::before { background-image:linear-gradient(120deg,rgba(10,10,10,.08),rgba(10,10,10,.45)),url("images/sudan-history.jpg"); }
.sudan-west::before { background-image:linear-gradient(120deg,rgba(10,10,10,.08),rgba(10,10,10,.45)),url("images/sudan-west.jpg"); }
.budget::before { background-image:linear-gradient(120deg,rgba(10,10,10,.08),rgba(10,10,10,.42)),url("images/budget.jpg"); }
.pub-test::before { background-image:linear-gradient(120deg,rgba(10,10,10,.08),rgba(10,10,10,.42)),url("images/pub-test-election.png"); }
.climate::before { background-image:linear-gradient(120deg,rgba(10,10,10,.08),rgba(10,10,10,.42)),url("images/pub-test-election.png"); }
.gambling::before { background-image:linear-gradient(120deg,rgba(10,10,10,.08),rgba(10,10,10,.5)),url("images/gambling.jpg"); }
.three-d-guns::before { background-image:linear-gradient(120deg,rgba(10,10,10,.08),rgba(10,10,10,.5)),url("images/3d-guns.png"); }
.broadcast-cover { background:#20211f; }
.broadcast-grid .card-image { height:auto; aspect-ratio:16/9; }
.broadcast-cover::before { background:linear-gradient(135deg,#45463f,#171715 72%); }
.broadcast-cowra::before { content:none; }
.broadcast-cowra img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.broadcast-rehab::before { background-image:linear-gradient(0deg,rgba(10,10,10,.18),rgba(10,10,10,.08)),url("images/video-csu-graduation.png"); }
.broadcast-coroner::before { background-image:linear-gradient(0deg,rgba(10,10,10,.18),rgba(10,10,10,.08)),url("images/video-gyro-copter.png"); }
.broadcast-property::before { background-image:linear-gradient(0deg,rgba(10,10,10,.18),rgba(10,10,10,.08)),url("images/video-property.png"); }
.broadcast-molong::before { background-image:linear-gradient(0deg,rgba(10,10,10,.18),rgba(10,10,10,.08)),url("images/video-molong.png"); }
.broadcast-label { position:absolute; z-index:2; top:18px; left:18px; color:var(--paper); font:9px/1.7 var(--mono); letter-spacing:.08em; }
.broadcast-cover .card-index { z-index:2; }
.placeholder-stamp { position:absolute; left:17px; top:17px; padding:10px; color:white; border:1px solid rgba(255,255,255,.65); font-size:8px; line-height:1.5; }
.card-index { position:absolute; right:16px; bottom:8px; font:700 74px/.9 var(--display); color:rgba(255,255,255,.8); }
.story-card .story-meta { margin-bottom:14px; font-size:8px; justify-content:space-between; }
.story-card h3 { font:600 clamp(28px,3vw,42px)/.98 var(--display); margin:0 0 15px; letter-spacing:-.015em; }
.card-note { color:#77746c; font-size:12px; line-height:1.6; min-height:58px; }
.story-card .text-link { margin-top:8px; }
.collection-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:38px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.collection-heading h2 { margin:0; font:600 clamp(38px,6vw,76px)/.95 var(--display); letter-spacing:-.025em; text-align:right; }
.additional-work { padding-top:35px; }
.additional-work .feature-story { margin-top:0; }
.lorikeet-feature { margin-bottom:56px!important; }
.lorikeet-reel-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.lorikeet-reel-grid .card-image { height:auto; aspect-ratio:9/14; }
.lorikeet-change::before { background-image:linear-gradient(0deg,rgba(10,10,10,.16),rgba(10,10,10,.04)),url("images/lorikeet-change.png"); }
.lorikeet-japanese::before { background-image:linear-gradient(0deg,rgba(10,10,10,.16),rgba(10,10,10,.04)),url("images/japanese-chatswood.png"); }
.lorikeet-mandarin::before { background-image:linear-gradient(0deg,rgba(10,10,10,.16),rgba(10,10,10,.04)),url("images/mandarin-centre.png"); }
.lorikeet-music-reel::before { background-image:linear-gradient(0deg,rgba(10,10,10,.16),rgba(10,10,10,.04)),url("images/lorikeet-music.png"); }
.story-card-dark { background:var(--ink); color:var(--paper); padding:0 18px 22px; }
.open-slot { height:290px; margin:0 -18px 20px; background:var(--paper-deep); color:var(--ink); display:flex; align-items:center; justify-content:center; flex-direction:column; }
.open-slot::before { content:""; position:absolute; width:76%; height:76%; border:1px solid rgba(23,23,21,.2); }
.slot-cross { font:300 65px/1 var(--body); color:var(--red); }
.slot-caption { margin-top:15px; text-align:center; font-size:9px; line-height:1.7; }
.story-card-dark .story-meta span { color:#b5b2aa; }
.story-card-dark h3 { color:var(--paper); }
.story-card-dark .card-note { color:#aaa79f; }
.story-card-dark .text-link { border-color:var(--paper); }
.about-section { padding:75px 8vw 100px; }
.about-heading,.academic-top { display:flex; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid var(--line); color:var(--grey); }
.about-heading .section-number,.academic-top .section-number { color:var(--red); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding-top:50px; }
.about-title h2 { font:700 clamp(62px,9vw,120px)/.87 var(--display); letter-spacing:-.04em; margin:0; }
.about-title h2 em { font-style:normal; color:transparent; -webkit-text-stroke:1.5px var(--ink); }
.about-portrait { max-width:390px; margin:42px 0 0; }
.about-portrait img { display:block; width:100%; max-height:480px; aspect-ratio:4/5; object-fit:cover; object-position:center 28%; }
.about-portrait figcaption { display:flex; justify-content:space-between; gap:12px; padding-top:10px; color:var(--ink); font:9px var(--mono); letter-spacing:.08em; }
.about-portrait figcaption span { color:var(--grey); }
.about-copy { max-width:540px; padding-top:7px; }
.about-copy p { color:#5d5b54; font-size:14px; line-height:1.85; }
.about-copy .about-lede { color:var(--ink); font-size:clamp(20px,2.5vw,28px); line-height:1.3; font-weight:600; margin-top:0; }
.placeholder-inline { border-left:3px solid var(--red); padding:12px 16px; background:var(--paper-deep); font-size:12px!important; }
.about-copy .text-link { margin-top:18px; }
.academic-section { padding:40px 8vw 80px; background:var(--ink); color:var(--paper); }
.academic-top { border-color:rgba(240,238,231,.25); }
.academic-top .section-number { color:#ef6b60; }
.academic-section h2 { font:700 clamp(70px,12vw,160px)/.84 var(--display); letter-spacing:-.04em; margin:65px 0 28px; }
.academic-section > p { color:#c3c0b8; font-size:15px; line-height:1.6; margin:0 0 26px; }
.academic-link { display:inline-flex; align-items:center; gap:28px; padding:17px 20px; background:var(--red); color:white; font:500 10px var(--mono); letter-spacing:.08em; }
.academic-link span { font-size:18px; }
.footer { display:grid; grid-template-columns:2fr 2fr 1fr; align-items:center; gap:20px; padding:26px 4.2vw; font-size:8px; }
.footer-wordmark { font-size:clamp(20px,2.5vw,30px); }
.footer > span:nth-child(2) { color:var(--grey); }
.back-top { text-align:right; }
.footer-contact { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:18px 28px; padding:2px 0 12px; color:var(--grey); }
.footer-contact a:hover { color:var(--red); }
.copyright { grid-column:1/-1; border-top:1px solid var(--line); padding-top:15px; color:var(--grey); }

@media (min-width:1500px) {
  .hero-content { padding-left:10vw; }
  .work-section { padding-left:7vw; padding-right:7vw; }
}
@media (max-width:900px) {
  .site-header { min-height:74px; }
  .wordmark { max-width:250px; }
  .nav { gap:18px; font-size:9px; }
  .nav-contact { padding:11px; }
  .hero { height:620px; min-height:620px; }
  .hero-content { padding-top:100px; }
  .hero h1 { font-size:clamp(76px,13vw,120px); }
  .feature-story { grid-template-columns:1fr; gap:24px; }
  .feature-image,.feature-image img { min-height:430px; max-height:520px; }
  .feature-copy { padding:0 3vw; }
  .feature-copy h2 { font-size:clamp(70px,12vw,100px); }
  .story-grid { gap:15px; }
  .card-image,.open-slot { height:230px; }
  .lorikeet-reel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .story-card-dark .open-slot { margin-left:-18px; margin-right:-18px; }
  .story-card h3 { font-size:30px; }
}
@media (max-width:650px) {
  .topline { padding:0 5vw; font-size:7px; }
  .site-header { padding:16px 5vw; }
  .wordmark { font-size:27px; max-width:240px; }
  .menu-toggle { display:block; cursor:pointer; }
  .nav { display:none; position:absolute; top:104px; left:0; right:0; z-index:10; background:var(--paper); padding:25px 5vw 30px; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:22px; }
  .nav.is-open { display:flex; }
  .nav a { font-size:11px; }
  .nav-contact { text-align:center; }
  .hero { height:660px; min-height:660px; }
  .hero-image { background-position:58% center; background-image:linear-gradient(90deg,rgba(15,15,14,.9),rgba(15,15,14,.48)),url("https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=1200&q=85"); }
  .hero-content { padding:90px 6vw 60px; }
  .eyebrow { font-size:8px; line-height:1.6; margin-bottom:34px; }
  .hero h1 { font-size:clamp(69px,15vw,105px); }
  .hero-bottom { margin-top:38px; align-items:flex-start; flex-direction:column; }
  .circle-link { width:83px; height:83px; font-size:8px; align-self:flex-end; margin-top:-15px; }
  .hero-index { right:6vw; bottom:20px; font-size:8px; }
  .intro-strip { padding:20px 5vw; grid-template-columns:1fr; gap:10px; }
  .intro-strip p { font-size:20px; }
  .intro-aside { text-align:left; }
  .work-section { padding:42px 5vw 65px; }
  .feature-image,.feature-image img { min-height:320px; }
  .feature-copy { padding:0; }
  .story-meta { gap:8px 12px; font-size:8px; margin-bottom:18px; }
  .feature-copy h2 { font-size:clamp(60px,14vw,88px); }
  .feature-deck { font-size:23px; }
  .feature-description { font-size:13px; }
  .work-divider { margin:50px 0 22px; gap:15px; line-height:1.6; font-size:8px; }
  .story-grid { grid-template-columns:1fr; gap:38px; }
  .card-image,.open-slot { height:300px; }
  .broadcast-grid .card-image,.lorikeet-reel-grid .card-image { height:auto; }
  .lorikeet-reel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 15px; }
  .collection-heading { align-items:flex-start; flex-direction:column; gap:10px; margin-bottom:28px; }
  .collection-heading h2 { text-align:left; }
  .additional-work { padding-top:24px; }
  .story-card h3 { font-size:38px; }
  .card-note { min-height:0; }
  .story-card-dark { padding-bottom:24px; }
  .about-section { padding:50px 6vw 65px; }
  .about-heading,.academic-top { gap:20px; font-size:8px; line-height:1.6; }
  .about-grid { grid-template-columns:1fr; gap:35px; padding-top:38px; }
  .about-title h2 { font-size:clamp(68px,15vw,100px); }
  .about-portrait { max-width:420px; margin-top:30px; }
  .about-copy .about-lede { font-size:23px; }
  .academic-section { padding:30px 6vw 55px; }
  .academic-section h2 { font-size:clamp(65px,14vw,105px); margin:50px 0 24px; }
  .footer { padding:24px 5vw; grid-template-columns:1fr 1fr; gap:18px; line-height:1.6; }
  .footer-wordmark { grid-column:1/-1; }
  .footer > span:nth-child(2) { grid-column:1/-1; }
  .back-top { text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
