@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-semi-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-semi-condensed-latin-700-normal.woff2) format("woff2")}

:root{
  --bg:#fff; --text:#000; --heading:#0E1015; --menu:#4C4C4C; --accent:#E91E63;
  --rule:rgba(0,0,0,.1); --footer:#0E1015; --input-border:#E3E3E3; --button:#1A1A1A;
  --mark:#FFF3A3; --container:1170px; --measure:860px; --gutter:15px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 20px/1.5 "Barlow",system-ui,sans-serif}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
a{color:var(--accent);text-decoration:none}
a:hover,a:focus-visible{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px;z-index:1000}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.site-header{position:sticky;top:0;z-index:999;background:#fff;border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px;min-height:72px}
.logo{display:flex;align-items:center;gap:16px;color:var(--heading);line-height:1}
.logo-img{height:72px;width:auto;display:block}
.logo-text{display:flex;flex-direction:column}
.portrait{float:right;width:160px;height:160px;border-radius:50%;margin:4px 0 16px 24px}
.logo:hover{text-decoration:none}
.logo-mark{font:700 34px/1 "Barlow Semi Condensed",system-ui,sans-serif;letter-spacing:-.5px}
.logo-mark span{color:var(--accent)}
.logo-sub{font:500 12px/1.4 "Barlow",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--menu);margin-top:4px}
.menu{display:flex;gap:28px}
.menu a{font:500 13px/1 "Barlow",system-ui,sans-serif;text-transform:uppercase;letter-spacing:-1px;color:var(--menu);padding:8px 0}
.menu a[aria-current=page]{color:var(--accent)}
.menu{align-items:center}
.menu-group{position:relative;display:flex;align-items:center}
.menu a.in-section{color:var(--accent)}
.sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-12px -14px -12px -10px;padding:0;background:none;border:0;color:var(--accent);cursor:pointer}
.sub-toggle[hidden]{display:none}
.sub-toggle svg{transition:transform .2s ease}
.sub-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.submenu{position:absolute;top:calc(100% + 32px);left:-20px;min-width:180px;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid var(--rule)}
.submenu[hidden]{display:none}
.submenu li{margin:0}
.menu .submenu a{display:block;padding:10px 20px;font:500 16px/1.3 "Barlow",system-ui,sans-serif;text-transform:none;letter-spacing:0;color:var(--heading)}
.menu .submenu a:hover,.menu .submenu a:focus-visible{color:var(--accent);text-decoration:none}
.menu .submenu a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
@media (prefers-reduced-motion:reduce){.sub-toggle svg{transition:none}}
.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:3px;background:var(--accent);margin:4px 0}

/* content */
main.container{padding-top:56px;padding-bottom:72px}
.content{max-width:var(--measure)}
.content p,.content li{margin:0 0 20px}
h1,h2,h3{color:var(--heading)}
h1{font:600 40px/1.15 "Barlow Semi Condensed",system-ui,sans-serif;margin:0 0 32px}
h2{font:400 32px/40px "Barlow",system-ui,sans-serif;margin:48px 0 16px}
h3{font:400 24px/32px "Barlow",system-ui,sans-serif;margin:32px 0 12px}
.kicker{font:500 14px/1 "Barlow",system-ui,sans-serif;text-transform:uppercase;letter-spacing:1px;color:var(--menu);margin:0 0 12px}
.display{font:600 40px/1.1 "Barlow Semi Condensed",system-ui,sans-serif;color:var(--heading);margin:40px 0 12px!important}
.lead{font-weight:600}
.content ul,.content ol{padding-left:1.2em}
.content li::marker{color:var(--accent)}
blockquote{margin:0 0 20px;padding:4px 0 4px 20px;border-left:3px solid var(--heading)}
blockquote p{margin:0!important}
mark{background:var(--mark);color:inherit;padding:0 2px}

/* page illustration under the headline (problem pages) */
.page-image{display:block;width:100%;max-width:var(--measure);height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin:8px 0 40px}

