/* ===== Verde theme ===== "Nature Distilled": warm, friendly, organic. Rounded chips, pills, wavy dividers, soft layered shadows. Colors via semantic vars only. ===== */
*{box-sizing:border-box;margin:0;padding:0}
:root{--maxw:1180px;--r:30px;--r-sm:20px;--r-xs:14px;
  --shadow:0 30px 70px -28px rgba(40,55,30,.34);--shadow-sm:0 14px 34px -18px rgba(40,55,30,.26);--shadow-xs:0 6px 18px -10px rgba(40,55,30,.22);
  --font:'Nunito Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--display:'Varela Round','Nunito Sans',sans-serif;
  --ease:cubic-bezier(.34,1.4,.64,1);--ease-bounce:cubic-bezier(.34,1.56,.64,1);
  --blob-a:62% 38% 41% 59%/58% 51% 49% 42%;
  --blob-b:40% 60% 65% 35%/45% 55% 45% 55%}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.7;font-size:16.5px;font-weight:400;-webkit-font-smoothing:antialiased}
img,iframe{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);line-height:1.18;letter-spacing:0;font-weight:400;color:var(--text)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}
.ic{width:24px;height:24px}.ic-sm{width:17px;height:17px}.ic-xl{width:64px;height:64px}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:400;font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand);margin-bottom:1rem;background:color-mix(in srgb,var(--brand) 13%,transparent);
  padding:.45rem 1rem;border-radius:999px}
.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex:0 0 auto;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:400;font-size:16px;padding:.95rem 1.8rem;border-radius:999px;
  text-decoration:none;border:0;cursor:pointer;transition:transform .2s var(--ease-bounce),box-shadow .2s,filter .2s;white-space:nowrap}
.btn svg{transition:transform .2s var(--ease-bounce)}
.btn-pri{background:var(--brand);color:var(--on-brand);box-shadow:0 16px 30px -12px var(--ring)}
.btn-pri:hover{transform:translateY(-3px) scale(1.015);filter:brightness(1.04);box-shadow:0 22px 38px -14px var(--ring)}
.btn-pri:hover svg{transform:translateX(3px)}
.btn-ghost{background:var(--surface);color:var(--text);border:2px solid var(--border)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-3px)}
.btn-light{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}
.btn-light:hover{transform:translateY(-3px) scale(1.015)}
.btn-light:hover svg{transform:translateX(3px)}
.btn.full{width:100%;justify-content:center}
.btn:focus-visible{outline:0;box-shadow:0 0 0 4px var(--bg),0 0 0 7px var(--ring)}
a:focus-visible,button:focus-visible{outline:0}
.nav a:focus-visible,.ft-col a:focus-visible,.ft-social a:focus-visible,.cinfo a:focus-visible,.ft-admin:focus-visible,.wa-fab:focus-visible,.acc-q:focus-visible{box-shadow:0 0 0 3px var(--bg),0 0 0 6px var(--ring);border-radius:999px}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(28px) scale(.97);transition:opacity .6s ease,transform .65s var(--ease);transition-delay:var(--d,0ms)}
[data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* header */
.hdr{position:sticky;top:0;z-index:100;transition:background .25s,box-shadow .25s,backdrop-filter .25s}
.hdr.is-scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);box-shadow:0 10px 34px -22px rgba(40,55,30,.42)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:82px;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:var(--display);font-weight:400;font-size:19px}
.brand-mark{position:relative;width:46px;height:46px;border-radius:46% 54% 52% 48%/54% 46% 54% 46%;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--brand),var(--brand-2));color:var(--on-brand);flex:0 0 auto;transition:border-radius .5s var(--ease),transform .3s var(--ease)}
.brand-initial{font-family:var(--display);font-weight:400;font-size:19px;line-height:1}
.brand-leaf{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent);color:var(--on-brand);box-shadow:var(--shadow-xs);transition:transform .35s var(--ease-bounce)}
.brand-leaf svg{width:13px;height:13px}
.brand:hover .brand-mark{border-radius:54% 46% 48% 52%/46% 54% 46% 54%;transform:rotate(-4deg)}
.brand:hover .brand-leaf{transform:rotate(14deg) scale(1.1)}
.nav{display:flex;align-items:center;gap:.25rem}
.nav a{text-decoration:none;color:var(--muted);font-family:var(--display);font-weight:400;font-size:15px;padding:.55rem .95rem;border-radius:999px;transition:color .18s,background .18s}
.nav a:hover{color:var(--brand);background:color-mix(in srgb,var(--brand) 11%,transparent)}
.nav .nav-cta{display:inline-flex;align-items:center;gap:.35rem;background:var(--brand);color:var(--on-brand);margin-left:.6rem;padding:.62rem 1.25rem;box-shadow:0 12px 24px -12px var(--ring);transition:transform .18s var(--ease-bounce),filter .18s}
.nav .nav-cta svg{width:15px;height:15px}
.nav .nav-cta:hover{filter:brightness(1.06);color:var(--on-brand);background:var(--brand);transform:translateY(-2px)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:24px;height:2.5px;background:var(--text);border-radius:2px;transition:.2s}

