.ace-process-page {
  --ivory:#f3efe8;
  --soft:#fbf9f5;
  --charcoal:#1b1b19;
  --black:#10110f;
  --gold:#c89443;
  --gold-dark:#a97932;
  --grey:#696962;
  --line:rgba(27,27,25,.14);
  width:100%;
  overflow-x:clip;
  color:var(--charcoal);
  background:var(--soft);
  font-family:"DM Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}

.ace-process-page *,
.ace-process-page *::before,
.ace-process-page *::after { box-sizing:border-box; }

.ace-process-page img { display:block; width:100%; }
.ace-process-page a { color:inherit; text-decoration:none; }
.ace-process-page h1,
.ace-process-page h2,
.ace-process-page h3,
.ace-process-page p,
.ace-process-page blockquote,
.ace-process-page ul { margin:0; }

.app-container { width:min(90%,1480px); margin-inline:auto; }
.app-section { padding:145px 0; }
.app-label,.app-eyebrow { display:inline-block; color:var(--gold-dark); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.app-number,.app-index span { color:var(--gold); font-size:12px; }
.app-button { min-height:56px; padding:0 28px; display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; transition:.3s ease; }
.app-button--gold { color:#fff!important; background:var(--gold); border-color:var(--gold); }
.app-button--gold:hover { background:var(--gold-dark); border-color:var(--gold-dark); transform:translateY(-2px); }
.app-button--outline-light { color:#fff!important; border-color:rgba(255,255,255,.7); }
.app-button--outline-light:hover { color:var(--charcoal)!important; background:#fff; }
.app-button--outline-dark { border-color:var(--charcoal); }
.app-button--outline-dark:hover { color:#fff!important; background:var(--charcoal); }
.app-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

.app-header { position:fixed; inset:0 0 auto; z-index:999; color:#fff; transition:.35s ease; }
.app-header.is-scrolled { color:var(--charcoal); background:rgba(251,249,245,.94); backdrop-filter:blur(18px); box-shadow:0 1px 0 rgba(27,27,25,.08); }
.app-header__inner { width:min(94%,1600px); height:96px; margin-inline:auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:38px; }
.app-brand { width:fit-content; display:flex; align-items:center; }
.app-brand img { width:auto; max-width:145px; max-height:58px; object-fit:contain; filter:brightness(0) invert(1); }
.app-header.is-scrolled .app-brand img { filter:none; }
.app-nav { display:flex; gap:28px; }
.app-nav a { position:relative; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.app-nav a::after { content:""; position:absolute; left:0; bottom:-8px; width:0; height:1px; background:var(--gold); transition:.25s ease; }
.app-nav a:hover::after,.app-nav a.is-active::after { width:100%; }
.app-header__cta { justify-self:end; padding:13px 22px; border:1px solid rgba(255,255,255,.65); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.app-header.is-scrolled .app-header__cta { border-color:var(--charcoal); }
.app-menu-toggle { display:none; width:46px; height:46px; padding:0; color:inherit; background:transparent; border:0; }
.app-menu-toggle span { display:block; width:25px; height:1px; margin:7px auto; background:currentColor; transition:.25s ease; }
.app-mobile-menu { display:none; }

.app-hero { position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:flex-end; padding:190px 0 120px; color:#fff; isolation:isolate; }
.app-hero__bg { position:absolute; inset:0; z-index:-3; background-size:cover; background-position:center; animation:appHeroZoom 18s ease-out both; }
@keyframes appHeroZoom { from{transform:scale(1.06)} to{transform:scale(1)} }
.app-hero__overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(8,9,8,.78),rgba(8,9,8,.34) 64%,rgba(8,9,8,.18)),linear-gradient(0deg,rgba(8,9,8,.52),transparent 55%); }
.app-eyebrow { margin-bottom:26px; color:#fff; letter-spacing:.2em; }
.app-hero h1 { max-width:1180px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(66px,7.5vw,120px); font-weight:500; line-height:.96; letter-spacing:-.045em; }
.app-hero h1 em { color:var(--gold); font-weight:500; }
.app-hero__content > p { max-width:670px; margin-top:30px; color:rgba(255,255,255,.84); font-size:17px; line-height:1.8; }

.app-three { display:grid; grid-template-columns:.65fr 1.55fr .9fr; gap:60px; align-items:start; }
.app-index { display:flex; align-items:center; gap:14px; }
.app-index p { color:var(--gold-dark); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.app-intro h2,.app-heading h2,.app-collab h2,.app-cta h2 { font-family:"Playfair Display",Georgia,serif; font-size:clamp(46px,5vw,78px); font-weight:500; line-height:1.05; letter-spacing:-.04em; }
.app-copy p,.app-heading > p { color:var(--grey); line-height:1.85; }
.app-copy p + p { margin-top:22px; }
.app-heading { margin-bottom:80px; }
.app-heading > div .app-label { margin-left:14px; }

.app-steps { background:var(--ivory); }
.app-step { display:grid; grid-template-columns:.25fr 1.4fr .55fr; gap:55px; padding:65px 0; border-top:1px solid var(--line); }
.app-step:last-child { border-bottom:1px solid var(--line); }
.app-step__number { font-family:"Playfair Display",Georgia,serif; color:var(--gold); font-size:64px; line-height:1; }
.app-step__main > span,.app-step aside > span { color:var(--gold-dark); font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.app-step h3 { max-width:850px; margin-top:13px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(38px,4vw,60px); font-weight:500; line-height:1.08; letter-spacing:-.035em; }
.app-step__main > p { max-width:780px; margin-top:22px; color:var(--grey); line-height:1.85; }
.app-step ul { margin-top:26px; padding:0; list-style:none; }
.app-step li { position:relative; padding:11px 0 11px 20px; color:var(--grey); border-bottom:1px solid var(--line); font-size:14px; }
.app-step li::before { content:""; position:absolute; left:0; top:20px; width:5px; height:5px; background:var(--gold); border-radius:50%; }
.app-step aside { align-self:end; padding:25px; background:var(--soft); }
.app-step aside p { margin-top:10px; color:var(--grey); font-size:14px; line-height:1.75; }

.app-timeline { background:var(--soft); }
.app-card-grid { display:grid; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.app-card-grid--three { grid-template-columns:repeat(3,1fr); }
.app-card-grid--four { grid-template-columns:repeat(4,1fr); }
.app-card-grid article { min-height:330px; padding:38px 32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.app-card-grid article > span { display:block; margin-bottom:58px; color:var(--gold); font-size:12px; }
.app-card-grid h3 { font-family:"Playfair Display",Georgia,serif; font-size:30px; font-weight:500; line-height:1.2; }
.app-card-grid p { margin-top:17px; color:var(--grey); font-size:14px; line-height:1.8; }

.app-collab { color:#fff; background:var(--charcoal); }
.app-collab__grid { display:grid; grid-template-columns:1.08fr .92fr; gap:8%; align-items:center; }
.app-collab__image { height:780px; overflow:hidden; }
.app-collab__image img { height:100%; object-fit:cover; }
.app-collab__content .app-label { margin-bottom:24px; }
.app-collab__content > p { margin-top:27px; color:rgba(255,255,255,.62); line-height:1.85; }
.app-collab__points { margin-top:42px; border-top:1px solid rgba(255,255,255,.16); }
.app-collab__points article { display:grid; grid-template-columns:55px 1fr; gap:20px; padding:27px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.app-collab__points article > span { color:var(--gold); font-size:12px; }
.app-collab__points h3 { font-family:"Playfair Display",Georgia,serif; font-size:27px; font-weight:500; }
.app-collab__points p { margin-top:6px; color:rgba(255,255,255,.58); font-size:14px; line-height:1.75; }

.app-client { background:var(--ivory); }

.app-philosophy { position:relative; min-height:760px; display:flex; align-items:center; color:#fff; isolation:isolate; }
.app-philosophy__bg { position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; }
.app-philosophy__overlay { position:absolute; inset:0; z-index:-1; background:rgba(11,12,10,.7); }
.app-philosophy__content { max-width:1120px; text-align:center; }
.app-philosophy__content > span { display:inline-block; margin-bottom:35px; color:var(--gold); font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.app-philosophy blockquote { font-family:"Playfair Display",Georgia,serif; font-size:clamp(48px,6vw,86px); font-weight:500; line-height:1.14; letter-spacing:-.04em; }
.app-philosophy p { max-width:650px; margin:30px auto 0; color:rgba(255,255,255,.72); line-height:1.8; }

.app-faq { background:var(--soft); }
.app-faq__list { border-top:1px solid var(--line); }
.app-faq__item { border-bottom:1px solid var(--line); }
.app-faq__item button { width:100%; min-height:96px; padding:0; display:flex; align-items:center; justify-content:space-between; gap:30px; color:var(--charcoal); background:transparent; border:0; text-align:left; cursor:pointer; }
.app-faq__item button span { font-family:"Playfair Display",Georgia,serif; font-size:28px; font-weight:500; }
.app-faq__item button i { position:relative; flex:0 0 42px; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; }
.app-faq__item button i::before,.app-faq__item button i::after { content:""; position:absolute; left:50%; top:50%; width:12px; height:1px; background:var(--charcoal); transform:translate(-50%,-50%); transition:.25s; }
.app-faq__item button i::after { transform:translate(-50%,-50%) rotate(90deg); }
.app-faq__item.is-open button i::after { transform:translate(-50%,-50%); }
.app-faq__answer { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.app-faq__answer p { max-width:850px; padding:0 0 32px; color:var(--grey); line-height:1.85; }

.app-cta { background:var(--ivory); }
.app-cta__grid { display:grid; grid-template-columns:1.2fr .8fr; gap:10%; align-items:end; }
.app-cta__grid .app-label { margin-bottom:24px; }

.app-footer { padding:100px 0 28px; color:#fff; background:var(--black); }
.app-footer__main { display:grid; grid-template-columns:1.4fr .7fr .8fr 1fr; gap:65px; padding-bottom:85px; }
.app-footer__brand img { width:auto; max-width:175px; max-height:75px; object-fit:contain; }
.app-footer__brand p { max-width:380px; margin-top:25px; color:rgba(255,255,255,.58); font-size:14px; line-height:1.75; }
.app-footer__column { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.app-footer__column > span { margin-bottom:12px; color:var(--gold); font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.app-footer__column a,.app-footer__column p { color:rgba(255,255,255,.68); font-size:14px; }
.app-footer__bottom { display:grid; grid-template-columns:1fr auto 1fr; gap:30px; align-items:center; padding-top:28px; border-top:1px solid rgba(255,255,255,.12); }
.app-footer__bottom p { color:rgba(255,255,255,.42); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.app-footer__bottom p:last-child { text-align:right; }
.app-footer__bottom > div { display:flex; gap:22px; }
.app-footer__bottom a { font-size:10px; letter-spacing:.1em; text-transform:uppercase; }

.app-whatsapp { position:fixed; left:24px; bottom:24px; z-index:998; width:55px; height:55px; display:grid; place-items:center; background:#20c763; border-radius:50%; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.app-whatsapp svg { width:29px; height:29px; fill:#fff; }

.app-reveal { opacity:0; transform:translateY(35px); transition:opacity .8s ease,transform .8s ease; }
.app-reveal.is-visible { opacity:1; transform:none; }

@media(max-width:1100px) {
  .app-section { padding:110px 0; }
  .app-header__inner { grid-template-columns:1fr auto; }
  .app-nav,.app-header__cta { display:none; }
  .app-menu-toggle { display:block; justify-self:end; }
  .app-mobile-menu { position:fixed; inset:0; z-index:-1; padding:140px 6% 60px; display:flex; flex-direction:column; gap:24px; color:var(--charcoal); background:var(--soft); opacity:0; visibility:hidden; transform:translateY(-20px); transition:.35s ease; }
  .app-mobile-menu.is-open { opacity:1; visibility:visible; transform:none; }
  .app-mobile-menu > a { width:fit-content; font-family:"Playfair Display",Georgia,serif; font-size:42px; line-height:1.1; }
  .app-mobile-menu__cta { margin-top:20px; padding:17px 24px; color:#fff!important; background:var(--gold); font-family:"DM Sans",Arial,sans-serif!important; font-size:11px!important; }
  .app-header.menu-open { color:var(--charcoal); }
  .app-header.menu-open .app-brand img { filter:none; }
  .app-header.menu-open .app-menu-toggle span:first-child { transform:translateY(4px) rotate(45deg); }
  .app-header.menu-open .app-menu-toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .app-three { grid-template-columns:1fr; gap:28px; }
  .app-step { grid-template-columns:.2fr 1fr; }
  .app-step aside { grid-column:2; }
  .app-card-grid--three,.app-card-grid--four { grid-template-columns:repeat(2,1fr); }
  .app-collab__grid { gap:6%; }
  .app-collab__image { height:650px; }
  .app-footer__main { grid-template-columns:1.3fr 1fr 1fr; }
  .app-footer__column:last-child { grid-column:2/4; }
}

@media(max-width:767px) {
  .app-container { width:88%; }
  .app-section { padding:82px 0; }
  .app-header__inner { width:88%; height:76px; }
  .app-brand img { max-width:115px; max-height:48px; }
  .app-hero { min-height:780px; padding:130px 0 100px; }
  .app-hero h1 { font-size:clamp(50px,14vw,72px); }
  .app-hero__content > p { font-size:15px; }
  .app-actions { flex-direction:column; }
  .app-button { width:100%; }
  .app-intro h2,.app-heading h2,.app-collab h2,.app-cta h2 { font-size:44px; }
  .app-step { grid-template-columns:1fr; gap:25px; padding:52px 0; }
  .app-step aside { grid-column:auto; }
  .app-step__number { font-size:50px; }
  .app-card-grid--three,.app-card-grid--four { grid-template-columns:1fr; }
  .app-card-grid article { min-height:auto; }
  .app-collab__grid,.app-cta__grid { grid-template-columns:1fr; gap:52px; }
  .app-collab__image { height:500px; }
  .app-philosophy { min-height:670px; }
  .app-philosophy blockquote { font-size:42px; }
  .app-faq__item button { min-height:86px; }
  .app-faq__item button span { font-size:22px; }
  .app-footer { padding-top:75px; }
  .app-footer__main { grid-template-columns:1fr 1fr; gap:55px 30px; }
  .app-footer__brand,.app-footer__column:last-child { grid-column:span 2; }
  .app-footer__bottom { grid-template-columns:1fr; gap:18px; }
  .app-footer__bottom p:last-child { text-align:left; }
  .app-whatsapp { left:16px; bottom:16px; width:51px; height:51px; }
}
