/*
Theme Name: Fraba Labs
Theme URI: https://frabalabs.com
Author: Fraba Labs
Description: Modern portfolio theme for B2B Digital Marketing, SEO, GEO, growth, and case-study storytelling.
Version: 1.6.5
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: frabalabs
*/

:root{
  --bg:#f4f7fb;--surface:rgba(255,255,255,.78);--surface-solid:#fff;--ink:#0f172a;--muted:#5d6b82;
  --line:rgba(15,23,42,.1);--accent1:#17d0c0;--accent2:#7a6df8;--accent3:#5ba2ff;
  --gradient:linear-gradient(135deg,var(--accent1) 0%,var(--accent3) 48%,var(--accent2) 100%);
  --gradient-soft:linear-gradient(135deg,rgba(23,208,192,.12),rgba(122,109,248,.12));
  --shadow:0 20px 60px rgba(18,31,53,.08);--shadow-soft:0 12px 34px rgba(18,31,53,.06);
  --radius-xl:34px;--radius-lg:24px;--radius-md:18px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(23,208,192,.12),transparent 32%),radial-gradient(circle at top right,rgba(122,109,248,.1),transparent 26%),linear-gradient(180deg,#fbfdff 0%,var(--bg) 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:80;padding:16px 0;background:linear-gradient(180deg,rgba(244,247,251,.82) 0%,rgba(244,247,251,.28) 100%);backdrop-filter:blur(12px)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 16px 10px 22px;border-radius:999px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.75);box-shadow:0 10px 28px rgba(17,24,39,.08)}.brand{display:inline-flex;align-items:center;gap:12px;font-family:Sora,Inter,sans-serif;font-weight:800;letter-spacing:-.04em;font-size:1.08rem}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--gradient);color:#fff;box-shadow:0 10px 22px rgba(122,109,248,.24);font-size:.9rem;line-height:1}.brand-logo img{max-height:42px;width:auto}.brand-name{display:flex;flex-direction:column;line-height:1.02}.brand-name small{font-family:Inter,sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px}.site-nav ul{margin:0;padding:0;list-style:none;display:flex;align-items:center;gap:26px}.site-nav a{font-size:.95rem;font-weight:700;color:#344054}.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--ink)}.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;color:#fff;background:var(--gradient);box-shadow:0 14px 32px rgba(70,106,226,.24);font-weight:800;font-size:.92rem}.menu-toggle{display:none;border:0;background:rgba(15,23,42,.05);width:46px;height:46px;border-radius:50%;cursor:pointer}.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";display:block;width:20px;height:2px;background:var(--ink);margin:5px auto;transition:.22s ease}
.hero{position:relative;padding:46px 0 54px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:30px;align-items:center}.hero-panel,.glass-panel{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.76);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.hero-copy-panel{padding:clamp(30px,4vw,44px);border-radius:var(--radius-xl)}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#1c8f93;font-size:.79rem;letter-spacing:.2em;text-transform:uppercase;font-weight:900}.eyebrow::before{content:"";width:28px;height:2px;border-radius:999px;background:var(--gradient)}.hero h1{margin:18px 0 18px;font-family:Sora,Inter,sans-serif;font-size:clamp(3rem,6.9vw,6rem);line-height:.94;letter-spacing:-.07em;font-weight:800}.gradient-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{margin:0;max-width:680px;color:#455468;font-size:clamp(1.04rem,1.7vw,1.22rem)}.hero-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 21px;border-radius:999px;border:1px solid var(--line);font-weight:800;transition:.22s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:var(--gradient);border-color:transparent;box-shadow:0 16px 32px rgba(91,119,255,.2)}.btn-secondary{background:rgba(255,255,255,.68);color:var(--ink)}.service-pills{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}.service-pills span,.chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.7);color:#4b5565;font-size:.84rem;font-weight:700}.chip{min-height:34px;padding:0 12px;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.hero-note{margin-top:18px;font-size:.92rem;color:var(--muted)}.hero-card{position:relative;padding:22px;border-radius:calc(var(--radius-xl) + 2px)}.profile-media{position:relative;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,rgba(23,208,192,.15),rgba(122,109,248,.18));min-height:260px;display:grid;place-items:center}.profile-media img{width:100%;height:100%;object-fit:cover}.profile-placeholder{display:grid;place-items:center;width:148px;height:148px;border-radius:34px;background:var(--gradient);color:#fff;font-family:Sora,Inter,sans-serif;font-size:2.5rem;font-weight:800;box-shadow:0 18px 44px rgba(94,90,240,.26)}.profile-copy{margin-top:22px}.profile-copy h2{margin:0;font-family:Sora,Inter,sans-serif;font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.05em}.profile-role{margin:8px 0 0;color:#167f84;font-size:1.02rem;font-weight:700}.stat-grid{margin-top:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:18px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.08)}.stat-card strong{display:block;font-family:Sora,Inter,sans-serif;font-size:clamp(1.55rem,2.8vw,2.25rem);line-height:1;letter-spacing:-.06em;color:#f0a512}.stat-card span{display:block;margin-top:8px;color:#253046;font-size:.92rem;font-weight:700;line-height:1.3}.profile-badge{margin-top:16px;display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:22px;background:var(--gradient-soft);border:1px solid rgba(15,23,42,.08)}.badge-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f4ac23;color:#fff}.badge-copy strong{display:block}.badge-copy span{display:block;color:var(--muted);font-size:.92rem}
.proof-strip{padding:8px 0 78px}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.proof-item{padding:24px 22px;border-radius:24px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.82);box-shadow:var(--shadow-soft)}.proof-item strong{display:block;font-family:Sora,Inter,sans-serif;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1;letter-spacing:-.06em}.proof-item span{display:block;margin-top:10px;color:var(--muted);font-size:.92rem}
.section{padding:94px 0}.section-box{padding:clamp(28px,4vw,42px);border-radius:38px}.section-head{display:grid;grid-template-columns:.45fr 1.55fr;gap:36px;margin-bottom:42px;align-items:start}.section-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:#1b8d90}.section-title{margin:0;max-width:900px;font-family:Sora,Inter,sans-serif;font-size:clamp(2.25rem,5vw,4.4rem);line-height:.98;letter-spacing:-.06em}.section-intro{margin:16px 0 0;max-width:760px;color:var(--muted);font-size:1.05rem}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.expertise-card{min-height:250px;padding:24px;border-radius:28px;background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-soft);transition:.24s ease}.expertise-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-index{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--gradient-soft);color:#236fba;font-size:.82rem;font-weight:900;letter-spacing:.12em}.expertise-card h3{margin:32px 0 10px;font-family:Sora,Inter,sans-serif;font-size:1.3rem;line-height:1.08;letter-spacing:-.03em}.expertise-card p{margin:0;color:var(--muted);font-size:.94rem}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.case-card{position:relative;min-height:350px;padding:28px;border-radius:30px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.case-card::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:6px;background:var(--gradient)}.case-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}.case-card h3{position:relative;z-index:1;margin:22px 0 14px;max-width:580px;font-family:Sora,Inter,sans-serif;font-size:clamp(1.55rem,2.8vw,2.3rem);line-height:1.02;letter-spacing:-.055em}.case-card p{position:relative;z-index:1;margin:0;color:var(--muted);max-width:600px}.case-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-weight:800;color:#2643d3}.empty-state{padding:28px;border-radius:24px;background:rgba(255,255,255,.76);border:1px dashed rgba(15,23,42,.16);color:var(--muted)}
.timeline{display:grid;gap:14px}.timeline-row{padding:24px;border-radius:26px;background:rgba(255,255,255,.84);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-soft);display:grid;grid-template-columns:160px 1fr 1fr;gap:26px;align-items:start}.timeline-year{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;background:var(--gradient-soft);color:#3663d8;font-size:.82rem;font-weight:900;letter-spacing:.08em}.timeline-role h3{margin:0 0 5px;font-family:Sora,Inter,sans-serif;font-size:1.28rem;letter-spacing:-.03em}.timeline-role p,.timeline-impact{margin:0;color:var(--muted);font-size:.96rem}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.post-card{border-radius:28px;background:rgba(255,255,255,.9);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-soft);overflow:hidden}.post-card-inner{padding:24px}.post-card .post-date{display:inline-flex;min-height:34px;align-items:center;padding:0 12px;border-radius:999px;background:var(--gradient-soft);color:#3663d8;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.post-card h3{margin:16px 0 12px;font-family:Sora,Inter,sans-serif;line-height:1.1;letter-spacing:-.04em;font-size:1.32rem}.post-card p{margin:0;color:var(--muted);font-size:.95rem}
.cta{padding:24px 0 98px}.cta-box{padding:clamp(30px,5vw,56px);display:grid;grid-template-columns:1.45fr .55fr;gap:30px;align-items:end;border-radius:36px;background:linear-gradient(135deg,#07152f 0%,#092d4d 52%,#0a5264 100%);color:#fff;box-shadow:0 24px 54px rgba(7,21,47,.24)}.cta-box h2{margin:0;max-width:780px;font-family:Sora,Inter,sans-serif;font-size:clamp(2.4rem,5.6vw,4.8rem);line-height:.95;letter-spacing:-.065em}.cta-box p{margin:16px 0 0;max-width:620px;color:rgba(255,255,255,.78)}.cta-actions{display:flex;justify-content:flex-end}.cta-box .btn{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff}
.page-hero,.project-hero{padding:38px 0 48px}.page-hero .container,.project-hero .container{padding:clamp(28px,4vw,42px);border-radius:36px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.page-hero h1,.project-hero h1{margin:14px 0 18px;font-family:Sora,Inter,sans-serif;font-size:clamp(2.6rem,6.3vw,5.4rem);line-height:.95;letter-spacing:-.065em}.page-hero p,.project-summary{max-width:760px;color:var(--muted);font-size:1.08rem}.content-shell{width:min(calc(100% - 40px),860px);margin:0 auto;padding:0 0 90px}.entry-content{padding:clamp(26px,4vw,38px);border-radius:30px;background:rgba(255,255,255,.86);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-soft);font-size:1.03rem}.entry-content h2,.entry-content h3{font-family:Sora,Inter,sans-serif;letter-spacing:-.035em;line-height:1.12;margin-top:2.1em}.entry-content h2{font-size:1.95rem}.entry-content h3{font-size:1.4rem}.entry-content ul,.entry-content ol{padding-left:1.35rem}.entry-content li+li{margin-top:.55rem}.entry-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.entry-content blockquote{margin:2em 0;padding:18px 22px;border-radius:22px;background:var(--gradient-soft);border:1px solid rgba(15,23,42,.08)}.content-callout{margin:26px 0;padding:22px;border-radius:22px;background:var(--gradient-soft);border:1px solid rgba(15,23,42,.08)}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.metric-card{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}.metric-card strong{display:block;font-family:Sora,Inter,sans-serif;font-size:1.7rem;line-height:1;color:#2267d8}.metric-card span{display:block;margin-top:7px;color:var(--muted);font-size:.9rem}.project-facts{margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.project-facts div{padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.08)}.project-facts small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.project-facts strong{display:block;margin-top:5px;font-size:.96rem}
.contact-form{display:grid;gap:16px;margin-top:26px}.field{display:grid;gap:7px}.field label{font-size:.84rem;font-weight:800;color:#304153}.field input,.field textarea{width:100%;border:1px solid rgba(15,23,42,.1);border-radius:16px;background:rgba(255,255,255,.78);color:var(--ink);padding:14px 15px;outline:none}.field input:focus,.field textarea:focus{border-color:rgba(54,99,216,.45);box-shadow:0 0 0 4px rgba(91,162,255,.12)}.form-message{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08)}.form-message.success{border-color:#2f7444}.form-message.error{border-color:#b64040}.honeypot{position:absolute;left:-9999px}
.site-footer{padding:0 0 24px}.footer-shell{border-radius:36px 36px 28px 28px;background:linear-gradient(135deg,#09152f 0%,#0a2342 50%,#0d4357 100%);color:#fff;padding:56px 34px 24px;box-shadow:0 22px 60px rgba(7,21,47,.2)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-title{margin:16px 0 0;max-width:560px;font-family:Sora,Inter,sans-serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.06em}.footer-text{margin:16px 0 0;max-width:540px;color:rgba(255,255,255,.72)}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px;justify-self:end;min-width:320px}.footer-links a{color:rgba(255,255,255,.78)}.footer-links a:hover{color:#fff}.footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.62);font-size:.84rem}
@media(max-width:1024px){.hero-grid,.section-head,.cta-box{grid-template-columns:1fr}.proof-grid,.expertise-grid,.insights-grid{grid-template-columns:repeat(2,1fr)}.cta-actions{justify-content:flex-start}.timeline-row{grid-template-columns:150px 1fr}.timeline-impact{grid-column:2}.footer-grid{grid-template-columns:1fr}.footer-links{justify-self:start}}
@media(max-width:820px){.site-nav{position:fixed;inset:94px 14px auto;padding:22px;border-radius:28px;background:rgba(255,255,255,.96);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow);transform:translateY(-14px);opacity:0;visibility:hidden;transition:.22s ease}.site-nav.active{transform:translateY(0);opacity:1;visibility:visible}.site-nav ul{flex-direction:column;align-items:flex-start;gap:20px}.site-nav a{font-size:1.08rem}.nav-cta{display:none}.menu-toggle{display:block}.menu-toggle.active span{opacity:0}.menu-toggle.active::before{transform:translateY(7px) rotate(45deg)}.menu-toggle.active::after{transform:translateY(-7px) rotate(-45deg)}}
@media(max-width:720px){.container,.content-shell{width:min(calc(100% - 28px),var(--max))}.site-header{padding:12px 0}.header-inner{min-height:72px;padding:10px 12px 10px 18px;gap:14px}.brand-name small{font-size:.62rem}.hero{padding:20px 0 40px}.hero-card,.hero-copy-panel,.section-box,.page-hero .container,.project-hero .container,.entry-content,.cta-box,.footer-shell{border-radius:26px}.hero h1{font-size:clamp(2.7rem,14vw,4.4rem)}.service-pills{gap:10px}.service-pills span{font-size:.8rem;min-height:38px}.stat-grid,.proof-grid,.expertise-grid,.case-grid,.insights-grid,.project-facts,.metric-grid{grid-template-columns:1fr}.section{padding:70px 0}.section-head{gap:16px;margin-bottom:30px}.timeline-row{grid-template-columns:1fr;gap:12px}.timeline-impact{grid-column:1}.footer-links{min-width:0;width:100%}.footer-bottom{flex-direction:column}.profile-media{min-height:200px}.footer-shell{padding:38px 24px 22px}}

.form-note{margin:2px 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.form-message strong{font-weight:800}

/* =========================================================
   DIGITAL PRODUCTS / WOOCOMMERCE — v1.5
   ========================================================= */
.store-hero { padding: 34px 0 26px; }
.store-hero-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr);
  gap: 36px;
  align-items: center;
  padding: clamp(30px,5vw,56px);
  border-radius: 38px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.86);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}
.store-hero-card::before {
  content:"";
  position:absolute;
  width:360px;height:360px;
  right:-120px;top:-140px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(23,208,192,.22),rgba(122,109,248,.14),transparent 70%);
  pointer-events:none;
}
.store-hero h1 {
  margin:18px 0 18px;
  max-width:800px;
  font-family:Sora,Inter,sans-serif;
  font-size:clamp(3rem,6.6vw,5.9rem);
  line-height:.94;
  letter-spacing:-.07em;
}
.store-hero p { margin:0; max-width:700px; color:var(--muted); font-size:1.08rem; }
.store-hero-visual {
  min-height:410px;
  position:relative;
  display:grid;
  place-items:center;
}
.digital-stack {
  position:absolute;
  width:min(82%,330px);
  min-height:190px;
  padding:26px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 22px 50px rgba(46,64,104,.16);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.digital-stack span { font-size:.74rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.digital-stack strong { margin-top:38px; font-family:Sora,Inter,sans-serif; font-size:1.9rem; letter-spacing:-.05em; }
.digital-stack small { margin-top:5px; font-size:.9rem; }
.digital-stack-1 { transform:rotate(-9deg) translate(-36px,-56px); background:linear-gradient(145deg,#091a35,#0d4560); color:#fff; }
.digital-stack-2 { transform:rotate(7deg) translate(48px,22px); background:linear-gradient(145deg,#dffcf8,#e8e7ff); color:var(--ink); }
.digital-stack-3 { transform:rotate(-2deg) translate(-20px,86px); background:linear-gradient(145deg,#ffffff,#f0f3ff); color:var(--ink); }

.store-benefits { padding:14px 0 24px; }
.store-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.store-benefit-grid article {
  display:flex; gap:16px; align-items:flex-start;
  padding:22px;
  border-radius:24px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(15,23,42,.07);
  box-shadow:var(--shadow-soft);
}
.store-benefit-grid article > span {
  flex:0 0 46px; width:46px; height:46px; display:grid; place-items:center;
  border-radius:15px; background:var(--gradient-soft); font-size:1.2rem;
}
.store-benefit-grid strong { display:block; font-family:Sora,Inter,sans-serif; font-size:1.04rem; }
.store-benefit-grid p { margin:5px 0 0; color:var(--muted); font-size:.92rem; }

.fraba-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.fraba-product-card {
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  border-radius:30px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadow-soft);
  transition:transform .22s ease, box-shadow .22s ease;
}
.fraba-product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.fraba-product-image {
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  display:block;
  background:linear-gradient(135deg,#eafcf9,#efefff);
}
.fraba-product-image img { width:100%;height:100%;object-fit:cover;transition:transform .35s ease; }
.fraba-product-card:hover .fraba-product-image img { transform:scale(1.025); }
.fraba-sale-badge {
  position:absolute; top:16px; left:16px;
  padding:7px 10px; border-radius:999px;
  background:#0f172a;color:#fff;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
}
.fraba-product-body { padding:24px; display:flex; flex-direction:column; flex:1; }
.fraba-product-type { color:#19878d; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.fraba-product-card h3 { margin:10px 0 10px; font-family:Sora,Inter,sans-serif; font-size:1.35rem; line-height:1.12; letter-spacing:-.04em; }
.fraba-product-card p { margin:0; color:var(--muted); font-size:.93rem; }
.fraba-product-footer { margin-top:auto; padding-top:22px; display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.fraba-price { font-family:Sora,Inter,sans-serif; font-weight:800; font-size:1.14rem; }
.fraba-price del { color:#98a2b3; font-size:.82rem; }
.fraba-price ins { text-decoration:none; }
.product-link { color:#365edb; font-weight:800; font-size:.88rem; white-space:nowrap; }
.store-empty-state {
  display:flex; gap:20px; align-items:center;
  padding:30px;
  border-radius:28px;
  background:rgba(255,255,255,.82);
  border:1px dashed rgba(15,23,42,.18);
}
.store-empty-icon { flex:0 0 58px; width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:#fff; background:var(--gradient); font-family:Sora,Inter,sans-serif; font-weight:800; }
.store-empty-state h3 { margin:0; font-family:Sora,Inter,sans-serif; letter-spacing:-.03em; }
.store-empty-state p { margin:6px 0 0; color:var(--muted); }

.store-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.store-steps article {
  padding:24px;
  border-radius:26px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadow-soft);
}
.store-steps article > span {
  display:inline-grid; place-items:center; width:44px;height:44px;border-radius:14px;
  background:var(--gradient-soft); color:#365edb; font-weight:900; font-size:.8rem;
}
.store-steps h3 { margin:30px 0 8px; font-family:Sora,Inter,sans-serif; font-size:1.25rem; }
.store-steps p { margin:0; color:var(--muted); font-size:.93rem; }
.store-ideas { padding-top:24px; }
.store-ideas-card {
  padding:clamp(28px,5vw,52px);
  border-radius:36px;
  background:linear-gradient(135deg,#081a36,#0b3151 55%,#0d5a66);
  color:#fff;
  box-shadow:0 24px 54px rgba(7,21,47,.2);
}
.store-ideas-card h2 { margin:12px 0 12px; max-width:850px; font-family:Sora,Inter,sans-serif; font-size:clamp(2.1rem,4.4vw,4rem); line-height:1; letter-spacing:-.06em; }
.store-ideas-card p { margin:0; max-width:720px; color:rgba(255,255,255,.76); }
.store-category-pills { margin-top:24px; display:flex; flex-wrap:wrap; gap:10px; }
.store-category-pills span { padding:9px 13px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.08); color:#fff; font-size:.84rem; font-weight:700; }
.faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.faq-grid details {
  padding:20px 22px;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadow-soft);
}
.faq-grid summary { cursor:pointer; font-family:Sora,Inter,sans-serif; font-weight:700; letter-spacing:-.025em; }
.faq-grid p { margin:12px 0 0; color:var(--muted); }

/* WooCommerce core screens */
.wc-fraba-shell { padding:38px 0 96px; }
.wc-fraba-shell .woocommerce {
  padding:clamp(22px,4vw,38px);
  border-radius:34px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:var(--shadow);
}
.woocommerce .woocommerce-breadcrumb { margin:0 0 26px; color:var(--muted); font-size:.88rem; }
.woocommerce .woocommerce-breadcrumb a { color:#315bd8; }
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:42px; }
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product div.summary { width:auto; float:none; margin:0; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius:26px; overflow:hidden; }
.woocommerce div.product .product_title,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3 { font-family:Sora,Inter,sans-serif; letter-spacing:-.04em; }
.woocommerce div.product .product_title { font-size:clamp(2rem,4vw,3.6rem); line-height:1; margin-bottom:14px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color:var(--ink); font-family:Sora,Inter,sans-serif; font-weight:800; font-size:1.35rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--muted); }
.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  min-height:48px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  padding:11px 13px;
}
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
  min-height:48px;
  border-radius:999px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:var(--gradient);
  color:#fff;
  font-weight:800;
}
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover { background:var(--gradient); color:#fff; filter:saturate(1.08) brightness(.98); }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border:1px solid rgba(15,23,42,.08);
  border-top:0;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.woocommerce-message::before,
.woocommerce-info::before { color:#18898e; }
.woocommerce table.shop_table { border:1px solid rgba(15,23,42,.08); border-radius:20px; overflow:hidden; background:#fff; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding:16px; }
.woocommerce-checkout #payment { background:#f6f8fc; border-radius:22px; }
.woocommerce-checkout #payment div.payment_box { background:#fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#fff; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0;padding:0;list-style:none;display:grid;gap:8px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block;padding:12px 14px;border-radius:12px;background:#f5f7fb;font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-content { padding-left:24px; }

@media (max-width:1024px) {
  .store-hero-card { grid-template-columns:1fr; }
  .store-hero-visual { min-height:360px; }
  .fraba-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .store-steps { grid-template-columns:repeat(2,1fr); }
  .woocommerce div.product { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .store-hero { padding-top:20px; }
  .store-hero-card { border-radius:26px; padding:28px 22px; }
  .store-hero h1 { font-size:clamp(2.75rem,14vw,4.5rem); }
  .store-hero-visual { min-height:330px; }
  .digital-stack { width:78%; min-height:165px; padding:21px; }
  .digital-stack strong { margin-top:26px; font-size:1.55rem; }
  .store-benefit-grid,
  .fraba-product-grid,
  .store-steps,
  .faq-grid { grid-template-columns:1fr; }
  .store-empty-state { align-items:flex-start; }
  .fraba-product-footer { align-items:flex-start; flex-direction:column; }
  .woocommerce div.product { gap:26px; }
  .woocommerce-account .woocommerce-MyAccount-content { padding-left:0; margin-top:24px; }
}

/* =========================================================
   HEADER & NAVIGATION POLISH — v1.5.1
   Keeps desktop navigation on one line and switches to the
   mobile menu before the header becomes cramped.
   ========================================================= */
@media (min-width:1101px) {
  .header-inner {
    min-height:82px;
    display:grid;
    grid-template-columns:minmax(190px,260px) minmax(0,1fr) auto;
    align-items:center;
    justify-content:initial;
    column-gap:20px;
    padding:10px 14px 10px 20px;
  }

  .brand {
    min-width:0;
    width:max-content;
    max-width:100%;
  }

  .brand-has-logo .brand-logo {
    display:flex;
    align-items:center;
    min-width:0;
  }

  .brand-has-logo .brand-logo img,
  .brand-has-logo img.custom-logo {
    display:block;
    width:auto;
    height:auto;
    max-width:245px;
    max-height:58px;
    object-fit:contain;
  }

  .site-nav {
    justify-self:center;
    min-width:0;
    width:100%;
  }

  .site-nav ul {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
    gap:clamp(15px,1.35vw,24px);
    width:100%;
  }

  .site-nav li {
    flex:0 0 auto;
    white-space:nowrap;
  }

  .site-nav a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:clamp(.88rem,.72vw,.95rem);
    line-height:1;
    white-space:nowrap;
  }

  .nav-cta {
    justify-self:end;
    flex:0 0 auto;
    min-width:150px;
    min-height:52px;
    padding:0 20px;
    gap:9px;
    line-height:1;
    white-space:nowrap;
  }

  .nav-cta-label,
  .nav-cta-arrow {
    display:inline-block;
    white-space:nowrap;
  }

  .nav-cta-arrow {
    font-size:1.05em;
    transform:translateY(-1px);
  }
}

@media (min-width:1101px) and (max-width:1240px) {
  .header-inner {
    grid-template-columns:minmax(165px,220px) minmax(0,1fr) auto;
    column-gap:14px;
    padding-left:16px;
  }

  .brand-has-logo .brand-logo img,
  .brand-has-logo img.custom-logo {
    max-width:205px;
    max-height:52px;
  }

  .site-nav ul { gap:13px; }
  .site-nav a { font-size:.86rem; }
  .nav-cta { min-width:136px; padding:0 16px; font-size:.88rem; }
}

@media (max-width:1100px) {
  .header-inner {
    min-height:74px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:10px 12px 10px 18px;
  }

  .brand {
    min-width:0;
    max-width:calc(100vw - 115px);
  }

  .brand-has-logo .brand-logo {
    display:flex;
    align-items:center;
    min-width:0;
  }

  .brand-has-logo .brand-logo img,
  .brand-has-logo img.custom-logo {
    display:block;
    width:auto;
    height:auto;
    max-width:220px;
    max-height:52px;
    object-fit:contain;
  }

  .site-nav {
    position:fixed;
    inset:94px 14px auto;
    z-index:100;
    padding:22px;
    border-radius:28px;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(15,23,42,.08);
    box-shadow:var(--shadow);
    backdrop-filter:blur(18px);
    transform:translateY(-14px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.22s ease;
  }

  .site-nav.active {
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .site-nav ul {
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    width:100%;
  }

  .site-nav li { width:100%; }

  .site-nav a {
    display:flex;
    align-items:center;
    width:100%;
    min-height:48px;
    padding:0 12px;
    border-radius:14px;
    font-size:1rem;
    line-height:1.2;
    white-space:nowrap;
  }

  .site-nav a:hover,
  .site-nav .current-menu-item > a {
    background:var(--gradient-soft);
  }

  .nav-cta { display:none; }
  .menu-toggle { display:block; justify-self:end; }
}

@media (max-width:560px) {
  .brand-has-logo .brand-logo img,
  .brand-has-logo img.custom-logo {
    max-width:180px;
    max-height:46px;
  }

  .brand-with-text .brand-name small { display:none; }
  .site-nav { inset:88px 12px auto; }
}

/* =========================================================
   FOOTER POLISH — v1.5.2
   Separate light logo, grouped navigation, tighter rhythm.
   ========================================================= */
.site-footer {
  padding: 10px 0 26px;
}

.footer-shell {
  position: relative;
  overflow: hidden;
  padding: clamp(42px, 5vw, 68px) clamp(28px, 4.6vw, 58px) 26px;
  border-radius: 38px;
  background:
    radial-gradient(circle at 86% 12%, rgba(23,208,192,.12), transparent 30%),
    linear-gradient(135deg,#07152f 0%,#092341 54%,#0a4256 100%);
  box-shadow: 0 24px 64px rgba(7,21,47,.22);
}

.footer-grid.footer-grid-v152 {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(360px,.65fr);
  gap: clamp(52px,7vw,96px);
  align-items: start;
}

.footer-main {
  min-width: 0;
}

.footer-brand {
  display: inline-flex;
  align-items: center;
  max-width: min(330px, 100%);
  min-height: 62px;
  margin-bottom: 30px;
}

.footer-logo-image {
  display: block;
  width: auto;
  height: auto;
  max-width: min(310px, 100%);
  max-height: 74px;
  object-fit: contain;
}

.footer-brand-fallback {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: #fff;
}

.footer-brand-mark {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: var(--gradient);
  color: #fff;
  font-family: Sora,Inter,sans-serif;
  font-weight: 800;
  font-size: .9rem;
  box-shadow: 0 12px 26px rgba(91,119,255,.22);
}

.footer-brand-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}

.footer-brand-copy strong {
  font-family: Sora,Inter,sans-serif;
  font-size: 1.15rem;
  letter-spacing: -.035em;
}

.footer-brand-copy small {
  margin-top: 5px;
  color: rgba(255,255,255,.56);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.footer-title {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-family: Sora,Inter,sans-serif;
  font-size: clamp(2.35rem,4.3vw,4.65rem);
  font-weight: 800;
  line-height: .99;
  letter-spacing: -.065em;
  text-wrap: balance;
}

.footer-text {
  max-width: 680px;
  margin: 22px 0 0;
  color: rgba(255,255,255,.7);
  font-size: clamp(.98rem,1.25vw,1.12rem);
  line-height: 1.75;
}

.footer-nav-area {
  display: grid;
  grid-template-columns: minmax(160px,1fr) minmax(160px,1fr);
  gap: clamp(28px,4vw,54px);
  padding-top: 12px;
}

.footer-link-group {
  min-width: 0;
}

.footer-link-title {
  margin: 0 0 17px;
  color: rgba(255,255,255,.45);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.footer-link-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}

.footer-link-list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 45px;
  padding: 0 2px;
  color: rgba(255,255,255,.78);
  font-size: 1rem;
  font-weight: 550;
  line-height: 1.2;
  transition: color .2s ease, transform .2s ease;
}

.footer-link-list a:hover {
  color: #fff;
  transform: translateX(3px);
}

.footer-social-list a {
  min-width: 132px;
}

.footer-bottom.footer-bottom-v152 {
  margin-top: clamp(44px,6vw,72px);
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: rgba(255,255,255,.48);
  font-size: .82rem;
}

.footer-top-link {
  color: rgba(255,255,255,.68);
  font-weight: 700;
  white-space: nowrap;
}

.footer-top-link:hover {
  color: #fff;
}

@media (max-width: 1040px) {
  .footer-grid.footer-grid-v152 {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .footer-main {
    max-width: 820px;
  }

  .footer-nav-area {
    max-width: 560px;
  }
}

@media (max-width: 620px) {
  .footer-shell {
    padding: 34px 22px 22px;
    border-radius: 28px;
  }

  .footer-brand {
    margin-bottom: 25px;
  }

  .footer-logo-image {
    max-width: min(240px,100%);
    max-height: 62px;
  }

  .footer-title {
    font-size: clamp(2.15rem,11.2vw,3.35rem);
  }

  .footer-text {
    margin-top: 18px;
    font-size: .96rem;
  }

  .footer-nav-area {
    grid-template-columns: 1fr 1fr;
    gap: 26px;
  }

  .footer-link-list a {
    min-height: 42px;
    font-size: .94rem;
  }

  .footer-bottom.footer-bottom-v152 {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    margin-top: 42px;
  }
}

@media (max-width: 420px) {
  .footer-nav-area {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   SERVICES PAGE — v1.6.0
   ========================================================= */
.services-hero { padding:34px 0 30px; }
.services-hero-card {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:38px;
  align-items:stretch;
  padding:clamp(30px,5vw,58px);
  border-radius:40px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
  overflow:hidden;
  position:relative;
}
.services-hero-card::before {
  content:"";
  position:absolute;
  width:420px;height:420px;
  right:-180px;top:-180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(23,208,192,.18),rgba(122,109,248,.13),transparent 72%);
  pointer-events:none;
}
.services-hero-copy { position:relative;z-index:1; }
.services-hero h1 {
  margin:18px 0 20px;
  max-width:820px;
  font-family:Sora,Inter,sans-serif;
  font-size:clamp(3rem,6.6vw,6rem);
  font-weight:800;
  line-height:.94;
  letter-spacing:-.07em;
}
.services-hero-copy>p { margin:0;max-width:760px;color:var(--muted);font-size:1.1rem; }
.services-trust-row { display:flex;flex-wrap:wrap;gap:10px;margin-top:28px; }
.services-trust-row span {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  background:var(--gradient-soft);
  border:1px solid rgba(15,23,42,.08);
  color:#334155;
  font-size:.82rem;
  font-weight:750;
}
.services-hero-aside {
  position:relative;z-index:1;
  padding:30px;
  border-radius:30px;
  color:#fff;
  background:linear-gradient(145deg,#081a35 0%,#0a2a4a 58%,#0c5665 100%);
  box-shadow:0 24px 50px rgba(7,21,47,.18);
  display:flex;
  flex-direction:column;
}
.services-aside-label { margin:0;color:rgba(255,255,255,.52);font-size:.73rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase; }
.services-hero-aside h2 { margin:12px 0 18px;font-family:Sora,Inter,sans-serif;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.04;letter-spacing:-.05em; }
.services-hero-aside ul { margin:0;padding:0;list-style:none;display:grid;gap:11px; }
.services-hero-aside li { position:relative;padding-left:22px;color:rgba(255,255,255,.78);font-size:.94rem; }
.services-hero-aside li::before { content:"✓";position:absolute;left:0;top:0;color:#5eead4;font-weight:900; }
.services-price-note { margin-top:auto;padding-top:28px;display:grid;gap:5px; }
.services-price-note strong { font-family:Sora,Inter,sans-serif;font-size:1.16rem; }
.services-price-note span { color:rgba(255,255,255,.58);font-size:.84rem; }

.services-jumpbar { padding:4px 0 10px; }
.services-jumpbar-inner {
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(15,23,42,.07);
  box-shadow:var(--shadow-soft);
  scrollbar-width:none;
}
.services-jumpbar-inner::-webkit-scrollbar { display:none; }
.services-jumpbar a {
  flex:0 0 auto;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  color:#475569;
  font-size:.8rem;
  font-weight:760;
  white-space:nowrap;
}
.services-jumpbar a:hover { background:var(--gradient-soft);color:#1e40af; }

.services-primary-section { padding-top:82px; }
.service-feature-card {
  position:relative;
  padding:clamp(28px,4.2vw,48px);
  margin-top:20px;
  border-radius:34px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.service-feature-card+ .service-feature-card { margin-top:22px; }
.service-feature-card::before { content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--gradient);opacity:.76; }
.service-feature-highlight { background:linear-gradient(135deg,rgba(240,253,250,.98),rgba(239,246,255,.98),rgba(245,243,255,.98));border-color:rgba(91,162,255,.18); }
.service-recommended {
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:0 12px;
  margin-bottom:22px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.service-feature-top { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:38px;align-items:start; }
.service-number { display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--gradient-soft);color:#315dd3;font-size:.8rem;font-weight:900;letter-spacing:.1em; }
.service-label { margin:18px 0 5px;color:#1d8b90;font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase; }
.service-feature-card h2 { margin:0;max-width:760px;font-family:Sora,Inter,sans-serif;font-size:clamp(2rem,4vw,3.55rem);line-height:1;letter-spacing:-.055em; }
.service-feature-top>div>p:last-child { max-width:760px;margin:16px 0 0;color:var(--muted);font-size:1rem; }
.service-fit-box { padding:20px;border-radius:22px;background:rgba(248,250,252,.82);border:1px solid rgba(15,23,42,.08); }
.service-fit-box strong { display:block;margin-bottom:8px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#475569; }
.service-fit-box span { color:var(--muted);font-size:.92rem;line-height:1.55; }
.service-detail-grid { margin-top:34px;padding-top:30px;border-top:1px solid rgba(15,23,42,.08);display:grid;grid-template-columns:.82fr 1.18fr;gap:36px; }
.service-deliverables h3 { margin:0 0 16px;font-family:Sora,Inter,sans-serif;font-size:1.18rem; }
.service-deliverables ul { margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px; }
.service-deliverables li { position:relative;padding-left:18px;color:#516077;font-size:.9rem; }
.service-deliverables li::before { content:"•";position:absolute;left:0;color:#2b74dd;font-weight:900; }
.service-pricing-list { display:grid;gap:9px; }
.service-price-row { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 17px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08); }
.service-price-row.featured { background:var(--gradient-soft);border-color:rgba(91,162,255,.2); }
.service-price-row div { min-width:0; }
.service-price-row strong { display:block;font-size:.95rem;line-height:1.25; }
.service-price-row span { display:block;margin-top:4px;color:var(--muted);font-size:.8rem; }
.service-price-row b { flex:0 0 auto;font-family:Sora,Inter,sans-serif;font-size:.95rem;white-space:nowrap; }
.service-cta { min-height:48px;display:flex;align-items:center;justify-content:center;margin-top:4px;border-radius:16px;background:#0f172a;color:#fff;font-weight:800;font-size:.9rem; }
.service-cta:hover { background:#17233b; }

.services-supporting { padding-top:76px; }
.services-card-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.service-card { padding:28px;border-radius:30px;background:rgba(255,255,255,.9);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-soft);display:flex;flex-direction:column; }
.service-card-head { display:flex;align-items:center;justify-content:space-between;gap:14px; }
.service-card-head>span { color:#3970d8;font-size:.75rem;font-weight:900;letter-spacing:.12em; }
.service-card-icon { width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:var(--gradient-soft);color:#295fca;font-size:1.1rem;font-weight:900; }
.service-card h3 { margin:24px 0 11px;font-family:Sora,Inter,sans-serif;font-size:1.55rem;line-height:1.05;letter-spacing:-.04em; }
.service-card>p { margin:0;color:var(--muted);font-size:.94rem; }
.service-card ul { margin:20px 0 0;padding-left:1.2rem;color:#526077;font-size:.9rem; }
.service-card li+li { margin-top:6px; }
.service-card-prices { margin-top:22px;display:grid;gap:8px; }
.service-card-prices span,.workshop-prices span { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-radius:14px;background:#f8fafc;border:1px solid rgba(15,23,42,.06);font-size:.83rem;color:#526077; }
.service-card-prices strong,.workshop-prices strong { color:#0f172a;white-space:nowrap; }
.service-card-note { margin-top:12px!important;font-size:.79rem!important;color:#7a8699!important; }
.service-card>a { margin-top:auto;padding-top:24px;color:#2f5fd3;font-weight:800;font-size:.9rem; }

.services-retainer-section { padding-top:76px; }
.retainer-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch; }
.retainer-card { position:relative;padding:28px;border-radius:30px;background:rgba(255,255,255,.9);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-soft);display:flex;flex-direction:column; }
.retainer-card.featured { transform:translateY(-8px);border-color:rgba(91,162,255,.24);background:linear-gradient(145deg,#f0fdfa,#eff6ff 55%,#f5f3ff); }
.retainer-badge { position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#0f172a;color:#fff;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.retainer-card>p { margin:0;color:#1c8f93;font-size:.77rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase; }
.retainer-card h3 { margin:18px 0 20px;font-family:Sora,Inter,sans-serif;font-size:2.15rem;line-height:1;letter-spacing:-.055em; }
.retainer-card h3 span { font-family:Inter,sans-serif;font-size:.74rem;color:var(--muted);font-weight:600;letter-spacing:0; }
.retainer-card ul { margin:0;padding-left:1.18rem;color:#526077;font-size:.9rem; }
.retainer-card li+li { margin-top:7px; }
.retainer-card>a { margin-top:auto;padding-top:26px;color:#2f5fd3;font-weight:800;font-size:.9rem; }
.services-scope-note { margin:22px 0 0;color:var(--muted);font-size:.83rem;text-align:center; }

.services-consulting { padding-top:76px; }
.consulting-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.consulting-card { padding:28px;border-radius:30px;background:rgba(255,255,255,.9);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-soft);display:flex;flex-direction:column; }
.consulting-tag { align-self:flex-start;display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:999px;background:var(--gradient-soft);color:#315dd3;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em; }
.consulting-card h3 { margin:20px 0 10px;font-family:Sora,Inter,sans-serif;font-size:1.45rem;line-height:1.07;letter-spacing:-.04em; }
.consulting-card>p { margin:0;color:var(--muted);font-size:.92rem; }
.consulting-price { margin:22px 0 18px;font-family:Sora,Inter,sans-serif;font-size:1.9rem;font-weight:800;letter-spacing:-.05em; }
.consulting-price span { font-family:Inter,sans-serif;font-size:.78rem;color:var(--muted);font-weight:600;letter-spacing:0; }
.consulting-card ul { margin:0 0 24px;padding-left:1.18rem;color:#526077;font-size:.88rem; }
.consulting-card li+li { margin-top:6px; }
.consulting-card .btn { margin-top:auto; }
.workshop-prices { margin:20px 0 18px;display:grid;gap:8px; }

.services-process-section { padding-top:72px; }
.services-process-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px; }
.services-process-grid article { padding:24px;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-soft); }
.services-process-grid span { display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--gradient-soft);color:#315dd3;font-size:.73rem;font-weight:900; }
.services-process-grid h3 { margin:20px 0 8px;font-family:Sora,Inter,sans-serif;font-size:1.2rem;letter-spacing:-.03em; }
.services-process-grid p { margin:0;color:var(--muted);font-size:.88rem; }
.services-faq-section { padding-top:72px; }
.services-faq-grid details { background:rgba(255,255,255,.88); }
.services-final-cta { padding-top:36px; }

@media(max-width:1024px) {
  .services-hero-card,.service-feature-top,.service-detail-grid { grid-template-columns:1fr; }
  .services-hero-aside { min-height:360px; }
  .retainer-grid,.consulting-grid { grid-template-columns:1fr 1fr; }
  .services-process-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:760px) {
  .services-hero { padding-top:20px; }
  .services-hero-card { padding:28px 22px;border-radius:28px; }
  .services-hero h1 { font-size:clamp(2.75rem,14vw,4.5rem); }
  .services-hero-aside { min-height:0;padding:24px;border-radius:24px; }
  .services-jumpbar-inner { border-radius:20px; }
  .service-feature-card { padding:25px 21px;border-radius:28px; }
  .service-deliverables ul { grid-template-columns:1fr; }
  .service-price-row { align-items:flex-start;flex-direction:column;gap:8px; }
  .services-card-grid,.retainer-grid,.consulting-grid,.services-process-grid { grid-template-columns:1fr; }
  .retainer-card.featured { transform:none; }
  .service-card-prices span,.workshop-prices span { align-items:flex-start;flex-direction:column;gap:4px; }
}


/* =========================================================
   CONTACT LEAD FORM — v1.6.1
   ========================================================= */
.contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.field select{
  width:100%;
  min-height:52px;
  border:1px solid rgba(15,23,42,.1);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  color:var(--ink);
  padding:0 44px 0 15px;
  outline:none;
  appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,#64748b 50%),
    linear-gradient(135deg,#64748b 50%,transparent 50%);
  background-position:
    calc(100% - 20px) 22px,
    calc(100% - 14px) 22px;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
.field select:focus{
  border-color:rgba(54,99,216,.45);
  box-shadow:0 0 0 4px rgba(91,162,255,.12);
}
.field label span[aria-hidden="true"]{color:#ef4444}
.contact-form .btn-primary{justify-self:start;min-width:180px}
@media(max-width:720px){
  .contact-form-grid{grid-template-columns:1fr}
  .contact-form .btn-primary{width:100%;justify-self:stretch}
}

/* v1.6.2 — Companies & Brands logo showcase */
.brands-section {
  padding: 10px 0 54px;
}
.brands-shell {
  padding: clamp(24px, 4vw, 36px);
  border-radius: 34px;
}
.brands-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 28px;
}
.brands-title {
  margin: 10px 0 0;
  max-width: 680px;
  font-family: Sora, Inter, sans-serif;
  font-size: clamp(1.7rem, 3.1vw, 2.75rem);
  line-height: 1.04;
  letter-spacing: -.05em;
}
.brands-copy {
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  justify-self: end;
  max-width: 470px;
}
.brand-logo-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.brand-logo-item {
  min-height: 112px;
  padding: 20px 22px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(15,23,42,.075);
  box-shadow: 0 10px 28px rgba(18,31,53,.045);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.brand-logo-item img {
  width: auto;
  max-width: 100%;
  max-height: 58px;
  object-fit: contain;
  filter: grayscale(1) brightness(0);
  opacity: .66;
  transition: filter .22s ease, opacity .22s ease, transform .22s ease;
}
.brand-logo-item:hover {
  transform: translateY(-3px);
  border-color: rgba(91,162,255,.22);
  box-shadow: 0 16px 38px rgba(18,31,53,.08);
  background: rgba(255,255,255,.95);
}
.brand-logo-item:hover img {
  filter: grayscale(1) brightness(0);
  opacity: .92;
  transform: scale(1.025);
}
.brand-logo-item-dark {
  background: linear-gradient(135deg, #0b1730 0%, #0b2f47 100%);
  border-color: rgba(255,255,255,.08);
}
.brand-logo-item-dark img {
  filter: none;
  opacity: .88;
}
.brand-logo-item-dark:hover {
  background: linear-gradient(135deg, #0b1730 0%, #0e425a 100%);
}
.brand-logo-item-dark:hover img {
  filter: none;
  opacity: 1;
}

@media (max-width: 1100px) {
  .brand-logo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .brands-heading-row { grid-template-columns: 1fr; gap: 12px; }
  .brands-copy { justify-self: start; }
  .brand-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .brands-section { padding-bottom: 38px; }
  .brands-shell { padding: 22px 18px; border-radius: 26px; }
  .brand-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .brand-logo-item { min-height: 92px; padding: 16px; border-radius: 18px; }
  .brand-logo-item img { max-height: 48px; }
}


/* v1.6.4 Brand Logo reliability patch */
.brand-logo-fallback {
  display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;
  padding:8px;text-align:center;font-family:Sora,Inter,sans-serif;font-weight:800;
  font-size:.9rem;line-height:1.2;color:#475569;letter-spacing:-.02em;
}
.brand-logo-item-dark .brand-logo-fallback { color:rgba(255,255,255,.88); }


/* v1.6.4 — Brand logo visibility + admin reliability patch */
.brand-logo-item:not(.brand-logo-item-dark) img{filter:grayscale(1) brightness(0);opacity:.66}
.brand-logo-item:not(.brand-logo-item-dark):hover img{filter:grayscale(1) brightness(0);opacity:.92}
.brand-logo-item-dark img,.brand-logo-item-dark:hover img{filter:none;opacity:.92}


/* v1.6.5 — Preserve original brand logo artwork
   The v1.6.4 visibility patch forced light-tile logos through
   grayscale(1) brightness(0), which destroyed brand colours.
   v1.6.5 keeps uploaded artwork intact and uses layout/contrast only. */
.brand-logo-item {
  min-height: 136px;
  padding: 18px 20px;
  background: linear-gradient(145deg, rgba(236,242,248,.94) 0%, rgba(250,252,254,.98) 100%);
  overflow: hidden;
}
.brand-logo-item img,
.brand-logo-item:not(.brand-logo-item-dark) img {
  width: auto;
  height: auto;
  max-width: 88%;
  max-height: 86px;
  object-fit: contain;
  filter: drop-shadow(0 1px 1px rgba(15,23,42,.12));
  opacity: 1;
  transform: none;
  image-rendering: auto;
}
.brand-logo-item:hover img,
.brand-logo-item:not(.brand-logo-item-dark):hover img {
  filter: drop-shadow(0 2px 2px rgba(15,23,42,.15));
  opacity: 1;
  transform: scale(1.035);
}
.brand-logo-item-dark {
  background: linear-gradient(135deg, #0b1730 0%, #0b2f47 100%);
}
.brand-logo-item-dark img,
.brand-logo-item-dark:hover img {
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.2));
  opacity: 1;
}
@media (max-width: 1100px) {
  .brand-logo-item { min-height: 126px; }
  .brand-logo-item img,
  .brand-logo-item:not(.brand-logo-item-dark) img { max-height: 78px; max-width: 90%; }
}
@media (max-width: 560px) {
  .brand-logo-item { min-height: 104px; padding: 14px; }
  .brand-logo-item img,
  .brand-logo-item:not(.brand-logo-item-dark) img { max-height: 64px; max-width: 92%; }
}