/* hero */
.hero{position:relative;overflow:hidden;padding:3.8rem 0 5.5rem}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-bg span{position:absolute;filter:blur(54px)}
.hero-bg span:nth-child(1){width:540px;height:540px;border-radius:var(--blob-a);background:var(--brand);top:-190px;right:-130px;opacity:.20}
.hero-bg span:nth-child(2){width:470px;height:470px;border-radius:var(--blob-b);background:var(--accent);bottom:-210px;left:-150px;opacity:.20}
.hero-bg span:nth-child(3){width:330px;height:330px;border-radius:50%;background:var(--brand-2);top:36%;left:44%;opacity:.12}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:3.2rem;align-items:center}
.hero-copy h1{font-size:clamp(2.4rem,5.4vw,4.1rem);font-weight:400;margin:.2rem 0 1.15rem;line-height:1.08}
.hero-copy .lead{font-size:1.2rem;color:var(--muted);max-width:37ch;margin-bottom:2.1rem}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap}
.hero-stats{display:flex;gap:2.4rem;margin-top:2.7rem;flex-wrap:wrap}
.stat strong{display:block;font-family:var(--display);font-size:2.15rem;color:var(--brand);font-weight:400;line-height:1}
.stat span{font-size:.92rem;color:var(--muted);font-weight:600;margin-top:.35rem;display:block}
.hero-art{position:relative}
.hero-blob{aspect-ratio:4/4.3;border-radius:58% 42% 47% 53%/52% 44% 56% 48%;background:var(--surface-2) center/cover no-repeat;
  box-shadow:var(--shadow);display:grid;place-items:center;border:4px solid var(--surface);position:relative;overflow:hidden;
  animation:morph 16s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:58% 42% 47% 53%/52% 44% 56% 48%}50%{border-radius:42% 58% 56% 44%/46% 54% 46% 54%}}
.hero-ph{color:var(--brand);opacity:.5}
.hero-deco{position:absolute;z-index:2;width:60px;height:60px;border-radius:46% 54% 52% 48%/54% 46% 54% 46%;display:grid;place-items:center;
  background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm);animation:float 7s ease-in-out infinite}
.hero-deco svg{width:28px;height:28px}
.hero-deco-1{top:8%;right:-8px;color:var(--brand)}
.hero-deco-2{bottom:24%;right:-22px;width:52px;height:52px;animation-delay:1.6s}
@keyframes float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-12px) rotate(4deg)}}
.hero-badge{position:absolute;left:-12px;bottom:36px;z-index:2;background:var(--surface);border:2px solid color-mix(in srgb,var(--brand) 16%,transparent);border-radius:22px;
  padding:.9rem 1.15rem;display:flex;align-items:center;gap:.8rem;box-shadow:var(--shadow-sm)}
.hero-badge svg{color:var(--brand);width:30px;height:30px;flex:0 0 auto}
.hero-badge strong{font-family:var(--display);display:block;font-size:1rem;font-weight:400}.hero-badge span{font-size:.8rem;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.hero-blob,.hero-deco{animation:none}}