/* decision table (404 page): every row is a page, the last row is the address nobody has */
.decision{width:100%;max-width:var(--measure);border-collapse:collapse;margin:0 0 40px;font-size:18px;line-height:1.35}
.decision th,.decision td{text-align:left;vertical-align:top;padding:10px 14px;border:1px solid var(--rule)}
.decision thead th{background:#F5F5F5;font:500 13px/1.2 "Barlow",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--menu)}
.decision td:first-child{width:42%;color:var(--menu);overflow-wrap:break-word}
.decision .nomatch td{font-weight:600;color:var(--heading);border-top:2px solid var(--heading)}

/* foot of each problem page: the other three problem pages */
.related{margin:48px 0 0;padding-top:32px;border-top:1px solid var(--rule)}
.related-heading{font:600 24px/1.3 "Barlow",system-ui,sans-serif;color:var(--heading);margin:0 0 12px!important}
.related ul{list-style:none;padding:0;margin:0}
.related li{margin:0 0 8px}

/* pitch hero: the image is a link to Discover */
.hero{display:block;max-width:var(--measure);margin:0 0 8px;transition:transform .2s ease}
.hero img{display:block;width:100%;height:auto}
.hero:hover,.hero:focus-visible{transform:translateY(-3px);text-decoration:none}
.hero:focus-visible{outline-offset:6px}
@media (prefers-reduced-motion:reduce){.hero{transition:none}.hero:hover,.hero:focus-visible{transform:none}}
/* pitch credos. Two layouts, chosen with "credoLayout" in site.json:
   rows: one credo per row, image left (4:3); grid: two columns, image as a strip on top (3:1).
   Images are greyscale and turn to colour on hover. To show colour always, set --strip-filter:none */
.credos{--strip-filter:grayscale(1) contrast(1.3);display:grid;grid-template-columns:1fr 1fr;gap:8px 56px;margin-bottom:24px}
.kind-pitch .content{max-width:var(--container)}
.kind-pitch .content > :not(.credos){max-width:var(--measure)}
.credo .display{font-size:64px;margin-top:24px!important}
.credo-strip{display:block;margin-top:32px}
.credo-strip img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:10px;filter:var(--strip-filter);transition:filter .35s ease}
.credo-strip + .display{margin-top:16px!important}
.credo:hover .credo-strip img,.credo:focus-within .credo-strip img{filter:none}
@media (prefers-reduced-motion:reduce){.credo-strip img{transition:none}}
@media (min-width:768px){
  .credos-rows .credos{grid-template-columns:1fr;gap:0;max-width:var(--measure)}
  .credos-rows .credo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:48px;align-content:center;padding:40px 0;border-top:1px solid var(--rule)}
  .credos-rows .credo:first-child{border-top:0}
  .credos-rows .credo > *{grid-column:2}
  .credos-rows .credo-strip{grid-column:1;grid-row:1 / span 3;margin:0;align-self:center}
  .credos-rows .credo-strip img{aspect-ratio:4/3}
  .credos-rows .credo .display,.credos-rows .credo-strip + .display{margin-top:0!important;font-size:56px}
  .credos-rows .credo > p:last-child{margin-bottom:0}
}

