/**
 * Styles for page-our-services — extracted from page-our-services.php on 2026-08-27.
 * Was shipped inline in every response for this template and could not be
 * cached. inc/epl-assets.php loads this automatically from the basename.
 * The one rule with a PHP value stays inline in the template.
 */
/* ══════════════════════════════════════════════════════════════════
   OUR SERVICES  ·  namespace .eos-  ·  same tokens as the About page
   ══════════════════════════════════════════════════════════════════ */
.eos{
	--eos-ink:var(--epl-ink); --eos-ink-70:var(--epl-ink-70); --eos-ink-50:var(--epl-ink-50); --eos-ink-30:var(--epl-ink-30);
	--eos-accent:var(--epl-accent); --eos-accent-dk:var(--epl-accent-dk); --eos-accent-lt:var(--epl-accent-lt); --eos-accent-sf:var(--epl-accent-sf);
	--eos-brown:#8b5a3c; --eos-gold:var(--epl-gold);
	--eos-cream:var(--epl-cream); --eos-sand:var(--epl-sand); --eos-line:var(--epl-line); --eos-line-lt:var(--epl-line-lt);
	--eos-dark:var(--epl-dark); --eos-wa:var(--epl-wa);
	--eos-r:14px; --eos-r-lg:20px; --eos-r-sm:8px;
	--eos-sh:0 1px 2px rgba(16,16,16,.05), 0 8px 24px rgba(16,16,16,.06);
	--eos-sh-lg:0 4px 12px rgba(16,16,16,.08), 0 24px 48px rgba(16,16,16,.12);
	color:var(--eos-ink); background:#fff; font-family:inherit; font-size:16px; line-height:1.65;
}
.eos *,.eos *::before,.eos *::after{ box-sizing:border-box; }
.eos img{ max-width:100%; }
.eos-in{ max-width:var(--epl-container); margin:0 auto; padding:0 clamp(18px,4vw,40px); box-sizing:border-box; padding-inline:var(--epl-gutter); }
.eos-in-narrow{ max-width:840px; margin:0 auto; padding:0 clamp(18px,4vw,32px); }
.eos-sec{ padding:var(--epl-section-y) 0; }
.eos-sec-cream{ background:var(--eos-cream); }
.eos-sec-sand{ background:var(--eos-sand); }

.eos-kicker{ display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--eos-accent-dk); margin:0 0 14px; }
.eos-kicker::before{ content:''; width:26px; height:2px; background:var(--eos-accent); border-radius:2px; flex:none; }
.eos h2{ font-size:clamp(28px,3.6vw,44px); line-height:1.14; letter-spacing:-.025em; font-weight:700; margin:0 0 16px; color:var(--eos-ink); }
.eos h2 em{ font-style:normal; color:var(--eos-accent-dk); }
.eos-lede{ font-size:clamp(16.5px,1.5vw,18.5px); line-height:1.75; color:var(--eos-ink-70); margin:0; }
.eos-head{ max-width:720px; margin:0 auto clamp(40px,5vw,60px); text-align:center; }
.eos-head .eos-kicker{ justify-content:center; }