/* sections */
.sec{padding:5.8rem 0;position:relative}
.sec-head{max-width:680px;margin:0 auto 3.4rem;text-align:center}
.sec-head h2{font-size:clamp(2rem,3.8vw,2.95rem)}
.sec-sub{color:var(--muted);font-size:1.1rem;margin-top:.95rem}

/* wavy dividers */
.feat-wave-top,.feat-wave-bottom,.ft-wave{line-height:0;color:var(--surface-2)}
.feat-wave-top{position:absolute;top:-1px;left:0;width:100%;transform:scaleY(-1)}
.feat-wave-bottom{position:absolute;bottom:-1px;left:0;width:100%}
.feat-wave-top svg,.feat-wave-bottom svg{width:100%;height:64px}
.ft-wave{color:var(--surface-2)}.ft-wave svg{width:100%;height:60px;transform:scaleY(-1)}

/* services cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.card{position:relative;background:var(--surface);border:2px solid var(--border);border-radius:var(--r);padding:2.1rem 1.95rem;overflow:hidden;
  transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 8%,transparent),transparent 55%);opacity:0;transition:opacity .25s;pointer-events:none}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--brand) 32%,transparent)}
.card:hover::before{opacity:1}
.card-ic{position:relative;z-index:1;width:64px;height:64px;border-radius:42% 58% 53% 47%/47% 42% 58% 53%;display:grid;place-items:center;
  background:color-mix(in srgb,var(--brand) 15%,transparent);color:var(--brand);margin-bottom:1.25rem;transition:border-radius .5s var(--ease),transform .25s var(--ease-bounce)}
.card:hover .card-ic{border-radius:55% 45% 47% 53%/53% 55% 45% 47%;transform:rotate(-6deg) scale(1.06)}
.card h3{position:relative;z-index:1;font-size:1.3rem;margin-bottom:.5rem}
.card p{position:relative;z-index:1;color:var(--muted);font-size:1rem}
.card-arrow{position:absolute;top:1.7rem;right:1.7rem;color:var(--brand);opacity:0;transform:translateX(-6px) rotate(-30deg);transition:opacity .25s,transform .25s var(--ease-bounce)}
.card:hover .card-arrow{opacity:.85;transform:none}

/* about */
.about-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.6rem;align-items:center}
.about .sec-head{text-align:left;margin:0 0 1.5rem}
.about-art{position:relative}
.about-img{aspect-ratio:1/1.05;border-radius:46% 54% 58% 42%/52% 46% 54% 48%;background:var(--surface-2) center/cover no-repeat;
  border:4px solid var(--surface);box-shadow:var(--shadow);display:grid;place-items:center}
.about-deco{position:absolute;z-index:2;top:-14px;left:-14px;width:64px;height:64px;border-radius:42% 58% 53% 47%/47% 42% 58% 53%;display:grid;place-items:center;
  background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}
.about-deco svg{width:30px;height:30px}
.about-p{color:var(--muted);margin-bottom:1rem}
.ticks{list-style:none;display:grid;gap:.9rem;margin:1.6rem 0}
.ticks li{display:flex;gap:.8rem;align-items:flex-start;font-weight:600}
.tick-chip{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand);margin-top:1px}
.tick-chip svg{width:15px;height:15px}
.sign{display:flex;align-items:center;gap:.9rem;margin-top:1.8rem;padding-top:1.4rem;border-top:2px dashed var(--border)}
.sign-chip{width:46px;height:46px;border-radius:46% 54% 52% 48%/54% 46% 54% 46%;display:grid;place-items:center;flex:0 0 auto;
  background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}
.sign-chip svg{width:22px;height:22px}
.sign strong{font-family:var(--display);font-size:1.3rem;font-weight:400;display:block}
.sign span{color:var(--muted);font-size:.92rem}

/* features */
.features{background:var(--surface-2);margin:2.5rem 0;padding:7rem 0}
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem 2.6rem;max-width:920px;margin:0 auto}
.feat{display:flex;gap:1.15rem;align-items:flex-start;background:var(--surface);border:2px solid var(--border);
  border-radius:var(--r-sm);padding:1.5rem 1.6rem;transition:transform .22s var(--ease),box-shadow .22s,border-color .22s}