/* Kit form */
.kit{display:grid;gap:14px;max-width:460px;margin:8px 0 20px}
.kit label{display:grid;gap:6px;font-size:16px;font-weight:500}
.kit input{font:400 18px/1.4 "Barlow",system-ui,sans-serif;padding:10px 12px;border:1px solid var(--input-border);border-radius:4px;background:#fff;color:var(--text)}
.kit button{justify-self:start;font:600 18px/1 "Barlow",system-ui,sans-serif;padding:14px 22px;border:0;border-radius:4px;background:var(--button);color:#fff;cursor:pointer}
.kit .note{font-size:14px;margin:0}

/* footer */
.site-footer{background:var(--footer);color:#fff;padding:72px 0}
.site-footer p{max-width:var(--measure);margin:0 0 1.4em}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline}
.site-footer strong,.site-footer .footer-links a{font-weight:600}
.footer-contact p{font-size:20px;line-height:1.35}
.footer-links{font-size:16px;margin:56px 0 40px}
.footer-legal p{font-size:16px;line-height:1.75;margin-bottom:1.6em}
.footer-legal p:last-child{margin-bottom:0}
.site-footer mark{background:var(--mark);color:#000;padding:0 2px}
/* v2.1: the No Tie Generation ecosystem block (same as notiegeneration.com and sapsoap.com); footer links pink on hover and focus only */
.footer-family p{font-size:18px;line-height:1.6;margin:40px 0 0}
.site-footer .footer-family + .footer-links{margin:40px 0}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--accent)}

@media (max-width:767px){
  .menu-toggle{display:block}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--rule);flex-direction:column;gap:0;padding:8px 16px 16px}
  .menu.open{display:flex}
  .menu a{font-size:16px;padding:12px 0;letter-spacing:0}
  .menu{align-items:stretch}
  .menu-group{flex-wrap:wrap}
  .menu-group>a{flex:1}
  .sub-toggle{margin:0 -12px 0 0}
  .submenu{position:static;flex-basis:100%;min-width:0;padding:0 0 8px 16px;border:0}
  .menu .submenu a{padding:10px 0;font-size:16px}
  .container{padding:0 16px}
  .bar{position:relative;min-height:64px}
  .logo-mark{font-size:26px}
  .logo-img{height:48px}
  .logo-sub{font-size:10px}
  .portrait{width:112px;height:112px}
  main.container{padding-top:32px}
  h1{font-size:32px}
  h2{font-size:26px;line-height:32px}
  .display{font-size:32px}
  .credos{grid-template-columns:1fr;gap:0}
  .credo .display{font-size:48px}
  .decision{font-size:16px}
  .decision th,.decision td{padding:8px 10px}
}

/* Links to a section (e.g. /challenge/#take-it-upstairs) land below the sticky header */
:target{scroll-margin-top:7rem}
/* Portraits (v2.0): since v2.2 every portrait stands in a .persona section (see the end of this file), so the v2.0 floats are gone */
.face{margin:0}
.face img{display:block;width:100%;height:auto;border-radius:12px}
h2{clear:both}
.kit{clear:both}
/* v2.0: a portrait in the last section never hangs into the footer */
main::after{content:"";display:block;clear:both}

/* v2.2, family standard (notiegeneration.com D25, 13 October 2026): section headings bold condensed like the page
   headline, with a short pink bar above. No subtitle exception on brf.plus: no heading sits under a picture as its subtitle. */
.content h2{display:flow-root;font:600 34px/1.15 "Barlow Semi Condensed",system-ui,sans-serif}
.content h2::before{content:"";display:block;width:56px;height:5px;background:var(--accent);margin:0 0 14px}
@media (max-width:767px){.content h2{font-size:28px}}

/* v2.2, family standard (from notiegeneration.com, 13 October 2026): a portrait section is two columns, the portrait in one,
   the heading and its text in the other, so text never runs underneath the picture. On phones they stack. */
.persona{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:36px;align-items:start;clear:both;margin-top:48px}
.persona-right{grid-template-columns:minmax(0,1fr) 300px}
.content .persona figure.face{float:none;width:auto;max-width:none;margin:4px 0 0;grid-column:1;grid-row:1}
.content .persona-right figure.face{grid-column:2}
.persona-text{grid-row:1;min-width:0}
.persona-right .persona-text{grid-column:1}
.persona-text > h2,.persona-text > h3{margin-top:0}
.persona-text > :last-child{margin-bottom:0}
.persona-text > h2 + .display{margin-top:24px!important}
@media (max-width:767px){
  .persona,.persona-right{display:block}
  .content .persona figure.face{width:60%;margin:0 0 20px}
}
