/* Ben Child Theme — main.css v4.0 */
:root{--bg:#1c1a17;--bg2:#232018;--bg3:#2a2720;--ink:#F5F0E8;--ink2:#B8B0A0;--ink3:#6b6458;--fire:#E8581C;--fire2:#c44a16;--rule:rgba(184,176,160,0.12);--rule2:rgba(184,176,160,0.22);--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif}
body{font-family:var(--sans)!important;background:var(--bg)!important;color:var(--ink)!important}
a{color:var(--fire)}a:hover{color:var(--fire2)}
p{color:var(--ink2);line-height:1.75}
.wp-block-group{background:var(--bg)}
.wp-block-heading{color:var(--ink)}
.wp-block-separator{border-color:var(--rule2)!important;opacity:1}
.wp-block-columns{gap:0!important}
.wp-block-quote{font-family:var(--serif);font-size:1.35rem;font-style:italic;color:var(--ink);border:none!important;padding:0!important}

/* Buttons */
.wp-block-button__link,.wp-element-button{background:var(--fire)!important;color:var(--ink)!important;border:none!important;border-radius:0!important;font-family:var(--sans)!important;font-size:13px!important;letter-spacing:.04em!important;text-transform:uppercase!important;padding:13px 26px!important;transition:background .15s!important}
.wp-block-button__link:hover,.wp-element-button:hover{background:var(--fire2)!important;color:var(--ink)!important}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--ink2)!important;border:1px solid var(--rule2)!important}
.wp-block-button.is-style-outline .wp-block-button__link:hover{color:var(--ink)!important;border-color:var(--ink2)!important}

/* NAV */
.ben-nav{position:sticky;top:0;z-index:1000;background:var(--bg);border-bottom:1px solid var(--rule2);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:58px}
.ben-nav .wp-block-site-title a{font-family:var(--serif)!important;font-size:1.5rem!important;color:var(--ink)!important;text-decoration:none!important;letter-spacing:.03em}
.wp-block-navigation__container{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
.wp-block-navigation-item__content{color:var(--ink3)!important;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important;transition:color .15s}
.wp-block-navigation-item__content:hover{color:var(--ink)!important}
.btn-nav .wp-block-button__link{padding:8px 18px!important;font-size:12.5px!important}

/* HERO */
.ben-hero-wrap{display:grid!important;grid-template-columns:1fr 420px;min-height:520px;border-bottom:1px solid var(--rule2)}
.ben-hero-left{padding:5rem 3rem 5rem 2.5rem!important;border-right:1px solid var(--rule2);background:var(--bg);position:relative;overflow:hidden;display:flex!important;flex-direction:column;justify-content:flex-end}
.ben-hero-left::before{content:'B';position:absolute;top:-40px;left:-20px;font-family:var(--serif);font-size:340px;font-weight:600;color:var(--ink);opacity:.025;line-height:1;pointer-events:none;user-select:none}
.ben-hero-right{background:var(--bg2)!important;display:flex!important;flex-direction:column}
.hero-eyebrow{font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--fire)!important;margin-bottom:2.5rem}
.hero-h1{font-family:var(--serif)!important;font-size:clamp(2.8rem,5vw,4.2rem)!important;font-weight:400!important;line-height:1.08!important;color:var(--ink)!important;margin-bottom:1.75rem!important}
.hero-h1 em{color:var(--fire)!important;font-style:italic}
.hero-sub{font-size:16px!important;color:var(--ink2)!important;line-height:1.75!important;margin-bottom:2.5rem!important}
.hero-pull-wrap{flex:1;padding:2.5rem 2rem;border-bottom:1px solid var(--rule2)}
.hero-pull-eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:1rem}
.hero-pull-q{font-family:var(--serif)!important;font-size:1.35rem!important;font-style:italic;color:var(--ink)!important;line-height:1.45;border:none!important;padding:0!important}
.hero-pull-q p::before{content:'\201C';color:var(--fire)}.hero-pull-q p::after{content:'\201D';color:var(--fire)}
.mvw-wrap{padding:2rem}
.mvw-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--rule)}
.mvw-row:last-child{border-bottom:none}
.mvw-letter{font-family:var(--serif);font-size:1.4rem;color:var(--fire);font-weight:600;width:24px;flex-shrink:0;line-height:1.1}
.mvw-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-bottom:3px;font-weight:500}
.mvw-text{font-size:13px;color:var(--ink3);line-height:1.55;margin:0}

/* BAND */
.ben-band{background:var(--fire);padding:12px 0;overflow:hidden;white-space:nowrap}
.band-track{display:inline-flex;animation:band-scroll 22s linear infinite}
.band-track span{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding:0 2.5rem}
.band-track span::before{content:'◆ ';opacity:.5}
@keyframes band-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SHARED */
.section-label{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fire);border:1px solid rgba(232,88,28,.3);padding:3px 9px;display:inline-block;margin-bottom:10px}
.col-border-right{border-right:1px solid var(--rule2)}

