/*
Theme Name: BRAICU
Theme URI: https://braicu.example
Author: BRAICU
Description: A focused, accessible WordPress theme for BRAICU - AI-assisted personal branding.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: braicu
*/

:root { --black:#050505; --ink:#171717; --lime:#c7da2d; --lime-green:#8dc63f; --lime-yellow:#d8e021; --soft:#f3f4f2; --muted:#667085; --line:#d9ddd4; --white:#fff; --container:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:#5f7100; }
img { max-width:100%; height:auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { clip:auto; height:auto; width:auto; margin:0; padding:12px 16px; top:0; left:0; z-index:9999; background:#fff; color:#000; }
.container { width:min(100% - 40px, var(--container)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.96); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.header-row { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; width:168px; }
.brand img, .brand .custom-logo { width:100%; height:auto; display:block; }
.brand .custom-logo-link { display:block; width:100%; }
.primary-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:26px; }
.primary-nav a { color:var(--ink); text-decoration:none; font-size:14px; font-weight:700; }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color:#668000; }
.menu-toggle { display:none; background:var(--black); color:#fff; border:0; padding:10px 13px; font-weight:700; cursor:pointer; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:12px 20px; border:1px solid var(--black); background:var(--black); color:#fff; text-decoration:none; font-weight:700; font-size:14px; letter-spacing:.01em; transition:transform .15s ease, background .15s ease; }
.button:hover { color:#000; background:var(--lime); transform:translateY(-2px); }
.button--light { background:transparent; color:var(--black); }
.button--light:hover { background:var(--lime); }
.button--lime { background:var(--lime); color:#000; border-color:var(--lime); }
.button--lime:hover { background:#000; color:#fff; }
.hero { padding:clamp(70px,10vw,150px) 0 76px; background:var(--black); color:#fff; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:50px; align-items:end; }
.eyebrow { margin:0 0 18px; color:var(--lime); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
h1,h2,h3,h4 { margin:0; color:inherit; line-height:1.04; letter-spacing:-.035em; }
h1 { max-width:800px; font-size:clamp(48px,7vw,84px); }
h2 { font-size:clamp(34px,4.5vw,54px); }
h3 { font-size:24px; }
.hero-copy { max-width:660px; margin:28px 0 32px; font-size:21px; color:#e6e7e4; }
.hero-mark { border-left:2px solid var(--lime); padding:20px 0 20px 26px; }
.hero-mark p { margin:0; font-size:19px; font-weight:700; line-height:1.3; }
.hero-mark strong { display:block; margin-bottom:14px; color:var(--lime); font-size:12px; letter-spacing:.1em; }
.section { padding:clamp(70px,9vw,120px) 0; }
.section--soft { background:var(--soft); }
.section--dark { background:var(--black); color:#fff; }
.section-heading { display:grid; grid-template-columns:minmax(0, 1fr) minmax(280px, .65fr); gap:48px; align-items:end; margin-bottom:48px; }
.section-heading p { margin:0; color:var(--muted); font-size:18px; }
.section--dark .section-heading p { color:#d4d7cf; }
.signal { width:90px; height:7px; margin:20px 0; background:linear-gradient(90deg,var(--lime-yellow),var(--lime-green)); }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.card { padding:28px; border:1px solid var(--line); background:#fff; }
.card--dark { border-color:#363636; background:#202020; }
.card--lime { background:var(--lime); border-color:var(--lime); }
.card p { margin:16px 0 0; }
.card__label { color:#6a8000; font-size:12px; font-weight:700; letter-spacing:.08em; }
.card--dark .card__label { color:var(--lime); }
.card--lime .card__label { color:#000; }
.metric { padding:22px 0; border-top:1px solid var(--line); }
.metric strong { display:block; font-size:42px; line-height:1; letter-spacing:-.05em; }
.metric span { color:var(--muted); font-size:14px; }
.process { counter-reset:process; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.process-item { min-height:220px; padding:28px; background:#fff; }
.process-item::before { counter-increment:process; content:"0" counter(process); color:#718900; font-size:13px; font-weight:700; }
.process-item h3 { margin-top:36px; }
.process-item p { color:var(--muted); font-size:15px; }
.service-list { border-top:2px solid var(--black); }
.service-row { display:grid; grid-template-columns:1.35fr 1.7fr .7fr; gap:24px; align-items:center; padding:24px 12px; border-bottom:1px solid var(--line); }
.service-row h3 { font-size:22px; }
.service-row p { margin:0; color:var(--muted); }
.service-row span { color:#668000; font-size:14px; font-weight:700; text-align:right; }
.quote { max-width:900px; font-size:clamp(28px,4vw,48px); font-weight:700; line-height:1.1; letter-spacing:-.03em; }
.quote cite { display:block; margin-top:24px; color:var(--lime); font-size:13px; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.cta-band { padding:52px 0; background:var(--lime); color:#000; }
.cta-band .container { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.cta-band h2 { max-width:760px; font-size:clamp(32px,4vw,50px); }
.page-hero { padding:100px 0 62px; background:var(--soft); border-bottom:1px solid var(--line); }
.page-hero h1 { max-width:900px; font-size:clamp(46px,6vw,72px); }
.page-hero p { max-width:680px; margin:20px 0 0; color:var(--muted); font-size:19px; }
.entry-content { max-width:820px; }
.entry-content > * + * { margin-top:1.25em; }
.entry-content h2 { margin-top:1.6em; font-size:36px; }
.entry-content h3 { margin-top:1.3em; }
.entry-content ul { padding-left:22px; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.article-card { padding:26px; border:1px solid var(--line); }
.article-card .meta { color:var(--muted); font-size:13px; }
.article-card h2 { margin:12px 0; font-size:26px; }
.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:45px; align-items:start; }
.contact-panel { padding:34px; background:var(--black); color:#fff; }
.contact-panel p { color:#dfe1dc; }
.form-placeholder { padding:32px; border:1px dashed #99a86a; background:var(--lime-pale, #f5f8d8); }
.site-footer { padding:62px 0 26px; background:var(--black); color:#fff; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:45px; }
.footer-brand { width:190px; margin-bottom:20px; }
.footer-brand img { display:block; width:100%; }
.site-footer h3 { color:var(--lime); font-size:14px; letter-spacing:.08em; text-transform:uppercase; }
.site-footer p, .site-footer li { color:#d4d7cf; font-size:14px; }
.site-footer ul { margin:14px 0 0; padding:0; list-style:none; }
.site-footer li + li { margin-top:8px; }
.footer-bottom { margin-top:48px; padding-top:22px; border-top:1px solid #363636; color:#9ea39a; font-size:12px; }
@media (max-width: 850px) { .hero-grid,.section-heading,.contact-grid,.footer-grid { grid-template-columns:1fr; } .grid-3,.grid-4,.article-grid { grid-template-columns:1fr; } .process { grid-template-columns:1fr 1fr; } .service-row { grid-template-columns:1fr; gap:10px; } .service-row span { text-align:left; } .menu-toggle { display:block; } .primary-nav { position:absolute; top:82px; left:0; right:0; display:none; background:#fff; padding:22px; border-bottom:1px solid var(--line); } .primary-nav.is-open { display:block; } .primary-nav ul { display:block; } .primary-nav li + li { margin-top:15px; } .header-cta { display:none; } .cta-band .container { display:block; } .cta-band .button { margin-top:22px; } }
@media (max-width: 520px) { .container { width:min(100% - 28px, var(--container)); } .process { grid-template-columns:1fr; } .hero { padding-top:70px; } }