.feat:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:color-mix(in srgb,var(--brand) 28%,transparent)}
.feat-ic{width:56px;height:56px;border-radius:44% 56% 52% 48%/50% 44% 56% 50%;display:grid;place-items:center;
  background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);flex:0 0 auto;transition:border-radius .5s var(--ease)}
.feat:hover .feat-ic{border-radius:55% 45% 47% 53%/53% 55% 45% 47%}
.feat h3{font-size:1.18rem;margin-bottom:.3rem}.feat p{color:var(--muted);font-size:.98rem}

/* testimonials */
.tst{overflow:hidden}
.tst-bg{position:absolute;z-index:0;width:520px;height:520px;border-radius:var(--blob-a);background:var(--accent);opacity:.08;top:-160px;right:-160px;pointer-events:none}
.tst .wrap{position:relative;z-index:1}
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.tst-card{position:relative;background:var(--surface);border:2px solid var(--border);border-radius:var(--r);padding:2.1rem 1.9rem;
  display:flex;flex-direction:column;gap:.95rem;transition:transform .22s var(--ease),box-shadow .22s}
.tst-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.tst-quote{position:absolute;top:1.3rem;right:1.5rem;color:var(--brand);opacity:.16}
.tst-quote svg{width:40px;height:40px}
.stars{display:flex;gap:2px;color:var(--accent)}.stars svg{fill:var(--accent)}
.tst-card blockquote{font-size:1.05rem;color:var(--text);font-weight:500;line-height:1.6}
.tst-card figcaption{display:flex;align-items:center;gap:.75rem;margin-top:auto;padding-top:.4rem}
.tst-avatar{width:44px;height:44px;border-radius:46% 54% 52% 48%/54% 46% 54% 46%;display:grid;place-items:center;flex:0 0 auto;
  font-family:var(--display);font-size:1.05rem;background:linear-gradient(140deg,var(--brand),var(--brand-2));color:var(--on-brand)}
.tst-who{display:flex;flex-direction:column}
.tst-card figcaption strong{font-family:var(--display);font-weight:400;display:block}.tst-card figcaption span{color:var(--muted);font-size:.88rem}

/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.gal-item{aspect-ratio:1;border-radius:var(--r-sm);background:var(--surface-2) center/cover no-repeat;border:4px solid var(--surface);
  position:relative;display:flex;align-items:flex-end;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s}
.gal-item:nth-child(even){border-radius:42% 58% 56% 44%/50% 44% 56% 50%}
.gal-item:hover{transform:scale(1.03) rotate(-1.5deg);box-shadow:var(--shadow)}
.gal-item figcaption{padding:.65rem .95rem;font-size:.85rem;font-weight:700;color:var(--on-brand);width:100%;
  background:linear-gradient(transparent,color-mix(in srgb,var(--text) 72%,transparent))}

/* faq */
.faq-in{max-width:800px;margin:0 auto}
.acc{display:grid;gap:.95rem}
.acc-item{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-sm);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.acc-item.is-open{border-color:color-mix(in srgb,var(--brand) 38%,transparent);box-shadow:var(--shadow-sm)}
.acc-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:none;border:0;cursor:pointer;
  padding:1.3rem 1.5rem;font:400 1.1rem var(--display);color:var(--text);text-align:left;transition:color .2s}
.acc-item.is-open .acc-q{color:var(--brand)}
.acc-chev{transition:transform .3s var(--ease);color:var(--brand);transform:rotate(90deg);flex:0 0 auto}
.acc-item.is-open .acc-chev{transform:rotate(-90deg)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.acc-item.is-open .acc-a{max-height:340px}
.acc-a p{padding:0 1.5rem 1.4rem;color:var(--muted)}

/* cta band */
.ctaband{padding:3.2rem 0}
.ctaband-in{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--brand),var(--brand-2));color:var(--on-brand);
  border-radius:42px;padding:3.2rem 3.4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;box-shadow:var(--shadow)}