/* BLOG */
.blog-row-wrap{border-bottom:1px solid var(--rule2);transition:background .15s}
.blog-row-wrap:hover{background:var(--bg2)}
.blog-row-num{padding:2rem 1.5rem;font-family:var(--serif);font-size:1.1rem;color:var(--ink3);border-right:1px solid var(--rule);min-width:80px}
.blog-row-meta{padding:2rem 1.5rem;text-align:right;border-left:1px solid var(--rule)}
.blog-row-meta .date,.blog-row-meta .wp-block-post-date{font-size:11.5px;color:var(--ink3);display:block}

/* DOCS */
.doc-card-wrap{padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background .15s;background:var(--bg);border-right:1px solid var(--rule2);border-bottom:1px solid var(--rule2)}
.doc-card-wrap:hover{background:var(--bg2)}
.doc-bg-num{position:absolute;bottom:-20px;right:-10px;font-family:var(--serif);font-size:130px;font-weight:600;color:var(--ink);opacity:.04;line-height:1;pointer-events:none;user-select:none}
.doc-card-wrap h3{font-family:var(--serif)!important;font-size:1.35rem!important;font-weight:400!important;color:var(--ink)!important;line-height:1.3!important;margin-bottom:.75rem!important}
.dl-link{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--fire)!important;text-decoration:none!important;border-bottom:1px solid rgba(232,88,28,.4);padding-bottom:2px;display:inline-block}

/* ABOUT */
.about-photo-wrap{height:280px;overflow:hidden;border-bottom:1px solid var(--rule2);background:var(--bg3);display:flex;align-items:center;justify-content:center}
.about-photo-wrap img{width:100%;height:100%;object-fit:cover}
.about-role-label{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--fire);margin-bottom:1.5rem}
.about-tag{display:inline-block;font-size:11.5px;color:var(--ink3);border:1px solid var(--rule2);padding:4px 12px;letter-spacing:.03em;margin:0 4px 4px 0}
.belief-row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--rule)}
.belief-row:last-child{border-bottom:none}
.belief-dot{width:5px;height:5px;border-radius:50%;background:var(--fire);margin-top:8px;flex-shrink:0}
.belief-title{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:2px}
.belief-body{font-size:12.5px;color:var(--ink3);line-height:1.5;margin:0}

/* CONTACT */
.contact-chip{display:flex;align-items:center;gap:14px;padding:1.1rem 0;border-bottom:1px solid var(--rule)}
.contact-chip:last-child{border-bottom:none}
.chip-icon{width:38px;height:38px;border:1px solid var(--rule2);display:flex;align-items:center;justify-content:center;color:var(--fire);font-size:16px;flex-shrink:0}
.chip-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
.chip-val{font-size:14px;color:var(--ink2)}
.ben-form-group{margin-bottom:16px}
.ben-form-group label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:7px}
.ben-form-group input,.ben-form-group select,.ben-form-group textarea{width:100%;background:var(--bg3);border:1px solid var(--rule2);color:var(--ink);font-family:var(--sans);font-size:14px;padding:11px 14px;transition:border-color .15s;border-radius:0}
.ben-form-group input:focus,.ben-form-group select:focus,.ben-form-group textarea:focus{border-color:var(--fire);outline:none}
.ben-form-group input::placeholder,.ben-form-group textarea::placeholder{color:var(--ink3)}
.ben-form-group textarea{min-height:90px;resize:vertical}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.submit-btn{width:100%;background:var(--fire);color:var(--ink);border:none;padding:14px;font-family:var(--sans);font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .15s}
.submit-btn:hover{background:var(--fire2)}

/* FOOTER */
.ben-footer-wrap{background:var(--bg2);border-top:1px solid var(--rule2)}
.ben-footer-wrap .wp-block-site-title a{font-family:var(--serif)!important;font-size:1.4rem!important;color:var(--ink)!important;text-decoration:none!important}
.footer-tagline{font-size:13px;color:var(--ink3);line-height:1.6}
.footer-col-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:1rem;font-weight:500}
.footer-link{display:block;font-size:13px;color:var(--ink2)!important;text-decoration:none!important;margin-bottom:8px;transition:color .15s}
.footer-link:hover{color:var(--fire)!important}
.footer-copy{font-size:12px;color:var(--ink3)}
.footer-border-top{border-top:1px solid var(--rule2)}

/* RESPONSIVE */
@media(max-width:900px){
  .ben-hero-wrap{grid-template-columns:1fr!important}
  .ben-hero-left{border-right:none!important;border-bottom:1px solid var(--rule2)!important}
  .wp-block-columns{flex-direction:column}
  .col-border-right{border-right:none;border-bottom:1px solid var(--rule2)}
  .doc-card-wrap{border-right:none!important}
}
@media(max-width:600px){
  .ben-nav{padding:0 1.5rem}
  .wp-block-navigation,.btn-nav{display:none}
  .ben-hero-left{padding:3rem 1.5rem!important}
  .hero-h1{font-size:2.4rem!important}
  .form-row-2{grid-template-columns:1fr}
}
