/* =====================================================================
   THE HONEST FIELD GUIDE — theme layer
   Loaded after site.css. Palette drawn from the landscape itself:
   Uluru red earth · spinifex gold · eucalyptus · reef teal · outback night.
   ===================================================================== */
:root{
  --navy:#1c2630;          /* outback night — replaces the generic navy */
  --navy-2:#27343f;
  --ink:#211a13;
  --body:#4b4236;
  --sand:#f3ebdc;          /* page: field-notebook paper */
  --paper:#fffaf0;
  --paper-2:#ece1cc;
  --line:#dfcfb2;
  --coral:#b4532a;         /* red earth — primary */
  --ochre:#c8742f;
  --ochre-dk:#8f4a1c;
  --gold:#e0a444;          /* spinifex */
  --reef:#1f7a86;
  --gum:#5f7d6a;           /* eucalyptus */
  --gum-dk:#3d5646;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --shadow:0 1px 0 rgba(33,26,19,.06),0 10px 26px -14px rgba(33,26,19,.35);
  --shadow-lg:0 26px 60px -28px rgba(28,38,48,.55);
  --radius:14px; --radius-sm:9px;
}

/* ---------- paper ---------- */
body{background:var(--sand);color:var(--body)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .18 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2,h3,h4{color:var(--ink);font-variation-settings:"SOFT" 60,"WONK" 0;letter-spacing:-.015em}
h1{font-weight:620;font-variation-settings:"SOFT" 100,"WONK" 1}
h2{font-weight:600}
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}

/* ---------- field-note labels ---------- */
.eyebrow{font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.14em;color:var(--coral);
  display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:1.5px;background:currentColor;opacity:.7}
.center .eyebrow,.eyebrow.center{justify-content:center}
.section--navy .eyebrow{color:var(--gold)}

/* ---------- stamp ---------- */
.stamp{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.7rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--coral);border:1.5px solid currentColor;
  outline:1.5px solid currentColor;outline-offset:2px;padding:5px 10px;border-radius:3px;transform:rotate(-2.5deg);
  background:rgba(255,250,240,.6)}
.stamp--light{color:#ffd99a;background:rgba(28,38,48,.35)}
.stamp--gum{color:var(--gum-dk)}

/* ---------- header ---------- */
.hdr{background:rgba(243,235,220,.93);border-bottom:1px solid var(--line)}
.hdr::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;
  background:repeating-linear-gradient(90deg,var(--coral) 0 18px,transparent 18px 26px);opacity:.35}
.logo{gap:11px;color:var(--ink);align-items:center}
.logo__txt{display:flex;flex-direction:column;line-height:1.05}
.logo__txt b{font-family:var(--serif);font-weight:650;font-size:1.1rem;letter-spacing:-.02em}
.logo__txt b span{color:var(--coral)}
.logo__txt small{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gum-dk);margin-top:3px}
.nav a{font-weight:500}
.nav a:not(.btn):hover{color:var(--coral)}
@media(max-width:430px){.logo__txt small{display:none}.logo__txt b{font-size:.98rem}}

/* ---------- buttons: letterpress ---------- */
.btn{border-radius:10px;font-weight:600;letter-spacing:.005em}
.btn--primary{background:var(--coral);color:#fff9ef;box-shadow:3px 3px 0 var(--ink);border:1.5px solid var(--ink)}
.btn--primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink);background:#c25e33}
.btn--primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn--ghost{border:1.5px solid var(--ink);color:var(--ink);background:transparent}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--light{background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);box-shadow:3px 3px 0 rgba(0,0,0,.35)}
.btn--light:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(0,0,0,.35)}

/* ---------- hero: outback dusk ---------- */
.hero::after{background:
  linear-gradient(180deg,rgba(28,38,48,.55) 0%,rgba(60,32,18,.35) 45%,rgba(28,38,48,.92) 100%)}
