/* ============================================================
   Molisha Brand Builder — Public Website
   Palette pulled from the logo: emerald green, marigold-yellow
   accent (the dot on the "i"), deep ink-navy for text/rules.
   Display face: Poppins (bold, geometric — brand headlines)
   Body face: Inter (clean, highly legible at small sizes)
   Signature element: the "coverage strip" — a scrolling marquee
   of every city served, because this is a hyper-local, multi-city
   agency and that fact deserves to be the thing people remember.
   ============================================================ */
:root{
    --ink:#101B1F;
    --ink-soft:#41525A;
    --paper:#F7F8F4;
    --paper-alt:#ECF1E9;
    --green:#1AA55A;
    --green-dark:#0E7A41;
    --green-deep:#0A4B29;
    --gold:#F0C419;
    --gold-dark:#C99A0C;
    --line:#DDE3D8;
    --shadow-sm:0 2px 8px rgba(16,27,31,.06);
    --shadow:0 10px 30px rgba(16,27,31,.08);
    --shadow-lg:0 24px 60px rgba(16,27,31,.14);
    --ease:cubic-bezier(.22,1,.36,1);
    --radius:16px;
}
[data-theme="dark"]{
    --ink:#F1F5F2; --ink-soft:#B9C6C2; --paper:#0E1613; --paper-alt:#161F1B;
    --line:#26332D; --shadow:0 10px 30px rgba(0,0,0,.4);
}
[data-theme="dark"] .card,[data-theme="dark"] .testimonial,[data-theme="dark"] .process-step,
[data-theme="dark"] .faq-item,[data-theme="dark"] .city-chip,[data-theme="dark"] .form-control{
    background:#141D19;border-color:var(--line);
}
[data-theme="dark"] .site-nav{background:rgba(14,22,19,.9);}
[data-theme="dark"] .nav-links{background:#0E1613;}
[data-theme="dark"] .hero-visual{background:#000;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    margin:0;
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    transition:background .25s ease,color .25s ease;
    -webkit-tap-highlight-color:transparent;
    overscroll-behavior-y:contain;
}
a,button,.btn,.tab-item{-webkit-tap-highlight-color:transparent;}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;margin:0 0 .5em;color:var(--ink);letter-spacing:-.01em;}
h1{font-weight:800;} h2{font-weight:700;} h3,h4{font-weight:600;}
p{margin:0 0 1em;color:var(--ink-soft);}
a{color:var(--green-dark);text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.eyebrow{
    display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:var(--green-dark);background:rgba(26,165,90,.1);
    padding:6px 14px 6px 10px;border-radius:999px;margin-bottom:14px;
}
.eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold);flex-shrink:0;box-shadow:0 0 0 3px rgba(240,196,25,.25);}
.btn{
    display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;
    padding:13px 26px;border-radius:10px;border:none;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .2s;
    position:relative;
}
.btn::after{content:'→';display:inline-block;transition:transform .3s var(--ease);font-size:15px;}
.btn:hover::after{transform:translateX(4px);}
.btn-primary{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);color:#fff;box-shadow:0 8px 20px rgba(26,165,90,.32);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(26,165,90,.4);}
.btn-gold{background:linear-gradient(135deg,#F7D74A 0%,var(--gold) 55%,var(--gold-dark) 100%);color:var(--ink);box-shadow:0 8px 20px rgba(240,196,25,.35);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(240,196,25,.42);}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.btn-outline:hover{border-color:var(--green);color:var(--green-dark);transform:translateY(-2px);}

/* ---- Nav ---- */
.site-nav{position:sticky;top:0;z-index:50;background:rgba(247,248,244,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav-wrap{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.nav-brand img{height:42px;width:auto;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;width:36px;height:36px;
    flex-direction:column;justify-content:center;align-items:center;gap:5px;flex-shrink:0;}
.nav-toggle .bar{display:block;width:22px;height:2.5px;border-radius:2px;background:var(--ink);
    transition:transform .25s ease,opacity .2s ease;}
.nav-toggle.open .bar:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.nav-toggle.open .bar:nth-child(2){opacity:0;}
.nav-toggle.open .bar:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.nav-links{display:flex;align-items:center;gap:26px;}
.nav-links a{font-size:14.5px;font-weight:600;color:var(--ink-soft);padding:6px 2px;border-bottom:2px solid transparent;}
.nav-links a:hover,.nav-links a.active{color:var(--green-dark);border-color:var(--green);}
.nav-links a.nav-cta{background:var(--ink);color:#fff !important;padding:10px 20px;border-radius:8px;border:none;}
.nav-links a.nav-cta:hover{background:var(--green-deep);}
.theme-toggle{background:var(--paper-alt);border:1px solid var(--line);width:38px;height:38px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:6px;flex-shrink:0;}
.scroll-progress{position:sticky;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--green),var(--gold));z-index:51;transition:width .1s linear;}

/* ---- Hero ---- */
.hero{padding:84px 0 64px;position:relative;overflow:hidden;background:
    radial-gradient(700px 300px at 85% -10%, rgba(240,196,25,.18), transparent 60%),
    radial-gradient(900px 400px at -10% 10%, rgba(26,165,90,.12), transparent 60%);}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;}
.hero h1{font-size:48px;line-height:1.14;margin-bottom:20px;letter-spacing:-.02em;}
.hero h1 .accent{color:var(--green-dark);position:relative;white-space:nowrap;}
.hero h1 .accent::after{content:'';position:absolute;left:-2px;right:-2px;bottom:2px;height:.32em;
    background:linear-gradient(90deg,rgba(240,196,25,.55),rgba(26,165,90,.4));z-index:-1;border-radius:3px;}
.hero p.lead{font-size:17.5px;max-width:520px;margin-bottom:30px;color:var(--ink-soft);}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px;}
.hero-stats{display:flex;gap:30px;flex-wrap:wrap;}
.hero-stats div{font-family:'Poppins',sans-serif;font-size:27px;font-weight:800;color:var(--ink);position:relative;padding-left:14px;}
.hero-stats div::before{content:'';position:absolute;left:0;top:4px;bottom:6px;width:3px;border-radius:2px;background:linear-gradient(var(--gold),var(--green));}
.hero-stats span{display:block;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-top:2px;}
.hero-visual{background:var(--ink);border-radius:24px;padding:28px 24px 34px;text-align:center;
    box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,255,255,.04) inset;position:relative;}
.hero-visual::before{content:'';position:absolute;inset:-1px;border-radius:25px;padding:1px;
    background:linear-gradient(155deg,rgba(240,196,25,.5),transparent 40%,rgba(26,165,90,.4));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.hero-visual .hero-brand-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px;}
.hero-visual .hero-brand-row img{height:34px;width:auto;filter:brightness(1.1);}
.hero-illustration{width:100%;height:auto;border-radius:14px;}
.hero-visual p{color:#CFE9DA;font-size:14px;margin:14px 0 0;}

/* ---- Coverage marquee (signature element) ---- */
.coverage-strip{background:var(--ink);color:#fff;padding:14px 0;overflow:hidden;white-space:nowrap;position:relative;}
.coverage-strip::before,.coverage-strip::after{content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2;}
.coverage-strip::before{left:0;background:linear-gradient(90deg,var(--ink),transparent);}
.coverage-strip::after{right:0;background:linear-gradient(270deg,var(--ink),transparent);}
.coverage-track{display:inline-flex;gap:0;animation:scroll-left 32s linear infinite;}
.coverage-track span{padding:0 26px;font-size:13.5px;font-weight:600;letter-spacing:.03em;color:#CFE9DA;display:inline-flex;align-items:center;gap:10px;}
.coverage-track span::after{content:'•';color:var(--gold);}
@keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---- Featured Website Banners (homepage, hero ke neeche) ---- */
.featured-banners-section{overflow:hidden;}
.featured-banners-viewport{overflow:hidden;position:relative;}
.featured-banners-viewport.is-scrolling::before,.featured-banners-viewport.is-scrolling::after{
    content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;}
.featured-banners-viewport.is-scrolling::before{left:0;background:linear-gradient(90deg,var(--paper,#fff),transparent);}
.featured-banners-viewport.is-scrolling::after{right:0;background:linear-gradient(270deg,var(--paper,#fff),transparent);}
.featured-banners-track{display:inline-flex;gap:20px;padding:0 24px;}
.featured-banners-viewport.is-scrolling .featured-banners-track{animation:scroll-left 30s linear infinite;}
.featured-banners-viewport.is-scrolling:hover .featured-banners-track{animation-play-state:paused;}
.featured-banners-viewport:not(.is-scrolling) .featured-banners-track{display:flex;justify-content:center;flex-wrap:wrap;width:100%;}
.featured-banner-card{flex:0 0 auto;width:320px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
    display:block;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);
    transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);}
.featured-banner-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(26,165,90,.3);}
.featured-banner-card img{width:100%;height:170px;object-fit:cover;display:block;}
.featured-banner-body{padding:18px;}
.featured-banner-body h3{font-size:16px;margin:0 0 6px;}
.featured-banner-body p{font-size:13.5px;color:var(--ink-soft,#666);margin:0 0 14px;}
.featured-banner-body .btn{width:100%;text-align:center;pointer-events:none;}

/* ---- Sections ---- */
.section{padding:76px 0;}
.section-alt{background:var(--paper-alt);}
.section-head{max-width:640px;margin:0 auto 48px;text-align:center;}
.section-head h2{font-size:33px;letter-spacing:-.015em;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm);
    transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(26,165,90,.3);}
.service-card .ico{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 6px 16px rgba(26,165,90,.3);}
.service-card .ico svg{width:24px;height:24px;}
.service-card h3{font-size:18px;}
.service-card p{font-size:14.5px;margin:0;}
.portfolio-card{border-top:4px solid var(--gold);}
.portfolio-card .tag{display:inline-block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green-dark);background:rgba(26,165,90,.1);padding:4px 10px;border-radius:6px;margin-bottom:12px;}
.city-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600;margin:5px;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s;}
.city-chip:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:var(--shadow-sm);}
.city-chip::before{content:'📍';font-size:13px;}
.testimonial{background:#fff;border-radius:var(--radius);padding:30px 26px 26px;border:1px solid var(--line);box-shadow:var(--shadow-sm);position:relative;
    transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.testimonial:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.testimonial::before{content:'"';position:absolute;top:6px;right:22px;font-family:'Poppins',sans-serif;font-size:64px;font-weight:800;color:rgba(26,165,90,.1);line-height:1;}
.testimonial p{font-style:italic;color:var(--ink);}
.testimonial .who{font-weight:700;font-size:14px;color:var(--green-dark);}
.cta-band{background:linear-gradient(135deg,var(--green-deep) 0%,#083a20 100%);color:#fff;border-radius:24px;padding:56px 40px;text-align:center;
    position:relative;overflow:hidden;box-shadow:var(--shadow-lg);}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(420px 220px at 85% 0%,rgba(240,196,25,.22),transparent 65%);}
.cta-band h2{color:#fff;position:relative;}
.cta-band p{color:#CFE9DA;position:relative;}
.cta-band .btn{position:relative;}
.cta-band-sm{padding:34px 24px;}
.cta-band-sm h2{font-size:24px;margin-bottom:6px;}
.prompts-cta-band{padding-top:0;}

/* ---- Content Prompts (public prompt cards + copy button) ---- */
.prompt-filter{margin-bottom:24px;max-width:260px;}
.prompts-grid{align-items:stretch;}
.prompt-card{display:flex;flex-direction:column;gap:8px;position:relative;padding-top:34px;}
.prompt-tag{position:absolute;top:16px;left:16px;background:var(--green-light,#EAF6EE);color:var(--green-dark);
    font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.02em;}
.prompt-card h3{font-size:17px;margin:0;}
.prompt-preview{font-size:13.5px;color:var(--ink-soft);flex:1;margin:0;}
.prompt-copy-btn{align-self:flex-start;margin-top:4px;}
.prompt-copy-btn.copied{background:var(--green-dark);color:#fff;border-color:var(--green-dark);}
.prompts-cta-more{text-align:center;margin-top:28px;}
.prompts-cta-band-btn-only .prompts-cta-more{margin-top:0;}
.prompts-cta-band-btn-only{padding-top:8px;padding-bottom:8px;}
.btn-sm{padding:7px 14px;font-size:12.5px;border-radius:9px;}

/* ---- Dynamic Prompt Form page (prompt-form.php) ---- */
.prompt-tag-banner{display:inline-block;margin-bottom:10px;background:rgba(255,255,255,.18);color:#fff;
    font-size:11px;font-weight:700;padding:3px 12px;border-radius:20px;letter-spacing:.02em;}
.prompt-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
.prompt-form-card h3,.prompt-result-card h3{margin-top:0;font-size:18px;}
.req-star{color:var(--gold-dark);font-weight:700;}
.opt-tag{
    font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    color:var(--ink-soft);background:var(--paper-alt,#F2F5F1);border-radius:20px;padding:2px 8px;
    vertical-align:middle;
}
[data-theme="dark"] .opt-tag{background:#161F1B;}
.form-field-meta{display:flex;justify-content:space-between;align-items:center;margin-top:4px;min-height:16px;}
.form-field-error{font-size:11.5px;color:#C23B3B;font-weight:600;}
.form-field-count{font-size:11px;color:var(--ink-soft);margin-left:auto;}
.form-control.field-invalid{border-color:#C23B3B !important;background:rgba(194,59,59,.04);}
.prompt-generate-btn{width:100%;margin-top:6px;}
.prompt-result-card{min-height:260px;display:flex;flex-direction:column;}
.prompt-result-placeholder{color:var(--ink-soft);font-size:14px;background:var(--paper-alt,#F7F9F6);
    border-radius:12px;padding:20px;flex:1;display:flex;align-items:center;}
.prompt-result-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;}
.prompt-result-count{
    display:inline-block;vertical-align:middle;margin-left:8px;
    font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.02em;
    color:var(--green-dark);background:var(--paper-alt,#F2F5F1);
    border-radius:20px;padding:3px 10px;
}
[data-theme="dark"] .prompt-result-count{color:#7FE0A8;background:#0E2A22;}
@media(max-width:820px){
    .prompt-form-layout{grid-template-columns:1fr;}
}

/* ---- Structured result list ("systematic proforma" output) ---- */
.prompt-result-list{display:flex;flex-direction:column;gap:16px;}
.prompt-result-item{
    position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;
    box-shadow:var(--shadow-sm);
    opacity:0;transform:translateY(10px);
    animation:promptItemIn .45s var(--ease) forwards;
    transition:box-shadow .25s var(--ease),transform .25s var(--ease);
}
.prompt-result-item:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.prompt-result-item::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
    background:linear-gradient(180deg,var(--green) 0%,var(--gold) 100%);
}
.prompt-result-item:nth-child(1){animation-delay:.02s;}
.prompt-result-item:nth-child(2){animation-delay:.09s;}
.prompt-result-item:nth-child(3){animation-delay:.16s;}
.prompt-result-item:nth-child(4){animation-delay:.23s;}
.prompt-result-item:nth-child(5){animation-delay:.3s;}
.prompt-result-item:nth-child(n+6){animation-delay:.36s;}
@keyframes promptItemIn{to{opacity:1;transform:translateY(0);}}
@media(prefers-reduced-motion:reduce){
    .prompt-result-item{animation:none;opacity:1;transform:none;}
}
.prompt-result-item-head{display:flex;align-items:center;gap:10px;padding:12px 14px 12px 18px;background:var(--paper-alt,#F2F5F1);}
.prompt-result-item-num{
    flex:0 0 auto;width:24px;height:24px;border-radius:50%;color:#fff;
    background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);
    font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 6px rgba(14,122,65,.35);
}
.prompt-result-item-title{flex:1;font-weight:700;font-size:13.5px;color:var(--ink);letter-spacing:-.01em;}
.prompt-result-item-copy{
    flex:0 0 auto;padding:6px 13px;font-size:11.5px;border-radius:20px;
    transition:background .2s var(--ease),color .2s var(--ease),transform .15s var(--ease);
}
.prompt-result-item-copy:active{transform:scale(.94);}
.prompt-result-item-copy.copied{background:var(--green-dark);border-color:var(--green-dark);color:#fff;}
.prompt-result-item-body{padding:16px 18px;white-space:pre-wrap;font-size:14.5px;line-height:1.7;color:var(--ink);}
.prompt-result-item-foot{
    display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px 14px;
    font-size:11px;color:var(--ink-soft);letter-spacing:.02em;
}
.prompt-result-item-wordcount{flex:0 0 auto;}
.prompt-result-item-image{flex:0 0 auto;padding:5px 12px;font-size:11.5px;border-radius:20px;}
[data-theme="dark"] .prompt-result-item{background:#141D19;border-color:#22322A;}
[data-theme="dark"] .prompt-result-item-head{background:#0E2A22;}
[data-theme="dark"] .prompt-result-item-title,[data-theme="dark"] .prompt-result-item-body{color:#EAF3ED;}

/* ---- Loading state: subtle spinner instead of a static line ---- */
.prompt-result-placeholder.is-loading{flex-direction:column;gap:12px;text-align:center;}
.prompt-spinner{
    width:26px;height:26px;border-radius:50%;
    border:3px solid var(--line);border-top-color:var(--green-dark);
    animation:promptSpin .8s linear infinite;
}
@keyframes promptSpin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.prompt-spinner{animation-duration:1.6s;}}

/* ---- Contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;}
.form-control{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:9px;font-family:inherit;font-size:14.5px;background:#fff;}
.form-control:focus{outline:none;border-color:var(--green);}
.contact-info-item{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start;}
.contact-info-item .ico{width:42px;height:42px;border-radius:10px;background:var(--paper-alt);color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.alert{padding:14px 16px;border-radius:10px;font-size:14px;margin-bottom:16px;}
.alert-success{background:#E4F6EC;color:var(--green-deep);border:1px solid #BFE8D2;}
.alert-danger{background:#FBEAEA;color:#9B2C2C;border:1px solid #F3C6C6;}

/* ---- Footer ---- */
.site-footer{background:var(--ink);color:#B9C6C2;padding:0;position:relative;}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--green),var(--gold),var(--green));}
.footer-rating{border-bottom:1px solid rgba(255,255,255,.08);}
.footer-rating-inner{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;font-size:13.5px;color:#CFE9DA;flex-wrap:wrap;text-align:center;}
.footer-rating-stars{color:var(--gold);letter-spacing:1px;font-size:15px;}
.footer-rating strong{color:#fff;}
.footer-wrap{max-width:1180px;margin:0 auto;padding:44px 24px 0;display:grid;grid-template-columns:1.3fr .8fr .95fr .95fr 1fr;gap:36px;}
.footer-logo{height:38px;margin-bottom:14px;}
.footer-col h4{color:#fff;font-size:14px;margin-bottom:14px;letter-spacing:.02em;}
.footer-col a{display:block;color:#9FB0AB;font-size:13.5px;margin-bottom:9px;transition:color .2s,transform .2s;}
.footer-col a:hover{color:var(--gold);transform:translateX(3px);}
.footer-contact-list{margin:14px 0 4px;display:flex;flex-direction:column;gap:9px;}
.footer-contact-item{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#CFE9DA;line-height:1.4;}
.footer-contact-item .ico{color:var(--gold);flex-shrink:0;margin-top:1px;}
.footer-contact-item a{color:#CFE9DA;display:inline;margin:0;}
.footer-contact-item a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding:20px 24px;font-size:12.5px;color:#7C8C87;}
.footer-bottom-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;text-align:center;}
.footer-legal-links{display:flex;gap:20px;flex-wrap:wrap;}
.footer-legal-links a{color:#9FB0AB;text-decoration:none;transition:color .2s;}
.footer-legal-links a:hover{color:var(--gold);}
.whatsapp-float{position:fixed;bottom:22px;right:22px;background:#25D366;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 8px 22px rgba(0,0,0,.25);z-index:60;text-decoration:none;}

/* ---- Footer trust strip (dark variant of the homepage trust-strip) ---- */
.footer-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px;padding:30px 24px 0;border-top:1px solid rgba(255,255,255,.08);margin-top:38px;}
.footer-trust-item{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#CFE9DA;}
.footer-trust-item svg{color:var(--gold);flex-shrink:0;}

/* ---- Footer newsletter form ---- */
.footer-newsletter-sub{color:#9FB0AB;font-size:13px;margin-bottom:14px;}
.footer-newsletter-msg{font-size:12.5px;border-radius:8px;padding:8px 10px;margin-bottom:10px;}
.footer-newsletter-msg-ok{background:rgba(26,165,90,.18);color:#BFE8D2;}
.footer-newsletter-msg-err{background:rgba(220,60,60,.18);color:#F3C6C6;}
.footer-newsletter-form{display:flex;flex-direction:column;gap:10px;}
.footer-newsletter-form input[type="email"]{width:100%;padding:11px 13px;border-radius:9px;border:1.5px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.06);color:#fff;font-size:13.5px;font-family:inherit;}
.footer-newsletter-form input[type="email"]::placeholder{color:#8FA69E;}
.footer-newsletter-form input[type="email"]:focus{outline:none;border-color:var(--gold);}
.footer-newsletter-form .btn{width:100%;text-align:center;}
.footer-newsletter-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

/* ---- Trust strip ---- */
.trust-strip{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;padding:22px 0 6px;}
.trust-item{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink-soft);}
.trust-item .ico{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,rgba(26,165,90,.16),rgba(26,165,90,.08));color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.trust-item .ico svg{width:16px;height:16px;}

/* ---- Portfolio / service visuals (inline SVG "product mockups") ---- */
.portfolio-card{display:flex;flex-direction:column;padding:0;overflow:hidden;}
.portfolio-card .mockup-wrap{background:var(--paper-alt);padding:18px 18px 0;}
.mockup-svg{width:100%;height:auto;display:block;border-radius:10px 10px 0 0;box-shadow:0 6px 18px rgba(16,27,31,.1);}
.portfolio-card .portfolio-body{padding:24px 26px 28px;}
.portfolio-card .tag{margin-top:2px;}
.portfolio-photo-wrap{overflow:hidden;border-radius:10px 10px 0 0;aspect-ratio:16/10;background:var(--paper-alt);}
.portfolio-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.portfolio-card:hover .portfolio-photo{transform:scale(1.06);}

.lightbox{position:fixed;inset:0;background:rgba(10,16,18,.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease;z-index:999;padding:30px;}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:min(90vw,1000px);max-height:85vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);transform:scale(.94);transition:transform .25s ease;}
.lightbox.open img{transform:scale(1);}
.lightbox-close{position:absolute;top:18px;right:26px;color:#fff;font-size:34px;line-height:1;cursor:pointer;opacity:.8;}
.lightbox-close:hover{opacity:1;}

/* ---- About / contact illustration frames ---- */
.illustration-frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.illustration-frame svg{width:100%;height:auto;display:block;}

/* ---- How We Work (process steps) ---- */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;position:relative;}
.process-steps::before{content:'';position:absolute;top:28px;left:12.5%;right:12.5%;height:1px;
    background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px);display:none;}
@media(min-width:901px){.process-steps::before{display:block;}}
.process-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 20px;text-align:center;
    transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.process-step:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.process-step .badge{width:56px;height:56px;margin:0 auto 14px;position:relative;z-index:1;background:var(--paper);border-radius:50%;}
.process-step h3{font-size:16px;margin-bottom:6px;}
.process-step p{font-size:13.5px;margin:0;}

/* ---- FAQ accordion (also see FAQPage schema in config.php) ---- */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 22px;transition:border-color .25s,box-shadow .25s;}
.faq-item:hover{border-color:rgba(26,165,90,.35);}
.faq-item[open]{box-shadow:var(--shadow-sm);border-color:rgba(26,165,90,.35);}
.faq-item summary{list-style:none;cursor:pointer;padding:16px 0;font-family:'Poppins',sans-serif;font-weight:600;font-size:15.5px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:22px;color:var(--green-dark);font-weight:400;flex-shrink:0;transition:transform .25s var(--ease);}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding-bottom:18px;margin:0;font-size:14.5px;}

/* ---- Testimonial avatars ---- */
.testimonial{display:flex;flex-direction:column;gap:14px;}
.testimonial-who{display:flex;align-items:center;gap:12px;}
.avatar-svg{width:44px;height:44px;border-radius:50%;flex-shrink:0;}
.testimonial .who{font-weight:700;font-size:14px;color:var(--green-dark);margin:0;}
.testimonial .who span{display:block;font-weight:500;color:var(--ink-soft);font-size:12.5px;}

/* ---- Page banner (inner pages) ---- */
.page-banner{background:var(--ink);color:#fff;padding:54px 0;text-align:center;}
.page-banner h1{color:#fff;font-size:34px;margin-bottom:8px;}
.page-banner p{color:#B9C6C2;margin:0;}
.breadcrumb{font-size:13px;color:#8FA69E;margin-bottom:10px;}
.breadcrumb a{color:#CFE9DA;}

/* ---- Scroll-reveal animation ---- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal-in{opacity:1;transform:translateY(0);}

/* ---- Stats band ---- */
.stats-band{background:var(--ink);border-radius:24px;padding:44px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;
    position:relative;overflow:hidden;box-shadow:var(--shadow-lg);}
.stats-band::before{content:'';position:absolute;inset:0;background:
    radial-gradient(360px 200px at 12% 0%,rgba(26,165,90,.25),transparent 60%),
    radial-gradient(360px 200px at 88% 100%,rgba(240,196,25,.18),transparent 60%);}
.stat-card{color:#fff;position:relative;}
.stat-num{font-family:'Poppins',sans-serif;font-weight:800;font-size:38px;display:block;
    background:linear-gradient(135deg,#F7D74A,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;}
.stat-label{font-size:13.5px;color:#CFE9DA;font-weight:600;margin-top:4px;}

/* ---- Back-to-top ---- */
.back-to-top{position:fixed;bottom:22px;right:90px;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;border:none;font-size:18px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.25);z-index:60;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}

/* ---- App-style bottom tab bar (mobile) ----
   Persistent — not scroll-triggered — so the site feels like an
   installed app's tab navigation rather than a website banner. The
   center item (WhatsApp) is raised as a FAB, a common native-app
   pattern. Padded for the phone's home-indicator via env(). */
.app-tabbar{position:fixed;left:0;right:0;bottom:0;display:none;background:#fff;border-top:1px solid var(--line);
    box-shadow:0 -6px 20px rgba(16,27,31,.1);z-index:59;padding-bottom:env(safe-area-inset-bottom);}
.app-tabbar .tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    padding:9px 1px 8px;font-size:9.5px;font-weight:600;color:var(--ink-soft);text-align:center;-webkit-tap-highlight-color:transparent;min-width:0;}
.app-tabbar .tab-ico{font-size:17px;line-height:1;}
.app-tabbar .tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.app-tabbar .tab-item.active{color:var(--green-dark);}
.app-tabbar .tab-item:active{transform:scale(.92);}
.app-tabbar .tab-fab{position:relative;flex:0 0 60px;}
.app-tabbar .tab-fab-ico{position:absolute;top:-24px;width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 18px rgba(37,211,102,.45);border:4px solid #fff;}
[data-theme="dark"] .app-tabbar{background:#141D19;}
[data-theme="dark"] .app-tabbar .tab-fab-ico{border-color:#141D19;}
@media(max-width:760px){
    .app-tabbar{display:flex;}
    .whatsapp-float{display:none;} /* the tab bar's center FAB already covers WhatsApp */
    .back-to-top{bottom:calc(76px + env(safe-area-inset-bottom));right:16px;}
    body{padding-bottom:calc(60px + env(safe-area-inset-bottom));}
}

/* ---- Installed-app (standalone) polish ----
   Added by pwa-head.php's inline script when launched from the home
   screen. Gives the status-bar area breathing room on notched phones
   and removes affordances that only make sense inside a browser tab. */
.pwa-standalone .site-nav{padding-top:env(safe-area-inset-top);}
.pwa-standalone .app-tabbar{padding-bottom:calc(6px + env(safe-area-inset-bottom));}

/* ---- Footer social row (now sits inside the brand column) ---- */
.footer-social{display:flex;gap:10px;margin-top:16px;padding:0;max-width:none;}
.footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#CFE9DA;text-decoration:none;transition:background .2s,color .2s,transform .2s;}
.footer-social a:hover{background:var(--green);color:#fff;transform:translateY(-2px);}
.footer-social svg{width:17px;height:17px;}

/* ---- Responsive ---- */
@media(max-width:900px){
    .hero-grid,.grid-2,.contact-grid{grid-template-columns:1fr;}
    .grid-3{grid-template-columns:1fr 1fr;}
    .process-steps{grid-template-columns:1fr 1fr;}
    .nav-toggle{display:flex;}
    .nav-links{position:absolute;top:100%;left:0;right:0;background:var(--paper-alt);
        flex-direction:column;align-items:stretch;gap:10px;
        padding:0 16px;max-height:0;opacity:0;overflow:hidden;display:flex;
        border-bottom:1px solid var(--line);box-shadow:var(--shadow);
        transition:max-height .3s ease,opacity .25s ease,padding .3s ease;}
    .nav-links.open{max-height:520px;opacity:1;padding:16px;}
    .nav-links a{background:var(--paper);border:1px solid var(--line);border-radius:12px;
        padding:13px 16px;box-shadow:0 2px 8px rgba(16,27,31,.05);border-bottom:none !important;
        width:100%;}
    .nav-links a:hover,.nav-links a.active{border-color:var(--green);background:var(--paper-alt);}
    .nav-links a.nav-cta{background:var(--ink);text-align:center;padding:13px 16px;}
    .nav-links a.nav-cta:hover{background:var(--green-deep);}
    [data-theme="dark"] .nav-links a{background:#101915;}
    .footer-wrap{grid-template-columns:1fr 1fr;}
    .footer-brand{grid-column:1/-1;}
    .footer-bottom-inner{justify-content:center;flex-direction:column;}
}
@media(max-width:600px){
    .grid-3{grid-template-columns:1fr;}
    .process-steps{grid-template-columns:1fr;}
    .hero h1{font-size:32px;}
    .stats-band{grid-template-columns:1fr 1fr;}
    .footer-wrap{grid-template-columns:1fr;}
    .footer-trust{gap:12px 20px;}
}
@media (prefers-reduced-motion: reduce){
    .coverage-track{animation:none;}
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
}


/* ---- Blog: listing cards ---- */
.blog-grid{align-items:stretch;}
.blog-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.blog-card h3{font-size:19px;margin:4px 0 10px;color:var(--ink);}
.blog-card p{color:var(--muted,#5B6B66);font-size:14.5px;flex-grow:1;}
.blog-tag{display:inline-block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green-dark);background:rgba(26,165,90,.1);padding:4px 10px;border-radius:6px;margin-bottom:4px;align-self:flex-start;}
.blog-meta{font-size:12.5px;color:#8FA69E;margin-top:auto;padding-top:10px;}

/* ---- Blog: single article body ---- */
.blog-article{max-width:780px;margin:0 auto;font-size:16.5px;line-height:1.75;color:var(--ink);}
.blog-article h2{font-size:24px;margin:36px 0 14px;letter-spacing:-.01em;}
.blog-article h3{font-size:19px;margin:26px 0 10px;}
.blog-article p{margin:0 0 16px;}
.blog-article ul,.blog-article ol{margin:0 0 16px;padding-left:22px;}
.blog-article li{margin-bottom:8px;}
.blog-article strong{color:var(--green-dark);}