.ctaband-copy{position:relative;z-index:1}
.ctaband-in h2{color:var(--on-brand);font-size:clamp(1.7rem,3vw,2.4rem)}
.ctaband-in p{opacity:.92;margin-top:.55rem;max-width:46ch}
.ctaband-in .btn-light{position:relative;z-index:1}
.ctaband-blobs span{position:absolute;border-radius:var(--blob-a);background:var(--on-brand);opacity:.1}
.ctaband-blobs span:nth-child(1){width:280px;height:280px;border-radius:50%;top:-130px;right:-40px}
.ctaband-blobs span:nth-child(2){width:190px;height:190px;bottom:-120px;left:28%;opacity:.08}
.ctaband-blobs span:nth-child(3){width:120px;height:120px;border-radius:50%;top:30%;right:34%;opacity:.07}

/* contact */
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact .sec-head{text-align:left;margin:0 0 1.8rem}
.cinfo{list-style:none;display:grid;gap:1.15rem;margin-bottom:1.8rem}
.cinfo li{display:flex;gap:1rem;align-items:flex-start}
.cinfo-ic{width:48px;height:48px;border-radius:42% 58% 53% 47%/52% 44% 56% 48%;display:grid;place-items:center;flex:0 0 auto;
  background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}
.cinfo-ic svg{width:20px;height:20px}
.cinfo span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.cinfo a,.cinfo p{text-decoration:none;color:var(--text);font-weight:700;display:block;margin-top:.12rem}
.cinfo a:hover{color:var(--brand)}
.map{border-radius:var(--r);overflow:hidden;border:4px solid var(--surface);box-shadow:var(--shadow-sm);height:235px}
.map iframe{width:100%;height:100%;border:0}
.contact-form{background:var(--surface);border:2px solid var(--border);border-radius:var(--r);padding:2.1rem;box-shadow:var(--shadow-sm)}
.frow{margin-bottom:1rem}.frow.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:block;font-family:var(--display);font-weight:400;font-size:.92rem;margin-bottom:.45rem}
.contact-form input,.contact-form textarea{width:100%;padding:.9rem 1.05rem;border:2px solid var(--border);border-radius:var(--r-xs);
  background:var(--bg);color:var(--text);font:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.7}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px var(--ring)}
.form-note{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--muted);margin-top:.95rem}
.form-note svg{color:var(--brand);flex:0 0 auto}

/* footer */
.ft{position:relative;background:var(--surface-2);padding:4rem 0 0;margin-top:2.5rem}
.ft-wave{position:absolute;top:-58px;left:0;width:100%}
.ft-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.6rem;padding-bottom:2.6rem}
.ft-brand{display:flex;gap:.9rem;align-items:flex-start}
.ft-brand strong{font-family:var(--display);font-weight:400;font-size:1.22rem}.ft-brand p{color:var(--muted);font-size:.92rem;margin-top:.25rem}
.ft-col h4{font-family:var(--display);font-weight:400;font-size:.86rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:1.1rem}
.ft-col a,.ft-col p{display:flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none;margin-bottom:.7rem;font-size:.96rem;font-weight:600}
.ft-col a:hover{color:var(--brand)}
.ft-col svg{color:var(--brand);width:18px;height:18px;flex:0 0 auto}
.ft-hours{align-items:flex-start}
.ft-social{display:flex;gap:.6rem;margin-top:1rem}
.ft-social a{width:44px;height:44px;border-radius:46% 54% 52% 48%/54% 46% 54% 46%;display:grid;place-items:center;
  background:var(--surface);border:2px solid var(--border);transition:transform .18s var(--ease-bounce),color .18s,border-color .18s}
.ft-social a:hover{color:var(--brand);border-color:var(--brand);transform:translateY(-3px) rotate(-4deg)}
.ft-bottom{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem;border-top:2px dashed var(--border);
  font-size:.88rem;color:var(--muted)}
.ft-admin{color:var(--muted);text-decoration:none;font-size:.82rem;opacity:.7}
.ft-admin:hover{color:var(--brand);opacity:1}

