/*
Theme Name: Brain Itch Studios
Theme URI: https://brainitch.studio/
Author: Brain Itch Studios
Description: Brutalist editorial theme for photography, graphic design and web design studios. Elementor-compatible, with a full set of front-page widgets.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: brain-itch
Tags: portfolio, photography, one-column, custom-colors, custom-menu, editor-style, block-styles, wide-blocks, elementor
*/

:root{
  --bi-ink:#141412;
  --bi-bg:#EDEAE3;
  --bi-accent:#E4321B;
  --bi-on-accent:#ffffff;
  --bi-line:3px;
  --bi-rule:var(--bi-line) solid var(--bi-ink);
  --bi-swatch:#D8D4CB;
  --bi-pad:18px;
  --bi-display:'Archivo Black',Arial Black,Arial,sans-serif;
  --bi-body:Archivo,Helvetica,Arial,sans-serif;
  --bi-mono:'Space Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
body.bi-dark{--bi-ink:#EDEAE3;--bi-bg:#141412;--bi-swatch:#2A2A27}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bi-bg);color:var(--bi-ink);font-family:var(--bi-body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
h1,h2,h3,h4{font-family:var(--bi-display);text-transform:uppercase;letter-spacing:-.035em;line-height:.95;margin:0 0 .5em}
p{text-wrap:pretty}
.bi-skip{position:absolute;left:-9999px}
.bi-skip:focus{left:8px;top:8px;z-index:999;background:var(--bi-ink);color:var(--bi-bg);padding:10px 14px;font-family:var(--bi-mono)}
:focus-visible{outline:3px solid var(--bi-accent);outline-offset:2px}
.bi-wrap{max-width:1200px;margin:0 auto}
.bi-mono{font-family:var(--bi-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}

/* ---- Topbar ---- */
.bi-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:8px var(--bi-pad);background:var(--bi-ink);color:var(--bi-bg);font-family:var(--bi-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.bi-topbar__links{display:flex;gap:18px;flex-wrap:wrap}
.bi-topbar__links a:first-child{border-bottom:1px solid var(--bi-accent)}

/* ---- Header ---- */
.bi-header{position:sticky;top:0;z-index:50;display:flex;align-items:stretch;justify-content:space-between;background:var(--bi-bg);border-bottom:var(--bi-rule)}
.bi-brand{display:flex;align-items:center;gap:12px;padding:14px var(--bi-pad);border-right:var(--bi-rule)}
.bi-brand__dot{width:26px;height:26px;background:var(--bi-accent);border:var(--bi-rule);border-radius:50%;display:block;flex:none}
.bi-brand__name{font-family:var(--bi-display);font-size:20px;letter-spacing:-.03em;text-transform:uppercase;line-height:1}
.bi-brand__tag{font-family:var(--bi-mono);font-size:10px;letter-spacing:.2em;opacity:.55;text-transform:uppercase}
.bi-brand img{max-height:34px;width:auto}
.bi-nav{display:flex;align-items:stretch}
.bi-nav ul{display:flex;align-items:stretch;margin:0;padding:0;list-style:none;overflow-x:auto;font-family:var(--bi-mono);font-size:clamp(10px,1.05vw,12px);letter-spacing:.1em;text-transform:uppercase}
.bi-nav li{display:flex}
.bi-nav a{display:flex;align-items:center;white-space:nowrap;padding:0 clamp(10px,1.4vw,20px);border-left:var(--bi-rule)}
.bi-nav a:hover,.bi-nav .current-menu-item>a{background:var(--bi-accent);color:#fff}
.bi-nav .bi-menu-cta>a,.bi-nav li:last-child.menu-item-cta>a{background:var(--bi-ink);color:var(--bi-bg);font-weight:700}
.bi-nav-toggle{display:none;border:0;border-left:var(--bi-rule);background:var(--bi-ink);color:var(--bi-bg);padding:0 18px;font-family:var(--bi-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
@media(max-width:860px){
  .bi-nav-toggle{display:block}
  .bi-nav{position:absolute;top:100%;left:0;right:0;display:none;background:var(--bi-bg);border-bottom:var(--bi-rule)}
  .bi-nav.is-open{display:block}
  .bi-nav ul{flex-direction:column;overflow:visible;font-size:13px}
  .bi-nav a{border-left:0;border-top:var(--bi-rule);padding:16px var(--bi-pad)}
}

/* ---- Buttons ---- */
.bi-btn{display:inline-block;padding:16px 26px;border:var(--bi-line) solid var(--bi-ink);font-family:var(--bi-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;background:transparent;color:var(--bi-ink)}
.bi-btn:hover{background:var(--bi-ink);color:var(--bi-bg)}
.bi-btn--solid{background:var(--bi-ink);color:var(--bi-bg)}
.bi-btn--solid:hover{background:var(--bi-accent);border-color:var(--bi-accent);color:#fff}

/* ---- Hero ---- */
.bi-hero{border-bottom:var(--bi-rule);padding:56px var(--bi-pad) 40px}
.bi-hero__eyebrow{margin:0 0 22px;font-family:var(--bi-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bi-accent)}
.bi-hero__title{margin:0;font-size:clamp(44px,11vw,150px);line-height:.86;letter-spacing:-.045em;text-wrap:balance}
.bi-hero__title mark,.bi-mark{background:var(--bi-accent);color:#fff;padding:0 .12em;display:inline-block}
.bi-hero__foot{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;justify-content:space-between;margin-top:40px}
.bi-hero__lede{margin:0;max-width:46ch;font-size:18px;line-height:1.45}
.bi-hero__actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---- Ticker ---- */
.bi-ticker{overflow:hidden;background:var(--bi-accent);color:#fff;border-bottom:var(--bi-rule);padding:12px 0}
.bi-ticker__track{display:flex;width:max-content;animation:bi-marquee var(--bi-ticker-speed,26s) linear infinite;font-family:var(--bi-display);font-size:26px;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.bi-ticker__track span{padding-right:30px}
.bi-ticker:hover .bi-ticker__track{animation-play-state:paused}
@keyframes bi-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.bi-ticker__track{animation:none}}

/* ---- Section label bar ---- */
.bi-seclabel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px var(--bi-pad);border-bottom:var(--bi-rule);font-family:var(--bi-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.bi-seclabel__title{font-weight:700}
.bi-seclabel__link{opacity:.55;border-bottom:1px solid var(--bi-ink)}
.bi-section{border-bottom:var(--bi-rule)}

/* ---- Work grid ---- */
.bi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--bi-card-min,300px),1fr))}
.bi-card{border-right:var(--bi-rule);border-bottom:var(--bi-rule);display:block}
.bi-card:hover{background:var(--bi-ink);color:var(--bi-bg)}
.bi-card:hover .bi-badge{background:var(--bi-bg)}
.bi-thumb{height:300px;background-color:var(--bi-swatch);background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:space-between;padding:14px;border-bottom:var(--bi-rule)}
.bi-thumb--placeholder{background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.14) 0 2px,transparent 2px 9px)}
.bi-badge{font-family:var(--bi-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:var(--bi-bg);border:2px solid var(--bi-ink);padding:4px 7px;color:var(--bi-ink)}
.bi-thumb__year{font-family:var(--bi-mono);font-size:10px;letter-spacing:.14em;color:var(--bi-ink)}
.bi-card__body{padding:18px}
.bi-card__title{margin:0 0 8px;font-size:30px;line-height:.95}
.bi-card__meta{margin:0;font-family:var(--bi-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.7}

/* ---- Services ---- */
.bi-services{background:var(--bi-ink);color:var(--bi-bg);border-bottom:var(--bi-rule)}
.bi-services .bi-seclabel{border-bottom:var(--bi-line) solid var(--bi-bg)}
.bi-service{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px;padding:26px var(--bi-pad);border-bottom:var(--bi-line) solid #3a3a38}
.bi-service:hover{background:var(--bi-accent);color:#fff}
.bi-service__no{font-family:var(--bi-mono);font-size:12px;letter-spacing:.14em;min-width:44px;opacity:.6}
.bi-service__name{font-family:var(--bi-display);font-size:clamp(28px,5vw,56px);line-height:.95;letter-spacing:-.035em;text-transform:uppercase;flex:1 1 320px}
.bi-service__note{font-family:var(--bi-mono);font-size:12px;letter-spacing:.06em;max-width:34ch;line-height:1.5;opacity:.75}

/* ---- Studio ---- */
.bi-studio{border-bottom:var(--bi-rule);display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.bi-studio__text{padding:44px var(--bi-pad);border-right:var(--bi-rule)}
.bi-studio__kicker{margin:0 0 20px;font-family:var(--bi-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.bi-studio__title{margin:0 0 20px;font-size:clamp(32px,5vw,58px);line-height:.92;letter-spacing:-.04em}
.bi-studio__text p{margin:0 0 16px;max-width:52ch;font-size:17px}
.bi-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;margin-top:34px;border:var(--bi-rule)}
.bi-stat{padding:16px;border-right:var(--bi-rule)}
.bi-stat:last-child{border-right:0}
.bi-stat__n{font-family:var(--bi-display);font-size:40px;line-height:1}
.bi-stat__l{font-family:var(--bi-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.bi-figure{min-height:420px;background-color:var(--bi-swatch);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;padding:20px}
.bi-figure--placeholder{background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.14) 0 2px,transparent 2px 9px)}
.bi-figure__note{font-family:var(--bi-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;background:var(--bi-bg);border:2px solid var(--bi-ink);padding:8px 12px;text-align:center;color:var(--bi-ink)}

/* ---- Journal ---- */
.bi-post{padding:26px var(--bi-pad);border-right:var(--bi-rule);border-bottom:var(--bi-rule);display:block}
.bi-post:hover{background:var(--bi-accent);color:#fff}
.bi-post__meta{font-family:var(--bi-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin-bottom:14px}
.bi-post__title{margin:0 0 12px;font-size:26px;line-height:1}
.bi-post__excerpt{margin:0;font-size:15px;line-height:1.5}

/* ---- CTA / contact ---- */
.bi-cta{padding:60px var(--bi-pad);border-bottom:var(--bi-rule);background:var(--bi-accent);color:#fff;text-align:center}
.bi-cta__title{margin:0 0 30px;font-size:clamp(38px,8vw,96px);line-height:.88;letter-spacing:-.045em}
.bi-cta form{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:stretch;max-width:1000px;margin:0 auto}
.bi-cta input[type=email],.bi-cta input[type=text]{flex:1 1 300px;max-width:420px;padding:16px;border:3px solid #fff;background:transparent;color:#fff;font-family:var(--bi-mono);font-size:14px;letter-spacing:.06em}
.bi-cta input::placeholder{color:#fff;opacity:1}
.bi-cta button{padding:16px 28px;border:3px solid #fff;background:#fff;color:var(--bi-accent);font-family:var(--bi-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer}
.bi-cta button:hover{background:transparent;color:#fff}
.bi-cta__hp{position:absolute;left:-9999px}
.bi-cta__msg{margin:20px 0 0;font-family:var(--bi-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}

/* ---- Footer ---- */
.bi-footer{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.bi-footer__col{padding:28px var(--bi-pad);border-right:var(--bi-rule)}
.bi-footer__col:last-child{border-right:0}
.bi-footer__name{font-family:var(--bi-display);font-size:22px;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:10px}
.bi-footer p{margin:0;font-family:var(--bi-mono);font-size:11px;line-height:1.7;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.bi-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-family:var(--bi-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.bi-footer ul a{border-bottom:1px solid var(--bi-ink)}
.bi-footer__legal{display:flex;flex-direction:column;gap:8px;font-family:var(--bi-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.bi-footer__legal span{opacity:.55}
.bi-footer__legal a{color:var(--bi-accent);border-bottom:1px solid var(--bi-accent);width:fit-content}

/* ---- Content pages / single ---- */
.bi-page{padding:56px var(--bi-pad)}
.bi-page__head{border-bottom:var(--bi-rule);padding-bottom:24px;margin-bottom:32px}
.bi-page__title{font-size:clamp(36px,7vw,84px);line-height:.9;margin:0}
.bi-prose{max-width:68ch;font-size:18px}
.bi-prose h2{font-size:34px;margin-top:1.4em}
.bi-prose h3{font-size:24px;margin-top:1.4em}
.bi-prose a{border-bottom:2px solid var(--bi-accent)}
.bi-prose blockquote{margin:1.5em 0;padding:18px 22px;border-left:var(--bi-line) solid var(--bi-accent);background:rgba(0,0,0,.04)}
.bi-prose code,.bi-prose pre{font-family:var(--bi-mono);font-size:14px}
.bi-prose pre{padding:18px;border:var(--bi-rule);overflow:auto}
.bi-pagination{display:flex;gap:10px;flex-wrap:wrap;padding:28px var(--bi-pad);font-family:var(--bi-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.bi-pagination .page-numbers{border:2px solid var(--bi-ink);padding:8px 12px}
.bi-pagination .current{background:var(--bi-ink);color:var(--bi-bg)}
.bi-search{display:flex;gap:0;max-width:420px}
.bi-search input{flex:1;padding:12px;border:var(--bi-rule);background:transparent;color:var(--bi-ink);font-family:var(--bi-mono);font-size:13px}
.bi-search button{padding:12px 16px;border:var(--bi-rule);border-left:0;background:var(--bi-ink);color:var(--bi-bg);font-family:var(--bi-mono);font-size:12px;text-transform:uppercase;cursor:pointer}

/* ---- WP core ---- */
.alignwide{max-width:1400px;margin-inline:auto}
.alignfull{width:100%}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{margin-inline:auto}
.wp-caption-text,.wp-element-caption{font-family:var(--bi-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-top:8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}
.sticky,.bypostauthor{}

/* Elementor: let widgets sit edge to edge */
.elementor-widget-container>.bi-section,.elementor-widget-container>.bi-hero{margin:0}

/* ---- Contact template ---- */
.bi-field{display:block;margin-bottom:20px}
.bi-field__label{display:block;font-family:var(--bi-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin-bottom:8px}
.bi-field input,.bi-field textarea{width:100%;padding:14px;border:var(--bi-rule);background:transparent;color:var(--bi-ink);font-family:var(--bi-mono);font-size:14px;letter-spacing:.04em}
.bi-field textarea{resize:vertical}
.bi-field input::placeholder,.bi-field textarea::placeholder{color:var(--bi-ink);opacity:.35}
.bi-contact-aside{padding:44px var(--bi-pad);display:flex;flex-direction:column;gap:32px;background:var(--bi-ink);color:var(--bi-bg)}
.bi-contact-aside__big{font-family:var(--bi-display);font-size:clamp(20px,2.6vw,34px);letter-spacing:-.03em;text-transform:uppercase;border-bottom:var(--bi-line) solid var(--bi-accent)}

/* ---- Shop template ---- */
.bi-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:2px solid currentColor}
.bi-price__amount{font-family:var(--bi-display);font-size:22px;letter-spacing:-.02em}
.bi-price__cta{font-family:var(--bi-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}

/* ---- Blog index lead ---- */
.bi-lead{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));border-bottom:var(--bi-rule)}
.bi-lead__media{min-height:380px;background-color:var(--bi-swatch);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;border-right:var(--bi-rule)}
.bi-lead__body{padding:44px var(--bi-pad);display:flex;flex-direction:column;justify-content:center}
.bi-lead__title{margin:0 0 14px;font-size:clamp(30px,4.4vw,54px);line-height:.94}
.bi-lead:hover{background:var(--bi-accent);color:#fff}
.bi-lead:hover .bi-post__meta{opacity:1}

/* ---- Single ---- */
.bi-single{border-bottom:var(--bi-rule)}
.bi-single__head{padding:56px var(--bi-pad) 36px;max-width:1100px}
.bi-single__title{margin:0;font-size:clamp(34px,6.4vw,86px);line-height:.9;letter-spacing:-.04em}
.bi-single__standfirst{margin:22px 0 0;font-size:20px;line-height:1.45;max-width:56ch}
.bi-single__hero{margin:0;border-top:var(--bi-rule);border-bottom:var(--bi-rule)}
.bi-single__hero img{width:100%}
.bi-single__body{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr)}
.bi-single__rail{padding:36px var(--bi-pad);border-right:var(--bi-rule);display:flex;flex-direction:column;gap:18px;align-self:start;position:sticky;top:90px}
.bi-rail__row{display:flex;flex-direction:column;gap:4px}
.bi-rail__k{font-family:var(--bi-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.5}
.bi-rail__v{font-family:var(--bi-mono);font-size:12px;letter-spacing:.06em;line-height:1.5}
.bi-single__prose{padding:36px var(--bi-pad) 56px}
@media(max-width:820px){
  .bi-single__body{grid-template-columns:1fr}
  .bi-single__rail{position:static;border-right:0;border-bottom:var(--bi-rule);flex-direction:row;flex-wrap:wrap;gap:24px}
}
.bi-postnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));border-bottom:var(--bi-rule)}
.bi-postnav__side{padding:26px var(--bi-pad);border-right:var(--bi-rule);min-height:96px}
.bi-postnav__side:last-child{border-right:0}
.bi-postnav__side--end{text-align:right}
.bi-postnav a{display:flex;flex-direction:column;gap:8px}
.bi-postnav__title{font-family:var(--bi-display);font-size:20px;line-height:1.05;text-transform:uppercase;letter-spacing:-.02em}
.bi-postnav a:hover .bi-postnav__title{color:var(--bi-accent)}