/* ── hero ───────────────────────────────────────────────────────── */
.eos-hero{ position:relative; min-height:clamp(440px,58vh,560px); display:flex; align-items:flex-end; color:#fff; overflow:hidden; background:#1a1512; }
.eos-hero::after{ content:''; position:absolute; inset:0; z-index:1;
	background:linear-gradient(180deg, rgba(15,14,12,.30) 0%, rgba(15,14,12,.52) 46%, rgba(15,14,12,.88) 100%),
	           linear-gradient(90deg, rgba(15,14,12,.55) 0%, rgba(15,14,12,0) 62%); }
.eos-hero .eos-in{ position:relative; z-index:2; width:100%; padding-top:clamp(80px,12vw,120px); padding-bottom:clamp(56px,7vw,88px); }
.eos-hero .eos-kicker{ color:#f0b183; }
.eos-hero .eos-kicker::before{ background:var(--eos-accent); }
.eos-hero h1{ font-size:clamp(33px,5.3vw,58px); line-height:1.05; letter-spacing:-.035em; font-weight:700; margin:0 0 18px; max-width:18ch; color:#fff; text-shadow:0 3px 22px rgba(0,0,0,.42); }
.eos-hero h1 span{ color:#f0b183; }
.eos-hero p{ font-size:clamp(16.5px,1.7vw,20px); line-height:1.6; color:rgba(255,255,255,.93); max-width:58ch; margin:0 0 28px; text-shadow:0 2px 12px rgba(0,0,0,.45); }
.eos-hero-chips{ display:flex; flex-wrap:wrap; gap:10px 12px; margin-bottom:30px; }
.eos-chip{ display:inline-flex; align-items:center; gap:8px; padding:8px 15px; border-radius:100px;
	background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(6px);
	font-size:13px; font-weight:600; color:#fff; white-space:nowrap; }
.eos-chip svg{ width:14px; height:14px; flex:none; fill:var(--eos-gold); }
.eos-hero-btns{ display:flex; flex-wrap:wrap; gap:13px; }

/* buttons — same shape language as the header CTA */
.eos-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:14px 28px; border-radius:100px;
	font-size:15px; font-weight:700; text-decoration:none; border:1px solid transparent; cursor:pointer;
	transition:background .16s, color .16s, transform .16s, box-shadow .16s; }
.eos-btn:hover{ transform:translateY(-2px); }
.eos-btn svg{ width:17px; height:17px; fill:currentColor; flex:none; }
.eos-btn-primary{ background:var(--eos-accent); color:#fff !important; box-shadow:0 3px 14px rgba(212,134,82,.38); }
.eos-btn-primary:hover{ background:var(--eos-accent-dk); color:#fff !important; box-shadow:0 6px 20px rgba(212,134,82,.48); }
.eos-btn-wa{ background:var(--eos-wa); color:#fff !important; box-shadow:0 3px 14px rgba(37,211,102,.3); }
.eos-btn-wa:hover{ background:#1eb457; color:#fff !important; }
.eos-btn-ghost{ background:rgba(255,255,255,.1); color:#fff !important; border-color:rgba(255,255,255,.42); backdrop-filter:blur(6px); }
.eos-btn-ghost:hover{ background:#fff; color:var(--eos-ink) !important; border-color:#fff; }
.eos-btn-white{ background:#fff; color:var(--eos-ink) !important; box-shadow:0 4px 18px rgba(0,0,0,.14); }
.eos-btn-white:hover{ background:var(--eos-cream); color:var(--eos-ink) !important; }

/* ── "included with every service" bar, overlapping the hero ────── */
.eos-incwrap{ position:relative; z-index:5; margin-top:clamp(-56px,-5vw,-40px); }
.eos-inc{ background:#fff; border:1px solid var(--eos-line); border-radius:var(--eos-r-lg); box-shadow:var(--eos-sh-lg);
	display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; }
.eos-inc-item{ padding:clamp(22px,2.6vw,30px) clamp(18px,2vw,26px); border-right:1px solid var(--eos-line-lt); display:flex; gap:14px; align-items:flex-start; }
.eos-inc-item:last-child{ border-right:0; }
.eos-inc-ic{ width:38px; height:38px; border-radius:11px; background:var(--eos-accent-sf); display:flex; align-items:center; justify-content:center; flex:none; }
.eos-inc-ic svg{ width:19px; height:19px; fill:var(--eos-accent-dk); display:block; }
.eos-inc-item b{ display:block; font-size:14.5px; font-weight:700; color:var(--eos-ink); line-height:1.35; margin-bottom:3px; }
.eos-inc-txt{ display:block; font-size:13px; line-height:1.6; color:var(--eos-ink-50); }
@media (max-width:900px){
	.eos-inc{ grid-template-columns:repeat(2,1fr); }
	.eos-inc-item:nth-child(2){ border-right:0; }
	.eos-inc-item:nth-child(1),.eos-inc-item:nth-child(2){ border-bottom:1px solid var(--eos-line-lt); }
}
@media (max-width:520px){
	.eos-inc{ grid-template-columns:1fr; }
	.eos-inc-item{ border-right:0; border-bottom:1px solid var(--eos-line-lt); }
	.eos-inc-item:last-child{ border-bottom:0; }
}

/* ── intro ──────────────────────────────────────────────────────── */
.eos-intro{ font-size:clamp(17px,1.7vw,19.5px); line-height:1.8; color:var(--eos-ink-70); margin:0; text-align:center; }
.eos-intro strong{ color:var(--eos-ink); font-weight:600; }

/* ── service cards ──────────────────────────────────────────────── */
.eos-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:26px; }
.eos-card{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--eos-line);
	border-radius:var(--eos-r); overflow:hidden; box-shadow:var(--eos-sh);
	transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.eos-card:hover{ transform:translateY(-5px); box-shadow:var(--eos-sh-lg); border-color:#ded6c6; }
.eos-card-media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--eos-sand); }
.eos-card-media img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.eos-card:hover .eos-card-media img{ transform:scale(1.06); }
.eos-card-n{ position:absolute; top:14px; left:14px; z-index:2; min-width:38px; height:38px; padding:0 11px;
	border-radius:100px; background:rgba(15,14,12,.72); backdrop-filter:blur(6px);
	display:flex; align-items:center; justify-content:center; color:#fff; font-size:13.5px; font-weight:700; letter-spacing:.02em; }
.eos-card-body{ padding:26px 26px 24px; display:flex; flex-direction:column; flex:1; }
.eos-card h3{ font-size:20px; font-weight:650; line-height:1.28; letter-spacing:-.015em; margin:0 0 11px; color:var(--eos-ink); }
.eos-card p{ font-size:14.8px; line-height:1.72; color:var(--eos-ink-70); margin:0 0 18px; }
.eos-card-link{ margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:7px;
	font-size:14px; font-weight:700; color:var(--eos-accent-dk) !important; text-decoration:none;
	padding-bottom:2px; border-bottom:2px solid transparent; transition:border-color .18s, gap .18s; }
.eos-card-link:hover{ border-bottom-color:var(--eos-accent); gap:11px; }
.eos-card-link svg{ width:14px; height:14px; fill:currentColor; flex:none; }

/* ── gallery strip ──────────────────────────────────────────────── */
.eos-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.eos-gallery figure{ margin:0; border-radius:var(--eos-r); overflow:hidden; background:var(--eos-sand); }
.eos-gallery figure:first-child{ grid-column:span 2; grid-row:span 2; }
.eos-gallery img{ display:block; width:100%; height:100%; min-height:170px; object-fit:cover;
	transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.eos-gallery figure:first-child img{ min-height:354px; }
.eos-gallery figure:hover img{ transform:scale(1.06); }
@media (max-width:760px){
	.eos-gallery{ grid-template-columns:repeat(2,1fr); }
	.eos-gallery figure:first-child{ grid-column:span 2; grid-row:auto; }
	.eos-gallery figure:first-child img{ min-height:220px; }
}

/* ── credentials panel ──────────────────────────────────────────── */
.eos-lic{ background:var(--eos-dark); color:rgba(255,255,255,.72); border-radius:var(--eos-r-lg);
	padding:clamp(34px,4.5vw,52px); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(26px,3.5vw,44px);
	background-image:radial-gradient(120% 90% at 100% 0%, rgba(212,134,82,.18) 0%, transparent 58%); }
.eos-lic-col h3{ position:relative; color:#fff; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin:0 0 18px; padding-bottom:12px; }
.eos-lic-col h3::after{ content:''; position:absolute; left:0; bottom:0; width:26px; height:2px; background:var(--eos-accent); border-radius:2px; }
.eos-lic-col p{ margin:0; font-size:15px; line-height:1.75; }
.eos-lic-col p b{ color:#fff; font-weight:600; }
.eos-lic-ic{ width:42px; height:42px; border-radius:11px; background:rgba(212,134,82,.16); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.eos-lic-ic svg{ width:20px; height:20px; fill:var(--eos-accent); }
@media (max-width:820px){ .eos-lic{ grid-template-columns:1fr; } }

/* ── final CTA ──────────────────────────────────────────────────── */
.eos-cta{ position:relative; overflow:hidden; text-align:center; color:#fff;
	padding:var(--epl-section-y) 0;
	background:linear-gradient(135deg,#db834e 0%,#c9743f 46%,#8b5a3c 100%); }
.eos-cta::after{ content:''; position:absolute; inset:0;
	background:radial-gradient(80% 60% at 50% 0%, rgba(255,255,255,.16) 0%, transparent 70%); }
.eos-cta .eos-in-narrow{ position:relative; z-index:2; }
.eos-cta .eos-kicker{ color:rgba(255,255,255,.9); justify-content:center; }
.eos-cta .eos-kicker::before{ background:rgba(255,255,255,.65); }
.eos-cta h2{ color:#fff; margin:0 0 14px; }
.eos-cta p{ font-size:17.5px; line-height:1.65; color:rgba(255,255,255,.94); max-width:56ch; margin:0 auto 30px; }
.eos-cta-btns{ display:flex; flex-wrap:wrap; gap:13px; justify-content:center; }
.eos-cta-note{ margin:22px 0 0; font-size:13.5px; color:rgba(255,255,255,.78); }

/* Reveal-on-scroll — identical mechanism to the About page, including the
   watchdog that removes .eos-js if the observer never reports, so the page
   can never be left invisible. */
@media (prefers-reduced-motion:no-preference){
	.eos-js .eos-rise{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.3,1); }
	.eos-js .eos-rise.is-in{ opacity:1; transform:none; }
}