/* whatsapp fab */
.wa-fab{position:fixed;right:18px;bottom:70px;z-index:80;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:#25d366;color:#fff;box-shadow:0 14px 30px -8px rgba(37,211,102,.7);transition:transform .2s var(--ease-bounce)}
.wa-fab:hover{transform:scale(1.09) rotate(-5deg)}.wa-fab svg{width:28px;height:28px}
body.has-ribbon .wa-fab{bottom:118px}

/* responsive */
@media(max-width:920px){
  .hero-in,.about-in,.contact-in{grid-template-columns:1fr;gap:2.8rem}
  .hero-art{order:-1;max-width:430px;margin:0 auto}
  .cards,.tst-grid{grid-template-columns:repeat(2,1fr)}
  .gal-grid{grid-template-columns:repeat(3,1fr)}
  .feat-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  body{font-size:16px}
  .nav{position:fixed;inset:82px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--surface);
    padding:1rem 1.5rem 1.5rem;gap:.2rem;box-shadow:var(--shadow);transform:translateY(-135%);transition:transform .28s var(--ease);border-bottom:2px solid var(--border)}
  .nav.is-open{transform:none}
  .nav a{padding:.85rem .7rem}.nav .nav-cta{margin:.5rem 0 0;text-align:center;justify-content:center}
  .nav-toggle{display:flex}
  .cards,.tst-grid,.gal-grid{grid-template-columns:1fr}
  .ft-in{grid-template-columns:1fr;gap:2rem}
  .ctaband-in{padding:2.3rem 1.8rem}
  .sec{padding:4.2rem 0}
  .features{padding:5rem 0}
  .hero-deco-2{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* ===== media additions: subtle hero pattern, pricing, testimonial avatars ===== */
/* Boş Zemin Yasağı: soft organic dot pattern keeps the large hero area from feeling flat */
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(color-mix(in srgb,var(--text) 8%,transparent) 1.6px,transparent 1.6px);
  background-size:30px 30px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 35%,transparent 78%);
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 35%,transparent 78%)}
.hero-in{position:relative;z-index:1}

/* ensure media photos always cover & center (placeholder icon only shows when there is no image) */
.hero-blob,.about-img,.gal-item{background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-blob{background-color:var(--surface-2)}

/* pricing — rounded organic cards in Verde's chip idiom */
.pricing{overflow:hidden}
.pricing-bg{position:absolute;z-index:0;width:480px;height:480px;border-radius:var(--blob-b);background:var(--brand);opacity:.07;
  bottom:-180px;left:-150px;pointer-events:none}
.pricing .wrap{position:relative;z-index:1}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;max-width:1000px;margin:0 auto}
.price-card{position:relative;background:var(--surface);border:2px solid var(--border);border-radius:var(--r);padding:1.9rem 1.8rem;
  display:flex;flex-direction:column;gap:.7rem;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.price-card::before{content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 9%,transparent),transparent 58%);opacity:0;transition:opacity .25s;pointer-events:none}
.price-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--brand) 32%,transparent)}
.price-card:hover::before{opacity:1}
.price-card>*{position:relative;z-index:1}
.price-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}
.price-card h3{font-size:1.22rem;line-height:1.2}
.price-dur{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;font-family:var(--display);font-weight:400;font-size:.82rem;
  color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent);padding:.32rem .7rem;border-radius:999px;white-space:nowrap}
.price-dur svg{width:14px;height:14px;color:var(--brand)}
.price-desc{color:var(--muted);font-size:.96rem;margin-bottom:.2rem}
.price-amt{margin-top:auto;font-family:var(--display);font-weight:400;font-size:1.85rem;line-height:1;color:var(--brand);
  padding-top:.9rem;border-top:2px dashed var(--border)}

/* testimonial avatar image — round, sized, semantic-var framed */
.tst-avatar-img{object-fit:cover;background:var(--surface-2);border:2px solid var(--surface);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 22%,transparent)}

@media(max-width:920px){.price-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.price-grid{grid-template-columns:1fr}}
