/* v3raw.com restore - hand-written CSS reproducing the original v3raw-v2 (Enfold) look.
   Palette + type read out of the captured enfold.css / base.css:
   body #555759 on #fff, dark #222/#242424, light bands #f8f8f8/#eee,
   cream accent #f5edc4, muted-red accent #c05f5f, Helvetica/Arial system stack. */

:root{
  --ink:#555759; --dark:#222222; --darker:#242424;
  --line:#e1e1e1; --band:#f8f8f8; --band2:#eeeeee;
  --cream:#f5edc4; --accent:#c05f5f; --leaf:#7a9a3e;
  --wrap:1160px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; color:var(--ink); background:#fff;
  font-family:Helvetica,"HelveticaNeue","Helvetica Neue",Arial,Verdana,sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--accent); text-decoration:none}
a:hover{color:var(--dark)}
h1,h2,h3,h4,h5,h6{color:var(--dark); line-height:1.12; margin:0 0 .5em; font-weight:700}
h1{font-size:34px} h2{font-size:28px} h3{font-size:20px} h4{font-size:18px}
p{margin:0 0 1.1em}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px}

/* ---------- header ---------- */
.site-header{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--line)}
.hdr-inner{display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:92px}
.brand img{height:62px; width:auto}
.nav{display:flex; align-items:center; gap:22px; flex-wrap:wrap}
.nav a{color:var(--dark); font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:700}
.nav a:hover{color:var(--accent)}
.nav .leaf-link{color:var(--leaf)}
.lang{display:flex; gap:7px; align-items:center; padding-left:6px; border-left:1px solid var(--line)}
.lang img{height:14px; width:auto; opacity:.8}
.lang a.active img, .lang a:hover img{opacity:1}
.social-ico{display:flex; gap:12px; align-items:center}
.social-ico a{color:#9c9c9c; font-size:14px; letter-spacing:.1em; text-transform:uppercase}
.social-ico a:hover{color:var(--accent)}
.nav-toggle{display:none; background:none; border:0; font-size:26px; color:var(--dark); cursor:pointer}

/* ---------- hero banner (original composed slide, shown full-width) ---------- */
.hero-banner{background:#5e6060}
.hero-banner img{display:block; width:100%; height:auto; margin:0 auto; max-width:1456px}

/* ---------- hero (overlay style, used on inner page heros if needed) ---------- */
.hero{position:relative; min-height:560px; display:flex; align-items:center; justify-content:center;
  text-align:center; color:#fff; background:#2b2b2b center/cover no-repeat}
.hero::after{content:""; position:absolute; inset:0; background:rgba(34,34,34,.38)}
.hero .inner{position:relative; z-index:2; max-width:760px; padding:40px 24px}
.hero h1{color:#fff; font-size:46px; font-weight:300; letter-spacing:.02em; text-shadow:0 2px 18px rgba(0,0,0,.4)}
.hero p{color:#f4f4f4; font-size:20px; font-weight:300}
.hero .kicker{display:inline-block; letter-spacing:.3em; text-transform:uppercase; font-size:13px;
  font-weight:700; color:var(--cream); margin-bottom:16px}
.btn{display:inline-block; margin-top:18px; padding:13px 30px; border:2px solid #fff; color:#fff;
  text-transform:uppercase; letter-spacing:.14em; font-size:13px; font-weight:700; border-radius:2px}
.btn:hover{background:#fff; color:var(--dark)}
.btn-dark{border-color:var(--dark); color:var(--dark)}
.btn-dark:hover{background:var(--dark); color:#fff}

/* ---------- sections ---------- */
.section{padding:78px 0}
.section.alt{background:var(--band)}
.section.dark{background:var(--darker); color:#cfcfcf}
.section.dark h2,.section.dark h3{color:#fff}
.sec-head{text-align:center; max-width:760px; margin:0 auto 46px}
.sec-head .kicker{display:block; letter-spacing:.3em; text-transform:uppercase; font-size:12px;
  font-weight:700; color:var(--accent); margin-bottom:12px}
.sec-head h2{font-size:30px}
.lead{font-size:20px; line-height:1.5}

/* products grid */
.prod-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px}
.prod{background:#fff; border:1px solid var(--line); border-radius:3px; overflow:hidden; text-align:center}
.prod img{width:100%; aspect-ratio:1/1; object-fit:cover}
.prod .body{padding:20px 18px 26px}
.prod h3{margin-bottom:8px}
.prod p{font-size:15px; margin:0}

/* culture / split */
.split{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center}
.split.rev .txt{order:2}
.split img{border-radius:3px; width:100%}
.feature-row{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:34px}
.feature{text-align:center}
.feature .ic{width:64px; height:64px; margin:0 auto 14px; object-fit:contain}

/* ---------- blog ---------- */
.page-hero{background:var(--darker); color:#fff; padding:64px 0; text-align:center}
.page-hero h1{color:#fff}
.page-hero p{color:#bdbdbd; margin:0}
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px}
.card{background:#fff; border:1px solid var(--line); border-radius:3px; overflow:hidden;
  display:flex; flex-direction:column; transition:box-shadow .2s}
.card:hover{box-shadow:0 10px 30px rgba(0,0,0,.09)}
.card .thumb{display:block; aspect-ratio:3/2; overflow:hidden; background:var(--band2)}
.card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .4s}
.card:hover .thumb img{transform:scale(1.05)}
.card .body{padding:20px 22px 24px; display:flex; flex-direction:column; flex:1}
.card .cat{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); font-weight:700}
.card h3{font-size:19px; margin:8px 0 10px}
.card h3 a{color:var(--dark)}
.card h3 a:hover{color:var(--accent)}
.card .meta{font-size:13px; color:#9c9c9c; margin-top:auto}
.card p{font-size:15px}

/* single post */
.post{max-width:820px; margin:0 auto}
.post .post-head{text-align:center; margin-bottom:34px}
.post .cat{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); font-weight:700}
.post h1{font-size:38px; margin:12px 0 14px}
.post .meta{color:#9c9c9c; font-size:14px}
.post .feat{margin:0 0 34px; border-radius:3px; overflow:hidden}
.post-body{font-size:18px}
.post-body img{margin:22px auto; border-radius:3px}
.post-body h2,.post-body h3{margin-top:1.4em}
.post-body ul,.post-body ol{margin:0 0 1.1em 1.3em}
.tags{margin:34px 0; padding-top:20px; border-top:1px solid var(--line)}
.tags a{display:inline-block; margin:0 8px 8px 0; padding:5px 13px; background:var(--band2);
  color:var(--ink); font-size:12px; border-radius:40px; letter-spacing:.04em}
.tags a:hover{background:var(--accent); color:#fff}
.authorbox{display:flex; gap:18px; align-items:flex-start; background:var(--band); border:1px solid var(--line);
  border-radius:3px; padding:24px; margin:34px 0}
.authorbox .av{flex:0 0 58px; width:58px; height:58px; border-radius:50%; background:var(--dark); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; letter-spacing:.04em}
.authorbox h4{margin:0 0 2px} .authorbox .role{color:var(--accent); font-size:13px; text-transform:uppercase; letter-spacing:.1em}
.authorbox p{font-size:15px; margin:.5em 0 0}

/* related */
.related{margin-top:16px}
.related h3{text-align:center; margin-bottom:26px; font-size:22px}

/* about roster */
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px}
.member{text-align:center; background:#fff; border:1px solid var(--line); border-radius:3px; padding:30px 22px}
.member .av{width:84px; height:84px; margin:0 auto 16px; border-radius:50%; background:var(--dark);
  color:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:700}
.member h3{font-size:19px; margin-bottom:4px}
.member .role{color:var(--accent); font-size:12px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:12px}
.member p{font-size:15px; margin:0}

/* contact */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px}
.contact-grid .info p{margin:0 0 .4em}

/* ---------- footer ---------- */
.site-footer{background:var(--darker); color:#9c9c9c; padding:56px 0 30px; font-size:14px}
.site-footer a{color:#cfcfcf}
.site-footer a:hover{color:#fff}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:34px}
.foot-grid h4{color:#fff; font-size:14px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:16px}
.foot-grid ul{list-style:none; margin:0; padding:0}
.foot-grid li{margin-bottom:9px}
.foot-brand img{height:52px; margin-bottom:16px; filter:brightness(0) invert(1); opacity:.9}
.foot-bottom{border-top:1px solid #3a3a3a; padding-top:20px; text-align:center; font-size:12.5px; color:#808080;
  letter-spacing:.03em}
.foot-social{display:flex; gap:16px; justify-content:center; margin-top:12px}
.foot-social a{text-transform:uppercase; letter-spacing:.1em; font-size:12px}

/* breadcrumb */
.crumb{font-size:13px; color:#9c9c9c; margin-bottom:22px}
.crumb a{color:#9c9c9c} .crumb a:hover{color:var(--accent)}

/* guest flag (invisible marker, no visual intrusion) */
.pager{display:flex; justify-content:center; gap:10px; margin-top:44px}
.pager a,.pager span{padding:8px 14px; border:1px solid var(--line); border-radius:3px; color:var(--ink); font-size:14px}
.pager .on{background:var(--dark); color:#fff; border-color:var(--dark)}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .post-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  body{font-size:16px}
  .nav{display:none; position:absolute; top:92px; left:0; right:0; background:#fff; flex-direction:column;
    align-items:flex-start; gap:0; padding:10px 24px 20px; border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:10px 0; width:100%; border-bottom:1px solid var(--band2)}
  .nav-toggle{display:block}
  .hero h1{font-size:32px} .hero{min-height:440px}
  .split,.contact-grid{grid-template-columns:1fr; gap:28px}
  .split.rev .txt{order:0}
  .prod-grid,.post-grid,.team-grid,.feature-row,.foot-grid{grid-template-columns:1fr}
  .section{padding:52px 0}
}