.hero h1{color:#fff7ea}
.hero__tag{font-family:var(--mono);font-weight:500;background:rgba(28,38,48,.45);border:1.5px solid rgba(224,164,68,.8);
  color:#ffd99a;border-radius:3px;outline:1.5px solid rgba(224,164,68,.5);outline-offset:2px;transform:rotate(-1.5deg)}
.hero__facts{border-top:1px dashed rgba(255,247,234,.35)}
.hero__facts b{font-family:var(--serif)}
.hero__facts div{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em}
.rv-hero::after{background:linear-gradient(180deg,rgba(28,38,48,.55),rgba(40,26,16,.9))}

/* ---------- trust bar ---------- */
.trust{background:var(--navy);color:#d8cbb4;border-top:3px solid var(--coral)}
.trust ul{font-family:var(--mono);font-size:.78rem;letter-spacing:.03em}
.trust .ic{color:var(--gold);width:17px;height:17px}

/* ---------- sections & motifs ---------- */
.section--paper{background:var(--paper-2);position:relative}
.section--paper::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;
  background:url("/assets/img/contours.svg") center/960px repeat}
.section--paper > *{position:relative}
.section--navy{background:var(--navy);color:#d8cbb4;position:relative;overflow:hidden}
.section--navy::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;
  background:url("/assets/img/contours-light.svg") center/960px repeat}
.section--navy > *{position:relative}
.section--navy h2,.section--navy h3{color:#fff7ea}
.contour-rule{height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='26'%3E%3Cpath d='M0 13c20-9 40-9 60 0s40 9 60 0 40-9 60 0 40 9 60 0' fill='none' stroke='%23b4532a' stroke-width='1.5' opacity='.5'/%3E%3C/svg%3E") repeat-x center;margin:0 auto;max-width:var(--wrap)}

/* ---------- cards ---------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px) rotate(-.25deg)}
.card__img{position:relative}
.card__img::after{content:"";position:absolute;inset:0;box-shadow:inset 0 -40px 40px -30px rgba(28,38,48,.35);pointer-events:none}
.card__meta{border-top:1px dashed var(--line)}
.card__price{font-family:var(--serif)}
.card__price small{font-family:var(--mono);letter-spacing:.12em}
.card__facts{list-style:none;padding:0;margin:0 0 14px;font-size:.88rem;color:#5d5243;display:grid;gap:5px}
.card__facts li{display:flex;gap:8px;align-items:center}
.card__facts .ic{color:var(--gum)}

/* chips: squared, stamped */
.chip{border-radius:4px;font-family:var(--mono);font-weight:500;letter-spacing:.08em;font-size:.66rem;
  background:#f7e7d2;color:var(--ochre-dk);border:1px solid #e8cfaf}
.chip--navy{background:#e5e9e3;color:var(--gum-dk);border-color:#cbd6cb}
.chip--reef{background:#dcefee;color:#155c65;border-color:#b9dcdc}

/* ---------- TRUE COST ---------- */
.tc{margin:0 0 14px;padding:11px 13px;border:1.5px dashed var(--coral);border-radius:10px;background:#fff4e6;
  display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;font-size:.86rem}
.tc .ic{grid-row:span 2;color:var(--coral);width:22px;height:22px}
.tc b{font-family:var(--serif);font-size:1.08rem;color:var(--ink)}
.tc small{grid-column:2;color:#6a5d4b;font-size:.76rem;line-height:1.3}
.tc__up{grid-row:span 2;font-family:var(--mono);font-size:.72rem;font-weight:500;padding:4px 7px;border-radius:4px;background:var(--coral);color:#fff9ef}
.tc__up--low{background:var(--gum)}
.tc--land{border-color:var(--ochre-dk);background:#fbead5}

.tcpanel{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--radius);padding:26px;box-shadow:6px 6px 0 var(--ink)}
.tcpanel h3{display:flex;align-items:center;gap:10px;margin:0 0 .2em}
.tcpanel h3 .ic{color:var(--coral)}
.tcbar{display:flex;height:34px;border-radius:7px;overflow:hidden;border:1.5px solid var(--ink);margin:18px 0 10px}
.tcbar span{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.7rem;color:#fff9ef;white-space:nowrap;overflow:hidden}
.tcbar .b{background:var(--gum-dk)}
.tcbar .m{background:var(--ochre)}
.tcbar .f{background:var(--coral)}
.tclegend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.84rem;margin-bottom:14px}
.tclegend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.tcrows{list-style:none;padding:0;margin:0;font-size:.93rem}
.tcrows li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.tcrows li b{font-family:var(--mono);font-weight:500;color:var(--ink)}
.tcrows li.total{border-bottom:0;border-top:2px solid var(--ink);margin-top:4px;padding-top:12px;font-weight:600}
.tcrows li.total b{font-family:var(--serif);font-size:1.3rem;font-weight:650}

/* league table on /true-cost/ */
.league{display:grid;gap:10px}
.league__row{display:grid;grid-template-columns:34px minmax(0,1.5fr) minmax(0,2fr) 84px;gap:14px;align-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:11px 14px}
.league__row:hover{border-color:var(--coral)}
.league__n{font-family:var(--mono);font-weight:500;font-size:.9rem;color:var(--coral);text-align:center}
.league__name a{color:var(--ink);font-weight:600;text-decoration:none;font-size:.93rem;line-height:1.3;display:block}
.league__name small{font-family:var(--mono);font-size:.68rem;color:#7a6c58;letter-spacing:.04em}
.league__bars{display:grid;gap:4px}
.league__bar{height:9px;border-radius:5px}
.league__bar.b{background:#b7c4b4}
.league__bar.t{background:var(--coral)}
.league__val{text-align:right;font-family:var(--serif);font-size:1.12rem;color:var(--ink);font-weight:650}
.league__val small{display:block;font-family:var(--mono);font-size:.64rem;color:#7a6c58;font-weight:400}
@media(max-width:640px){.league__row{grid-template-columns:26px 1fr 70px}.league__bars{grid-column:2/4}}

/* ---------- region mosaic ---------- */
.regions{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px}
.region{position:relative;border-radius:var(--radius);overflow:hidden;display:block;color:#fff7ea;text-decoration:none;border:1.5px solid var(--ink)}
.region:nth-child(1){grid-column:span 2;grid-row:span 2}
.region:nth-child(6){grid-column:span 2}
.region img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.region:hover img{transform:scale(1.06)}
.region::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(28,38,48,.88))}
.region__b{position:absolute;left:16px;right:16px;bottom:14px;z-index:1}
.region__b h3{color:#fff7ea;margin:0;font-size:1.2rem}
.region:nth-child(1) .region__b h3{font-size:1.8rem}
.region__b span{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#ffd99a}
@media(max-width:860px){.regions{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.region:nth-child(6){grid-column:auto}}

/* ---------- wildlife strip ---------- */
.critters{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:14px;overflow-x:auto;padding:4px 2px 14px;
  scroll-snap-type:x mandatory;scrollbar-width:thin}
.critter{scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.critter__img{aspect-ratio:1/1;overflow:hidden}
.critter__img img{width:100%;height:100%;object-fit:cover}
.critter__b{padding:13px 15px 16px}
.critter__b h3{font-size:1.02rem;margin:0 0 .15em}
.critter__b em{display:block;font-family:var(--mono);font-style:normal;font-size:.66rem;letter-spacing:.06em;color:var(--gum-dk);margin-bottom:6px}
.critter__b p{font-size:.86rem;margin:0}

/* ---------- filters ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}
.filters button{font:500 .8rem var(--mono);letter-spacing:.04em;padding:8px 13px;border-radius:6px;border:1.5px solid var(--ink);
  background:var(--paper);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.filters button .n{opacity:.6}
[hidden]{display:none!important}

/* ---------- highlight tiles ---------- */
.hl__item{background:var(--paper);border:1px solid var(--line)}
.hl__ico{background:#f7e2c9;color:var(--coral);border-radius:10px;border:1.5px solid rgba(180,83,42,.35)}
.hl__ico .ic{width:22px;height:22px}

/* ---------- ledgers, verdicts, bands ---------- */
th{font-family:var(--mono);background:#efe3cd;letter-spacing:.08em;font-weight:500}
td b{font-family:var(--mono);font-weight:500}
.tablewrap{background:var(--paper);border-color:var(--line)}
.pricebox,.verdict{background:linear-gradient(160deg,#1c2630,#2d2419);position:relative;overflow:hidden}
.pricebox::before,.verdict::before{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;
  background:url("/assets/img/contours-light.svg") center/700px}
.pricebox > *,.verdict > *{position:relative}
.ctaband{background:var(--coral);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--ink);position:relative;overflow:hidden}
.ctaband::before{content:"";position:absolute;inset:0;opacity:.12;background:url("/assets/img/contours-light.svg") center/800px}
.ctaband > *{position:relative}
.disclosure{background:#fbf1e1;border:1px dashed #d9bf94;color:#6b5a3e}
.ftr{background:#161e26;border-top:4px solid var(--coral)}
.faq details,.itin details{background:var(--paper)}
.itin .day{background:var(--ink);font-family:var(--mono);font-weight:500;font-size:.74rem;letter-spacing:.04em}
.itin .body .meal{font-family:var(--mono);background:#e8efe6;color:var(--gum-dk);border-color:#c9d8c8}
.crumbs{font-family:var(--mono);font-size:.74rem}
.pin{background:var(--coral)}
.pin--major{background:var(--gold)}
.maproute path{stroke:var(--coral)}
.score{background:conic-gradient(var(--gold) calc(var(--pct)*1%),rgba(255,255,255,.14) 0)}
.score::after{background:#232c33}
.pc--pro{background:#eef5ef}
.pc--con{background:#fbefea}

/* ---------- homepage hero with specimen card ---------- */
.hero--home .hero__in{padding-top:clamp(56px,8vw,96px)}
.hero__split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:44px;align-items:center}
.hero--home h1{font-size:clamp(2.4rem,6vw,4.4rem);max-width:12ch}
.hero--home h1 i{font-style:italic;color:#ffcf86;font-variation-settings:"SOFT" 100,"WONK" 1}
.specimen{background:rgba(255,248,236,.96);color:var(--ink);border:1.5px solid var(--ink);border-radius:14px;padding:24px 24px 20px;
  box-shadow:8px 8px 0 rgba(0,0,0,.45);transform:rotate(1.2deg);position:relative}
.specimen::before{content:"";position:absolute;inset:0;border-radius:14px;opacity:.12;background:url("/assets/img/contours.svg") center/600px;pointer-events:none}
.specimen > *{position:relative}
.specimen .stamp{color:var(--coral);background:transparent;margin-bottom:14px}
.specimen h2{font-size:1.5rem;margin:0 0 12px;color:var(--ink)}
.specimen__row{font-family:var(--mono);font-size:.76rem;color:#6a5d4b;letter-spacing:.03em;margin-bottom:8px}
.specimen__vs{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:14px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}
.specimen__vs small{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:#7a6c58}
.specimen__vs b{font-family:var(--serif);font-size:2rem;font-weight:650;line-height:1}
.specimen__vs em{font-style:normal;font-size:.8rem;color:#7a6c58}
.specimen__vs .hot b{color:var(--coral)}
.specimen__arrow{color:var(--coral)}
.specimen p{font-size:.9rem;margin:14px 0 10px}
.specimen a{font-family:var(--mono);font-size:.78rem;color:var(--coral);display:inline-flex;gap:6px;align-items:center}
@media(max-width:900px){.hero__split{grid-template-columns:1fr}.specimen{transform:none;max-width:460px}}

/* ---------- how-it-works steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1.5px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--paper)}
.step{padding:26px 22px;position:relative;border-right:1px dashed var(--line)}
.step:last-child{border-right:0}
.step__ic{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#f7e2c9;color:var(--coral);margin-bottom:14px}
.step__ic .ic{width:22px;height:22px}
.step__n{position:absolute;top:18px;right:18px;font-family:var(--mono);font-size:.8rem;color:#b3a38a}
.step h3{font-size:1.08rem;margin:0 0 .3em}
.step p{font-size:.9rem;margin:0}
.step--total{background:var(--navy);color:#d8cbb4}
.step--total h3{color:#fff7ea}
.step--total .step__ic{background:var(--coral);color:#fff7ea}
.step--total .step__n{color:var(--gold);font-size:1.2rem}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px dashed var(--line)}}
@media(max-width:480px){.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px dashed var(--line)}}

/* light cards inside dark sections keep dark, readable text */
.section--navy .hl__item,.section--navy .critter,.section--navy .card,.section--navy .tcpanel,.section--navy .rvcard{color:var(--body)}
.section--navy .hl__item h3,.section--navy .critter h3,.section--navy .card h3,.section--navy .tcpanel h3,.section--navy .rvcard h3{color:var(--ink)}
.section--navy .hl__item a:not(.btn),.section--navy .rvcard a{color:var(--ink)}
.section--navy .small.muted,.section--navy p.small{color:#b9ab93}
.section--navy .small.muted a{color:#ffd99a}

/* five extras sit in one row on desktop */
.hl--5{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

/* region mosaic: 1 hero tile (2x2) + 8 tiles fills a clean 4x3 */
.region:nth-child(6){grid-column:auto}

/* anchored sections clear the sticky header */
[id]{scroll-margin-top:88px}
/* on phones the region filters become one swipeable row */
@media(max-width:700px){
  .filters{flex-wrap:nowrap;overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:2px 20px 10px;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:none}
}

/* WCAG AA: small labels and muted text need 4.5:1 on every paper tone */
.eyebrow{color:#963f1c}
.muted,.small.muted,p.muted{color:#65584a}
.hero .muted,.section--navy .muted{color:#b9ab93}

/* ---------- True Cost adjuster ---------- */
.tcadjust{background:var(--paper);border:1.5px solid var(--ink);border-radius:14px;padding:22px 24px;box-shadow:6px 6px 0 var(--ink);
  display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:22px 0 8px}
.tcadjust[hidden]{display:none!important}
.tcadjust__h{grid-column:1/-1;display:flex;gap:12px;align-items:center}
.tcadjust__h .ic{width:30px;height:30px;color:var(--coral)}
.tcadjust__h b{font-family:var(--serif);font-size:1.25rem;display:block;color:var(--ink)}
.tcadjust__h small{color:#65584a}
.tcadjust fieldset{border:0;margin:0;padding:0;min-width:0}
.tcadjust legend{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:10px;padding:0}
.tcadjust legend small{text-transform:none;letter-spacing:0;color:#65584a}
.tcadjust output{color:var(--coral);font-weight:600}
.seg{display:grid;grid-template-columns:repeat(3,1fr);border:1.5px solid var(--ink);border-radius:9px;overflow:hidden}
.seg label{cursor:pointer;position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:9px 6px;text-align:center;font-size:.85rem;font-weight:600;border-right:1px solid var(--line)}
.seg label:last-child span{border-right:0}
.seg small{display:block;font-family:var(--mono);font-size:.66rem;font-weight:400;color:#65584a}
.seg input:checked + span{background:var(--ink);color:var(--paper)}
.seg input:checked + span small{color:#d8cbb4}
.seg input:focus-visible + span{outline:3px solid var(--gold);outline-offset:-3px}
.tcadjust input[type=range]{width:100%;accent-color:var(--coral)}
.tcadjust__out{grid-column:1/-1;margin:0;padding:12px 14px;background:#fff4e6;border:1px dashed var(--coral);border-radius:8px;font-size:.93rem}
.tcadjust #tc-reset{justify-self:start}
.league__row{transition:transform .35s ease}
.league__row.moved-up .league__n{color:var(--gum-dk)}
.league__row.moved-down .league__n{color:#a33627}
@media(max-width:700px){.tcadjust{grid-template-columns:1fr}}
