/* assets/chrome.css — the ONE stylesheet for the site header written by tools/truth/chrome.js.
   Everything is namespaced `.ych*` and every selector carries two classes, so a page's own inline CSS
   for `nav`, `header`, `.wrap`, `.logo`, `.brand` or `nav .wrap a` cannot reach in (measured: several
   page families style those bare selectors). Breakpoints are the landing bar's own (BENCH-33 batch 1):
   ≥1081 full header + utility row, no ☰ · 721–1080 three links + ☰ + short CTA · ≤720 logo + ☰ only. */
.ych-skip{position:absolute;left:12px;top:-60px;z-index:200;display:inline-flex;align-items:center;min-height:44px;background:#fff;color:#a5562f;font:700 15px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;padding:14px 18px;border-radius:12px;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.ych-skip:focus{top:12px}
:target{scroll-margin-top:84px}
.ych-util,.ych,.ych-sheet{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.ych-util *,.ych *,.ych-sheet *{box-sizing:border-box}
.ych-util .ych-in,.ych .ych-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;position:static;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;height:auto;min-height:0;z-index:auto}

/* the utility row: desktop only, scrolls away (only the main bar is sticky) */
.ych-util{display:none;background:#0b1422;margin:0;padding:0;border:0}
.ych-util .ych-in{justify-content:flex-end;gap:4px;padding:0 22px}
.ych-util .ych-in a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:#c4d0e2;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;border:0;background:none}
.ych-util .ych-in a:hover{color:#fff}
@media(min-width:1081px){.ych-util{display:block}}

/* the main bar */
.ych{position:sticky;top:0;z-index:60;margin:0;padding:0;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(15,27,45,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:none;height:auto;width:auto;color:#fff}
.ych .ych-in{gap:10px;padding:13px 22px}
.ych .ych-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;flex:none;min-height:44px}
/* the mark and the name are images from tools/brand.js (the old split Y back on its terracotta tile, improved, 2026-10-13; the
   outlined nut-a name, 2026-10-08). The tile is drawn inside the image, so the box adds no background of its own. The logo box keeps a
   fixed height, so the bar is the same height whatever the mark's proportions. Sizes here are the directory's compact header;
   .ych-lockup (the tradie site) takes the full-size lockup of the logo mockup. */
.ych .ych-logo{width:auto;height:52px;display:flex;align-items:center;justify-content:center;flex:none;background:none;border-radius:0;box-shadow:none}
.ych .ych-logo .ymark{display:block;height:48px;width:auto}
.ych .ych-word{display:flex;flex-direction:column;gap:1px}
.ych .ych-name{display:block;color:#fff;line-height:0}
.ych .ych-name .yword{display:block;height:20px;width:auto;overflow:visible}
/* the name's two nut-a's turn when the logo is hovered or focused: one hex step (60deg), which is exactly the nut again, so the
   spin ends where it started and no state is kept. Hover-capable screens only; never under reduced motion. */
.ych .ych-name .nut{transform-box:fill-box;transform-origin:center}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .ych .ych-brand:hover .nut,.ych .ych-brand:focus-visible .nut{animation:ych-nut .7s cubic-bezier(.45,.05,.25,1)}
  .ych .ych-brand:hover .nut+.nut,.ych .ych-brand:focus-visible .nut+.nut{animation-delay:.1s}
}
@keyframes ych-nut{to{transform:rotate(60deg)}}
.ych .ych-lockup{gap:14px}
.ych .ych-lockup .ych-logo{height:58px}
.ych .ych-lockup .ych-logo .ymark{height:56px}
.ych .ych-lockup .ych-word{gap:7px}
.ych .ych-lockup .ych-name .yword{height:27px}
@media(max-width:1080px){
  .ych .ych-lockup{gap:13px}
  .ych .ych-lockup .ych-logo{height:52px}
  .ych .ych-lockup .ych-logo .ymark{height:50px}
  .ych .ych-lockup .ych-name .yword{height:24px}
}
.ych .ych-word small{display:none;color:#9fb1cd;font-size:12px;font-weight:700;letter-spacing:.4px;white-space:nowrap;line-height:1.2}
.ych .ych-links{margin-left:auto;display:flex;align-items:center;gap:8px}
.ych .ych-links a{color:#c4d0e2;font-weight:600;font-size:14.5px;white-space:nowrap;text-decoration:none;background:none;border:0}
.ych .ych-links a:hover{color:#fff}
.ych .ych-links a.ych-mid{display:none;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 5px}
.ych .ych-links a.ych-ftr{display:none}
.ych .ych-menu{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;margin:0;padding:0}
.ych .ych-menu:hover{background:rgba(255,255,255,.08)}
.ych .ych-links a.ych-cta{display:none;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border-radius:12px;background:linear-gradient(180deg,#b65e33,#a5562f);color:#fff;font-weight:800;font-size:14.5px;box-shadow:0 2px 10px rgba(165,86,47,.35)}
.ych .ych-links a.ych-cta:hover{background:linear-gradient(180deg,#a5562f,#9c4d28);color:#fff}
.ych .ych-lg{display:none}
.ych .ych-sm{display:inline}
.ych a:focus-visible,.ych button:focus-visible,.ych-util a:focus-visible,.ych-sheet a:focus-visible,.ych-sheet button:focus-visible{outline:3px solid #f0b48f;outline-offset:2px}
@media(min-width:721px){
  .ych .ych-links{gap:10px}
  .ych .ych-links a.ych-mid:nth-child(-n+3){display:inline-flex;font-size:13.5px}
  .ych .ych-links a.ych-cta{display:inline-flex;font-size:13.5px;padding:9px 14px}
}
@media(min-width:1081px){
  .ych .ych-word small{display:block}
  .ych .ych-links a.ych-mid,.ych .ych-links a.ych-mid:nth-child(-n+3){display:inline-flex;font-size:14.5px}
  .ych .ych-links a.ych-ftr{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 15px;border:1.5px solid rgba(255,255,255,.32);border-radius:11px;color:#fff;font-weight:700;font-size:14px}
  .ych .ych-links a.ych-ftr:hover{background:rgba(255,255,255,.1)}
  .ych .ych-menu{display:none}
  .ych .ych-links a.ych-cta{font-size:14.5px;padding:9px 16px}
  .ych .ych-lg{display:inline}
  .ych .ych-sm{display:none}
}
@media(max-width:400px){
  .ych .ych-in{gap:9px;padding:10px 14px}
  .ych .ych-logo{height:42px}
  .ych .ych-logo .ymark{height:38px}
  .ych .ych-name .yword{height:16px}
  .ych .ych-lockup{gap:12px}
  .ych .ych-lockup .ych-logo{height:48px}
  .ych .ych-lockup .ych-logo .ymark{height:46px}
  .ych .ych-lockup .ych-name .yword{height:22px}
}

/* the menu sheet (phones and tablets; the ☰ that opens it is hidden at ≥1081) */
.ych-sheet{display:none;position:fixed;inset:0;z-index:130;background:rgba(20,16,12,.5)}
.ych-sheet.open{display:block}
.ych-sheet .ych-panel{background:#0f1b2d;color:#fff;max-width:340px;width:86%;height:100%;padding:18px 20px;display:flex;flex-direction:column;gap:4px;overflow:auto;animation:ychin .18s ease-out}
@keyframes ychin{from{transform:translateX(-12px);opacity:.6}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.ych-sheet .ych-panel{animation:none}}
.ych-sheet .ych-panel a{display:flex;align-items:center;min-height:44px;padding:11px 10px;border-radius:12px;font-weight:700;font-size:16.5px;color:#efe7db;text-decoration:none;background:none;border:0}
.ych-sheet .ych-panel a:hover{background:rgba(255,255,255,.07)}
.ych-sheet .ych-panel .ych-x{align-self:flex-end;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:none;color:#fff;font-size:17px;cursor:pointer;margin:0 0 6px;padding:0}

/* the find-a-pro door (tools/truth/find-door.js, SEO-CONVERT 2026-11-02): one suburb box that opens the directory on the
   page's trade. Lives here because this sheet is on every page that carries the header, so a door needs no page CSS.
   Two classes on every rule, like the header's, so a page's own `input`, `form` or `button` rules cannot reach in. */
form.ycfd{box-sizing:border-box;margin:18px 0;padding:16px 16px 12px;border:1.5px solid var(--line,#e8ded0);border-radius:14px;background:var(--card,#fff);font-family:inherit;color:var(--ink,#2d2823)}
form.ycfd *{box-sizing:border-box}
form.ycfd .ycfd-q{margin:0 0 10px;font-size:16px;line-height:1.45}
form.ycfd .ycfd-q b{color:var(--ink,#2d2823)}
form.ycfd .ycfd-row{display:flex;gap:8px;flex-wrap:wrap}
form.ycfd .ycfd-in{flex:1 1 180px;min-width:0;min-height:48px;margin:0;padding:0 14px;border:1.5px solid var(--line,#e8ded0);border-radius:11px;background:#fff;color:var(--ink,#2d2823);font:inherit;font-size:16px}
form.ycfd .ycfd-in:focus{outline:2px solid var(--hv,#c2693f);outline-offset:1px;border-color:var(--hv,#c2693f)}
form.ycfd .ycfd-b{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:0 22px;border:0;border-radius:11px;background:var(--hv-d,#a5562f);color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer;white-space:nowrap}
form.ycfd .ycfd-b:hover{background:#8f4a28}
form.ycfd .ycfd-chk{margin:9px 0 0;font-size:13.5px;line-height:1.45;color:var(--muted,#6b6055)}
form.ycfd .ycfd-chk a{color:var(--hv-d,#a5562f);font-weight:700}
form.ycfd .ycfd-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
form.ycfd .ycfd-sel{flex:1 1 200px;appearance:none;-webkit-appearance:none;padding-right:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b6055' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 13px center;cursor:pointer}
@media(max-width:420px){form.ycfd .ycfd-b{flex:1 1 100%}}
