:root {
  --crispy-orange:#f26a1b;
  --crispy-orange-hover:#ff812f;
  --crispy-black:#080b0c;
  --crispy-charcoal:#111111;
  --crispy-graphite:#1a1c1d;
  --crispy-muted:#666d70;
  --crispy-white:#ffffff;
  --crispy-warm:#f6f4ef;
  --crispy-line:#e5e2dc;
  --crispy-dark-line:rgba(255,255,255,.14);
  --crispy-max:1280px;
  --crispy-pad:clamp(18px,4vw,48px);
}

body.crispy-editable-home .site-content,
body.crispy-editable-home .ast-container,
body.crispy-editable-home .entry-content,
body.crispy-editable-home .wp-block-post-content,
.editor-styles-wrapper .crispy-homepage {
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body.crispy-editable-home #masthead,
body.crispy-editable-home #colophon,
body.crispy-editable-home .entry-header { display:none !important; }
body.crispy-editable-home,
.editor-styles-wrapper .crispy-homepage {
  background:#fff;
  color:var(--crispy-charcoal);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
body.crispy-editable-home h1,
body.crispy-editable-home h2,
body.crispy-editable-home h3,
.editor-styles-wrapper .crispy-homepage h1,
.editor-styles-wrapper .crispy-homepage h2,
.editor-styles-wrapper .crispy-homepage h3 {
  font-weight:650;
  letter-spacing:0;
  line-height:1.05;
}
body.crispy-editable-home p,
.editor-styles-wrapper .crispy-homepage p { margin-top:0; }

.crispy-homepage .site-header {
  position:absolute;
  top:0;left:0;right:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:28px clamp(24px,4vw,42px);
  color:#fff;
  background:transparent !important;
}
.crispy-homepage .brand-link { display:grid; gap:3px; min-width:max-content; line-height:1; text-decoration:none; color:inherit; }
.crispy-homepage .brand-word { font-size:clamp(1rem,1.4vw,1.35rem); font-weight:800; letter-spacing:.02em; }
.crispy-homepage .brand-word strong { color:var(--crispy-orange); }
.crispy-homepage .brand-subline { font-size:.48rem; font-weight:800; letter-spacing:.34em; color:rgba(255,255,255,.76); text-transform:uppercase; }
.crispy-homepage .site-nav { display:flex; align-items:center; justify-content:flex-end; gap:clamp(18px,2.1vw,34px); margin-left:auto; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.crispy-homepage .site-nav a { color:rgba(255,255,255,.88); text-decoration:none; }
.crispy-homepage .site-nav a:first-child { position:relative; color:#fff; }
.crispy-homepage .site-nav a:first-child:after { content:""; position:absolute; left:0; right:0; bottom:-10px; height:2px; background:var(--crispy-orange); }
.crispy-homepage .nav-cta a,
.crispy-homepage a.nav-cta { min-height:48px; display:inline-flex; align-items:center; gap:12px; padding:0 24px; background:var(--crispy-orange); color:#fff !important; border:1px solid var(--crispy-orange); }

.crispy-homepage .home-hero {
  position:relative;
  min-height:790px;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  background:var(--crispy-black);
  display:flex;
  align-items:center;
}
.crispy-homepage .home-hero:before {
  content:""; position:absolute; inset:0; z-index:-3;
  background-image:var(--hero-image);
  background-size:cover;
  background-position:center right;
  transform:scale(1.01);
}
.crispy-homepage .home-hero:after {
  content:""; position:absolute; inset:0; z-index:-2;
  background:linear-gradient(90deg,rgba(5,7,8,.99) 0%,rgba(5,7,8,.96) 28%,rgba(5,7,8,.72) 45%,rgba(5,7,8,.24) 66%,rgba(5,7,8,.1) 100%),linear-gradient(0deg,rgba(5,7,8,.72) 0%,rgba(5,7,8,.2) 42%,rgba(5,7,8,.4) 100%);
}
.crispy-homepage .hero-inner { width:min(var(--crispy-max),calc(100% - (var(--crispy-pad) * 2))); min-height:790px; display:flex; align-items:center; margin:0 auto; padding-top:76px; }
.crispy-homepage .hero-copy { max-width:680px; padding-top:28px; }
.crispy-homepage .eyebrow { display:block; margin-bottom:18px; color:var(--crispy-orange); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.crispy-homepage .home-hero h1 { max-width:680px; margin:0; color:#fff; font-size:clamp(3rem,3.9vw,3.7rem); letter-spacing:-.01em; }
.crispy-homepage .home-hero p { max-width:420px; margin-top:28px; color:rgba(255,255,255,.74); font-size:1rem; line-height:1.72; }
.crispy-homepage .hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:34px; }
.crispy-homepage .button a,
.crispy-homepage a.button { display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:52px; padding:0 24px; border:1px solid transparent; border-radius:0; font-size:.72rem; font-weight:800; letter-spacing:.08em; line-height:1; text-transform:uppercase; text-decoration:none; }
.crispy-homepage .button-primary a,
.crispy-homepage a.button-primary { background:var(--crispy-orange); color:#fff; }
.crispy-homepage .button-ghost a,
.crispy-homepage a.button-ghost { border-color:rgba(255,255,255,.26); color:#fff; background:rgba(8,11,12,.35); }
.crispy-homepage .hero-trust { display:grid; gap:10px; margin-top:42px; color:rgba(255,255,255,.78); font-size:.83rem; }
.crispy-homepage .hero-trust strong { color:var(--crispy-orange); letter-spacing:.1em; }

.crispy-homepage .logo-strip { display:flex; justify-content:center; gap:clamp(56px,10vw,132px); align-items:center; min-height:88px; padding:0 var(--crispy-pad); background:#1b1d1e; color:rgba(255,255,255,.58); border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); font-size:clamp(.78rem,1.3vw,1.18rem); font-weight:700; text-align:center; }

.crispy-homepage .section { width:min(var(--crispy-max),calc(100% - (var(--crispy-pad) * 2))); margin:0 auto; padding:clamp(64px,8vw,96px) 0; }
.crispy-homepage .section + .section { border-top:1px solid var(--crispy-line); }
.crispy-homepage .section-heading { max-width:760px; margin-bottom:30px; }
.crispy-homepage .split-heading { max-width:none; display:flex; align-items:end; justify-content:space-between; gap:32px; }
.crispy-homepage .section-heading h2,
.crispy-homepage .why-intro h2,
.crispy-homepage .process-title h2,
.crispy-homepage .footer-cta h2 { margin:0; font-size:clamp(1.85rem,3vw,2.6rem); color:var(--crispy-charcoal); }
.crispy-homepage .text-link { display:inline-flex; gap:10px; color:var(--crispy-charcoal); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }

.crispy-homepage .service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.crispy-homepage .service-card { min-height:250px; display:flex; flex-direction:column; padding:28px 24px 24px; background:#fff; border:1px solid var(--crispy-line); }
.crispy-homepage .service-card:last-child { grid-column:span 2; }
.crispy-homepage .service-icon { color:var(--crispy-orange); font-size:1.55rem; line-height:1; }
.crispy-homepage .service-card h3 { margin:30px 0 0; color:var(--crispy-charcoal); font-size:.86rem; font-weight:800; letter-spacing:.04em; line-height:1.2; text-transform:uppercase; }
.crispy-homepage .service-card p { margin-top:14px; color:var(--crispy-muted); font-size:.9rem; line-height:1.55; }
.crispy-homepage .service-card .learn-more { margin-top:auto; padding-top:26px; color:var(--crispy-charcoal); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.crispy-homepage .project-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.crispy-homepage .project-tile img { width:100%; aspect-ratio:1.45/1; object-fit:cover; background:var(--crispy-warm); }
.crispy-homepage .project-copy { padding-top:13px; padding-bottom:15px; border-bottom:1px solid var(--crispy-line); }
.crispy-homepage .project-copy h3 { margin:0; font-size:.96rem; font-weight:700; }
.crispy-homepage .project-copy p { display:flex; justify-content:space-between; gap:16px; margin-top:7px; color:var(--crispy-muted); font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.crispy-homepage .why-section { display:grid; grid-template-columns:.92fr 1.55fr; gap:clamp(36px,7vw,82px); }
.crispy-homepage .why-intro p { max-width:640px; margin-top:18px; color:var(--crispy-muted); font-size:1rem; }
.crispy-homepage .why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.crispy-homepage .why-grid .why-icon { display:block; margin-bottom:22px; color:var(--crispy-orange); font-size:1.5rem; }
.crispy-homepage .why-grid h3 { margin:0; font-size:1rem; font-weight:750; }
.crispy-homepage .why-grid p { margin-top:12px; color:var(--crispy-muted); font-size:.9rem; }

.crispy-homepage .process-section { display:grid; grid-template-columns:.74fr 1.6fr; gap:clamp(34px,7vw,84px); }
.crispy-homepage .process-line { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.crispy-homepage .process-line:before { content:""; position:absolute; top:20px; left:24px; right:24px; height:1px; background:var(--crispy-line); }
.crispy-homepage .process-line article { position:relative; z-index:1; }
.crispy-homepage .process-line .step-number { display:grid; place-items:center; width:40px; height:40px; margin-bottom:18px; border-radius:50%; background:var(--crispy-orange); color:#fff; font-size:.8rem; font-weight:800; }
.crispy-homepage .process-line h3 { margin:0; font-size:.8rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.crispy-homepage .process-line p { margin-top:8px; color:var(--crispy-muted); font-size:.86rem; }

.crispy-homepage .featured-case { position:relative; min-height:360px; display:grid; grid-template-columns:minmax(280px,.72fr) minmax(280px,.86fr) 1.5fr; align-items:center; gap:34px; overflow:hidden; padding:56px max(var(--crispy-pad),calc((100vw - var(--crispy-max)) / 2 + var(--crispy-pad))); background:var(--crispy-black); color:#fff; }
.crispy-homepage .featured-case:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(8,11,12,1),rgba(8,11,12,.92) 35%,rgba(8,11,12,.42) 68%,rgba(8,11,12,.12)); }
.crispy-homepage .featured-case .case-bg { position:absolute; inset:0 0 0 auto; width:64%; height:100%; object-fit:cover; }
.crispy-homepage .case-copy,
.crispy-homepage .case-stats { position:relative; z-index:2; }
.crispy-homepage .case-copy h2 { max-width:360px; margin:0; color:#fff; font-size:clamp(2rem,3vw,3rem); }
.crispy-homepage .case-copy p { max-width:390px; margin-top:18px; color:rgba(255,255,255,.78); }
.crispy-homepage .case-meta { display:grid; gap:10px; margin:24px 0; color:rgba(255,255,255,.82); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.crispy-homepage .case-stats { display:flex; gap:34px; align-self:end; padding-bottom:28px; }
.crispy-homepage .case-stats strong { display:grid; gap:8px; color:var(--crispy-orange); font-size:clamp(1.8rem,3vw,2.65rem); line-height:1; }
.crispy-homepage .case-stats span { color:#fff; font-size:.72rem; font-weight:600; }

.crispy-homepage .faq-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.crispy-homepage .faq-grid details { border:1px solid var(--crispy-line); background:#fff; }
.crispy-homepage .faq-grid summary { display:flex; justify-content:space-between; gap:16px; padding:20px 22px; cursor:pointer; color:var(--crispy-charcoal); font-size:.9rem; font-weight:650; list-style:none; }
.crispy-homepage .faq-grid p { padding:0 22px 20px; color:var(--crispy-muted); font-size:.92rem; }

.crispy-homepage .site-footer { background:var(--crispy-black); color:#fff; }
.crispy-homepage .footer-cta { width:min(var(--crispy-max),calc(100% - (var(--crispy-pad) * 2))); display:grid; grid-template-columns:1.1fr .75fr auto; gap:40px; align-items:end; margin:0 auto; padding:58px 0; border-bottom:1px solid var(--crispy-dark-line); }
.crispy-homepage .footer-cta h2 { max-width:520px; color:#fff; }
.crispy-homepage .footer-cta p { color:rgba(255,255,255,.72); }
.crispy-homepage .footer-bottom { width:min(var(--crispy-max),calc(100% - (var(--crispy-pad) * 2))); display:grid; grid-template-columns:auto 1fr auto auto; gap:28px; align-items:center; margin:0 auto; padding:22px 0 28px; color:rgba(255,255,255,.62); font-size:.68rem; text-transform:uppercase; }
.crispy-homepage .footer-bottom nav,
.crispy-homepage .social-links { display:flex; flex-wrap:wrap; gap:18px; }

@media (max-width:1120px) {
  .crispy-homepage .service-grid,
  .crispy-homepage .project-grid,
  .crispy-homepage .why-grid,
  .crispy-homepage .faq-grid { grid-template-columns:repeat(2,1fr); }
  .crispy-homepage .why-section,
  .crispy-homepage .process-section,
  .crispy-homepage .featured-case,
  .crispy-homepage .footer-cta,
  .crispy-homepage .footer-bottom { grid-template-columns:1fr; }
  .crispy-homepage .featured-case .case-bg { width:100%; opacity:.4; }
}
@media (max-width:920px) {
  .crispy-homepage .site-header { padding:18px; align-items:flex-start; }
  .crispy-homepage .site-nav { display:none; }
  .crispy-homepage .home-hero,
  .crispy-homepage .hero-inner { min-height:720px; }
  .crispy-homepage .logo-strip { flex-wrap:wrap; padding-top:20px; padding-bottom:20px; }
  .crispy-homepage .process-line { grid-template-columns:1fr; }
  .crispy-homepage .process-line:before { left:20px; right:auto; top:20px; bottom:20px; width:1px; height:auto; }
}
@media (max-width:640px) {
  .crispy-homepage .button a,
  .crispy-homepage a.button { width:100%; }
  .crispy-homepage .home-hero h1 { font-size:clamp(2.35rem,11vw,2.95rem); }
  .crispy-homepage .service-grid,
  .crispy-homepage .project-grid,
  .crispy-homepage .why-grid,
  .crispy-homepage .faq-grid { grid-template-columns:1fr; }
  .crispy-homepage .service-card:last-child { grid-column:span 1; }
  .crispy-homepage .split-heading { display:grid; align-items:start; }
  .crispy-homepage .case-stats { display:grid; gap:18px; }
}