/**
 * Lumora Core frontend styles
 * TABLE OF CONTENTS
 * 01. Shared elements
 * 02. Hero and actions
 * 03. Services
 * 04. Clients
 * 05. Projects
 * 06. Quote form
 * 07. Responsive
 */

/* 01. Shared elements
--------------------------------------------- */
:root { --lumora-core-ink:#11110f; --lumora-core-paper:#f0eee7; --lumora-core-bright:#f8f6ef; --lumora-core-signal:#ff4d00; --lumora-core-line:rgba(17,17,15,.16); --lumora-core-display:"Syne",sans-serif; --lumora-core-body:"Manrope",sans-serif; }
.lumora-core-shell { width:min(1320px,84.4%); margin:0 auto; }
.lumora-core-section,.lumora-core-clients,.lumora-core-projects,.lumora-core-quote { padding:115px 0; font-family:var(--lumora-core-body); }
.lumora-core-kicker { display:flex;gap:13px;font-size:.61rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase; }
.lumora-core-kicker b { color:var(--lumora-core-signal); }
.lumora-core-kicker--light { color:#fff; }
.lumora-core-heading-row { display:grid;grid-template-columns:1.4fr .6fr;gap:7vw;align-items:end;margin-top:44px; }
.lumora-core-heading { margin:0;font:600 clamp(3.4rem,5.8vw,6.8rem)/.91 var(--lumora-core-display);letter-spacing:-.072em;text-transform:uppercase; }
.lumora-core-heading em { color:var(--lumora-core-signal);font-style:normal; }
.lumora-core-heading-row>p { margin:0 0 6px;color:#65625c;font-size:.86rem;line-height:1.8; }
body .lumora-form__honeypot { position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden; }

/* 02. Hero and actions
--------------------------------------------- */
.lumora-elementor-hero { position:relative;min-height:930px;height:100vh;overflow:hidden;color:#fff;background:var(--lumora-core-ink);font-family:var(--lumora-core-body); }
.lumora-elementor-hero__media,.lumora-elementor-hero__shade { position:absolute;inset:0;width:100%;height:100%; }
.lumora-elementor-hero__media { object-fit:cover; }
.lumora-elementor-hero__shade { background:linear-gradient(90deg,rgba(0,0,0,.79),rgba(0,0,0,.13) 72%),linear-gradient(0deg,rgba(0,0,0,.46),transparent 52%); }
.lumora-elementor-hero__content { position:relative;z-index:2;width:84.4%;margin:auto;padding-top:23vh; }
.lumora-elementor-hero__heading { max-width:1120px;margin:32px 0 0;font:600 clamp(4.4rem,8vw,9rem)/.86 var(--lumora-core-display);letter-spacing:-.075em;text-transform:uppercase; }
.lumora-elementor-hero__heading em { font-style:normal; }
.lumora-elementor-hero__intro { display:flex;gap:5vw;align-items:end;margin-top:42px; }
.lumora-elementor-hero__intro p { width:390px;margin:0 0 8px;color:rgba(255,255,255,.7);font-size:.93rem;line-height:1.8; }
.lumora-core-circle-link { position:relative;display:grid;place-content:center;width:112px;height:112px;padding:20px;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-size:.56rem;font-weight:800;line-height:1.4;letter-spacing:.08em;text-align:center;text-transform:uppercase; }
.lumora-core-circle-link span { position:absolute;top:18px;right:18px; }
.lumora-core-action-dock { position:absolute;z-index:3;right:7.8vw;bottom:0;left:7.8vw;display:grid;grid-template-columns:1.05fr .68fr 1.35fr;background:rgba(14,14,13,.9);border-top:1px solid rgba(255,255,255,.25);backdrop-filter:blur(18px); }
.lumora-core-action-dock>form,.lumora-core-action-dock>a { display:grid;grid-template-columns:30px 1fr;gap:10px 12px;align-content:center;min-height:118px;padding:18px 20px;border:0;border-right:1px solid rgba(255,255,255,.16);color:#fff;background:transparent;text-align:left; }
.lumora-core-action-dock>*>span { color:var(--lumora-core-signal);font-size:.5rem;letter-spacing:.12em; }
.lumora-core-action-dock strong,.lumora-core-action-dock small { display:block; }
.lumora-core-action-dock strong { font:600 .72rem var(--lumora-core-display);text-transform:uppercase; }
.lumora-core-action-dock small { margin:5px 0 8px;color:rgba(255,255,255,.54);font-size:.56rem; }
.lumora-core-action-dock input,.lumora-core-action-dock select { width:calc(100% - 34px);padding:6px 0;border:0;border-bottom:1px solid rgba(255,255,255,.34);outline:0;color:#fff;background:transparent;font-size:.65rem; }
.lumora-core-action-dock select { width:52%; }.lumora-core-action-dock option{color:var(--lumora-core-ink)}
.lumora-core-action-dock button { width:28px;padding:0;border:0;color:var(--lumora-core-signal);background:transparent; }
.lumora-core-action-dock>a.lumora-core-action-dock__whatsapp { grid-template-columns:34px 1fr 18px;align-items:center;background:#1e8f57; }
.lumora-core-action-dock>a.lumora-core-action-dock__whatsapp>span { display:grid;place-content:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;font:700 .7rem var(--lumora-core-display); }
.lumora-core-action-dock .lumora-form__status { grid-column:1/-1;margin:4px 0 0;font-size:.56rem; }

/* 03. Services
--------------------------------------------- */
.lumora-core-service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:75px; }
.lumora-core-service-grid article { overflow:hidden;background:var(--lumora-core-bright);border:1px solid var(--lumora-core-line);transition:transform .3s; }
.lumora-core-service-grid article:hover { transform:translateY(-8px); }
.lumora-core-service-card__image { position:relative;display:block;height:245px;overflow:hidden; }
.lumora-core-service-card__image::after { position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 65%);content:""; }
.lumora-core-service-card__image img { width:100%;height:100%;object-fit:cover;transition:transform .55s; }.lumora-core-service-grid article:hover img{transform:scale(1.05)}
.lumora-core-service-card__image span { position:absolute;z-index:2;bottom:18px;left:20px;color:#fff;font-size:.56rem;letter-spacing:.15em; }
.lumora-core-service-card__body { position:relative;min-height:270px;padding:28px; }
.lumora-core-service-card__body h3 { max-width:85%;margin:0 0 20px;font:600 clamp(1.65rem,2.2vw,2.25rem)/1 var(--lumora-core-display);letter-spacing:-.05em;text-transform:uppercase; }
.lumora-core-service-card__body p { max-width:82%;margin:0;color:#65625c;font-size:.73rem;line-height:1.7; }
.lumora-core-arrow { position:absolute;right:24px;bottom:24px;display:grid;place-content:center;width:45px;height:45px;border:1px solid currentColor;border-radius:50%; }

/* 04. Clients
--------------------------------------------- */
.lumora-core-clients .lumora-core-heading { max-width:950px;margin-top:42px; }
.lumora-core-logo-grid { display:grid;grid-template-columns:repeat(5,1fr);margin-top:72px;border-top:1px solid var(--lumora-core-line);border-left:1px solid var(--lumora-core-line); }
.lumora-core-logo-grid>a,.lumora-core-logo-grid>span { position:relative;display:grid;place-items:center;min-height:135px;padding:30px;border-right:1px solid var(--lumora-core-line);border-bottom:1px solid var(--lumora-core-line);color:#4d4b46;transition:.25s; }
.lumora-core-logo-grid>a:hover { color:#fff;background:var(--lumora-core-ink); }
.lumora-core-logo-grid i { position:absolute;top:10px;left:12px;color:var(--lumora-core-signal);font-size:.45rem;font-style:normal; }
.lumora-core-logo-grid strong { font:700 clamp(.75rem,1.15vw,1.2rem)/1 var(--lumora-core-display); }
.lumora-core-logo-grid img { max-width:125px;max-height:45px;object-fit:contain; }

/* 05. Projects
--------------------------------------------- */
.lumora-core-projects { color:#fff;background:var(--lumora-core-ink); }
.lumora-core-projects .lumora-core-heading-row>p { color:rgba(255,255,255,.5); }
.lumora-core-filters { display:flex;gap:30px;margin:70px 0 34px;padding-bottom:17px;border-bottom:1px solid rgba(255,255,255,.17); }
.lumora-core-filters button { padding:0 0 8px;border:0;border-bottom:2px solid transparent;color:rgba(255,255,255,.45);background:transparent;font-size:.65rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase; }
.lumora-core-filters button.is-active { color:#fff;border-color:var(--lumora-core-signal); }
.lumora-core-project-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:65px 24px; }
.lumora-core-project-grid article[hidden] { display:none; }
.lumora-core-project__image { position:relative;display:block;overflow:hidden;aspect-ratio:1.3/1;background:#292927; }
.lumora-core-project__image::after { position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 52%);content:""; }
.lumora-core-project__image img { width:100%;height:100%;object-fit:cover;transition:transform .65s; }.lumora-core-project-grid article:hover img{transform:scale(1.045)}
.lumora-core-project__image span { position:absolute;z-index:2;right:22px;bottom:22px;display:grid;place-content:center;width:50px;height:50px;border-radius:50%;background:var(--lumora-core-signal); }
.lumora-core-project__caption { display:flex;justify-content:space-between;align-items:end;margin-top:17px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2); }
.lumora-core-project__caption h3 { margin:0;font:600 clamp(1.35rem,2vw,2rem)/1 var(--lumora-core-display);letter-spacing:-.05em;text-transform:uppercase; }
.lumora-core-project__caption p { margin:0;color:rgba(255,255,255,.47);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase; }

/* 06. Quote form
--------------------------------------------- */
.lumora-core-quote { color:#fff;background:var(--lumora-core-signal); }
.lumora-core-quote__grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw; }
.lumora-core-quote .lumora-core-heading { margin-top:42px; }.lumora-core-quote .lumora-core-heading em{color:var(--lumora-core-ink)}
.lumora-core-quote p { max-width:450px;color:rgba(255,255,255,.75);font-size:.86rem;line-height:1.8; }
.lumora-core-quote__contact { display:flex;flex-direction:column;margin-top:45px;font:600 .75rem var(--lumora-core-display); }
.lumora-core-quote .lumora-form { display:grid;grid-template-columns:repeat(2,1fr);gap:28px 24px; }
.lumora-core-quote .lumora-form label { display:flex;flex-direction:column;gap:8px; }.lumora-core-quote .lumora-form label>span{font-size:.54rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.lumora-core-quote .lumora-form input,.lumora-core-quote .lumora-form select,.lumora-core-quote .lumora-form textarea { width:100%;padding:11px 0;border:0;border-bottom:1px solid rgba(255,255,255,.55);outline:0;color:#fff;background:transparent; }.lumora-core-quote .lumora-form option{color:var(--lumora-core-ink)}
.lumora-core-quote .lumora-form__full { grid-column:1/-1; }.lumora-form__footer{display:flex;justify-content:space-between;align-items:center}.lumora-form__footer button{min-height:54px;padding:0 22px;border:0;color:#fff;background:var(--lumora-core-ink);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.lumora-core-quote .lumora-form__status { grid-column:1/-1;margin:0;font-size:.7rem; }

/* 07. Responsive
--------------------------------------------- */
@media(max-width:900px){.lumora-core-shell,.lumora-elementor-hero__content{width:auto;margin-right:24px;margin-left:24px}.lumora-core-heading-row,.lumora-core-quote__grid{grid-template-columns:1fr;gap:30px}.lumora-core-service-grid{grid-template-columns:1fr}.lumora-core-logo-grid{grid-template-columns:repeat(2,1fr)}.lumora-elementor-hero{min-height:1120px;height:auto}.lumora-elementor-hero__content{padding-top:180px}.lumora-core-action-dock{right:24px;left:24px;grid-template-columns:1fr}.lumora-core-action-dock>form,.lumora-core-action-dock>a{min-height:100px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}}
@media(max-width:560px){.lumora-core-section,.lumora-core-clients,.lumora-core-projects,.lumora-core-quote{padding:84px 0}.lumora-core-heading{font-size:3rem}.lumora-elementor-hero{min-height:1080px}.lumora-elementor-hero__content{padding-top:145px}.lumora-elementor-hero__heading{font-size:3.45rem}.lumora-elementor-hero__intro p{width:67%;font-size:.78rem}.lumora-core-circle-link{width:82px;height:82px;font-size:.47rem}.lumora-core-action-dock{right:12px;left:12px}.lumora-core-logo-grid,.lumora-core-project-grid,.lumora-core-quote .lumora-form{grid-template-columns:1fr}.lumora-core-project__caption{display:block}.lumora-core-project__caption p{margin-top:8px}.lumora-core-quote .lumora-form__full{grid-column:auto}.lumora-form__footer{display:block}.lumora-form__footer button{width:100%;margin-top:18px}.lumora-core-filters{overflow-x:auto}.lumora-core-filters button{white-space:nowrap}}
