/* THEYAS – strat de design „editorial / futurist”
   Se încarcă după theyas.css și schimbă doar aspectul: font, dimensiuni, hero, butoane, servicii, subsol.
   Conținutul și structura Elementor rămân neschimbate. Ca să revii la aspectul vechi, scoate fișierul din functions.php. */

:root{
  --f-display:"Outfit","Helvetica Neue",Arial,sans-serif;
  --f-body:"Outfit","Helvetica Neue",Arial,sans-serif;
  --f-mono:"Outfit","Helvetica Neue",Arial,sans-serif;
  --ink:#0a0806;
  --art-hero:url(../img/art-hero.webp);
  --art-band:url(../img/art-band.webp);
  --art-side:url(../img/art-side.webp);
}

body{font-size:18px;line-height:1.55;font-weight:300}

body .elementor-widget-text-editor{font-weight:300}

body .elementor-widget-text-editor b,body .elementor-widget-text-editor strong{font-weight:600}

body .elementor-widget-heading .elementor-heading-title{font-weight:700;letter-spacing:-.03em;line-height:.98}

body .ty-h2 .elementor-heading-title{font-size:clamp(2.4rem,6vw,5.4rem)}/* ---------- Etichete: simple, fără linie și fără majuscule ---------- */





body .ty-eyebrow .elementor-widget-container, body .ty-eyebrow,body .ty-eyebrow p,.ty-eyebrow{font-size:1rem;letter-spacing:0 !important;text-transform:none;font-weight:400;color:var(--muted)}

body .ty-eyebrow .elementor-widget-container::before, body .ty-eyebrow::before,.ty-eyebrow p::before{display:none}

body .ty-inv .ty-eyebrow .elementor-widget-container, body .ty-inv .ty-eyebrow{color:var(--inv-muted)}/* ---------- Antet negru ---------- */





.ty-nav{--lg-onlight:none;--lg-ondark:block;background:rgba(10,8,6,.92);border-bottom:1px solid #1f1a12;--fg:#faf6ee;--muted:#b9b09c;--line:#2a251b;--surface:#17130d;--bg:#0a0806}

.ty-nav .ty-menu a{color:#cfc6b2;font-weight:400}

.ty-nav .ty-menu a:hover,.ty-nav .ty-menu .current-menu-item>a,.ty-nav .ty-menu .current_page_item>a{color:#fff}

.ty-nav .ty-ib,.ty-nav .ty-lang{background:transparent;border-color:#3a3325;color:#faf6ee}

.ty-nav .ty-menu .sub-menu{background:#0a0806;border-color:#2a251b}
@media(max-width:900px){.ty-nav .ty-menu-wrap{background:#0a0806;border-color:#2a251b}.ty-nav .ty-menu a{color:#faf6ee}}/* ---------- Butoane: contur rotunjit cu săgeată ---------- */





.ty-cta,.ty-submit,body .ty-btn .elementor-button,body .ty-navcta .elementor-button{background:transparent;color:var(--fg);border:1.5px solid currentColor;font-weight:400;letter-spacing:0;padding:.8rem 1.5rem}

body .ty-btn .elementor-button .elementor-button-text::after,body .ty-navcta .elementor-button-text::after{content:"→";margin-left:.6rem;display:inline-block;transition:transform .25s}

body .ty-btn .elementor-button:hover .elementor-button-text::after,body .ty-navcta .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}

.ty-cta:hover,.ty-submit:hover,body .ty-btn .elementor-button:hover,body .ty-navcta .elementor-button:hover{background:var(--green);border-color:var(--green);color:#17120a;transform:none}

body .ty-navcta .elementor-button{color:#faf6ee;border-color:#faf6ee;padding:.6rem 1.2rem;font-size:.95rem}

body .ty-btn--ghost .elementor-button{border-color:currentColor}

body .ty-inv .ty-btn .elementor-button{color:var(--inv-fg);border-color:var(--inv-fg);background:transparent}

body .ty-inv .ty-btn .elementor-button:hover{background:var(--green);border-color:var(--green);color:#17120a}

.ty-submit{color:inherit}/* ---------- Hero: negru, titlu uriaș, imagine futuristă ---------- */





.ty-hero.e-con.e-flex{--bg:#0a0806;--fg:#faf6ee;--muted:#c4bba7;--line:#2f291d;--surface:#17130d;--lg-onlight:none;--lg-ondark:block;position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#faf6ee;min-height:min(78vh,760px);display:flex;align-items:center}

.ty-hero.e-con.e-flex::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,8,6,.5) 0%,rgba(10,8,6,0) 60%),var(--art-band) right 30%/cover no-repeat;opacity:1}

.ty-hero--bento.e-con.e-flex::before{background:linear-gradient(90deg,rgba(10,8,6,.55) 0%,rgba(10,8,6,0) 60%),var(--art-hero) right 30%/cover no-repeat}

.ty-hero--person.e-con.e-flex::before{background:linear-gradient(90deg,var(--ink) 4%,rgba(10,8,6,.8) 40%,rgba(10,8,6,.1) 90%),var(--art-side) left center/cover no-repeat}

.ty-hero>.e-con-inner{width:100%}

body .ty-hero .ty-h1 .elementor-heading-title{font-size:clamp(2.8rem,7.4vw,7rem);line-height:.95;letter-spacing:-.032em;color:#fff;font-weight:700}

body .ty-hero--bento .ty-h1 .elementor-heading-title{font-size:clamp(3rem,8vw,8rem)}

body .ty-hero .ty-lead .elementor-widget-container, body .ty-hero .ty-lead{font-size:clamp(1.05rem,1.4vw,1.25rem);max-width:46ch;color:#d8cfbb}

body .ty-hero .ty-lead b{color:#fff;font-weight:600}

body .ty-hero .ty-eyebrow .elementor-widget-container, body .ty-hero .ty-eyebrow{color:#c4bba7}

.ty-hero .ty-chip{background:transparent;color:#d8cfbb;border:1px solid #4a4130;font-family:var(--f-body);font-weight:300;font-size:.82rem}/* panoul „exemplu” din hero-ul acasă: ascuns în noul stil, ca titlul să respire (se poate reactiva ștergând regula de mai jos) */



.ty-hero--bento .elementor-widget-html{display:none}

.ty-hero--bento>.e-con-inner{flex-direction:column;align-items:flex-start}

.ty-hero--bento>.e-con-inner>.e-con.e-flex{width:100%;max-width:none;align-items:flex-start}

.ty-hero .e-con.e-flex{align-items:flex-start}
@media(max-width:700px){.ty-hero.e-con.e-flex{min-height:0}.ty-hero.e-con.e-flex::before,.ty-hero--bento.e-con.e-flex::before{background:linear-gradient(180deg,rgba(10,8,6,.55),var(--ink) 92%),var(--art-hero) 70% 0/cover no-repeat}}/* ---------- Servicii: două coloane, titluri mari ---------- */





.ty-svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,6vw,6rem);background:none;border:0;border-radius:0}

.ty-svc{background:none;min-height:0;padding:clamp(1.6rem,3vw,2.8rem) 0;border-top:1px solid var(--inv-line);gap:1rem}

.ty-svc:hover{background:none}

.ty-svc::before{height:2px}

.ty-svc small{font-family:var(--f-body);font-size:1rem;font-weight:400;color:var(--inv-muted)}

.ty-svc h3{font-size:clamp(2.2rem,4.8vw,4.6rem);line-height:.98;letter-spacing:-.03em;font-weight:700}

.ty-svc p{font-size:1.05rem;font-weight:300;max-width:46ch;margin-top:.8rem}

.ty-svc .ty-more{font-weight:400;color:var(--green)}
@media(max-width:820px){.ty-svc-grid{grid-template-columns:minmax(0,1fr)}}/* ---------- Benzi și secțiuni ---------- */





body .ty-cta-band.e-con.e-flex{background:linear-gradient(90deg,rgba(10,8,6,.55) 10%,rgba(10,8,6,0) 70%),var(--art-band) center/cover no-repeat var(--ink);color:#fff;position:relative}

body .ty-cta-band .elementor-heading-title{color:#fff;font-size:clamp(2.4rem,6vw,5.4rem)}

body .ty-cta-band .elementor-widget-text-editor{color:#d8cfbb}

body .ty-cta-band .ty-btn .elementor-button{background:transparent;border-color:#fff;color:#fff}

body .ty-cta-band .ty-btn .elementor-button:hover{background:var(--green);border-color:var(--green);color:#17120a}

body .ty-contact.e-con.e-flex{background:linear-gradient(180deg,rgba(10,8,6,.2),rgba(10,8,6,.6)),var(--art-side) left bottom/cover no-repeat var(--ink)}

.ty-stats.e-con.e-flex{border-top:1px solid currentColor}

body .ty-stat .elementor-counter-number-wrapper{font-weight:800;letter-spacing:-.06em}

.ty-chip,.ty-proof.e-con.e-flex{font-family:var(--f-body)}

.ty-client{font-weight:800}/* ---------- Subsol ---------- */





.ty-footer{padding-block:clamp(3rem,6vw,5rem) 2.5rem}

.ty-footer .ty-flist a,.ty-footer a{color:#faf6ee}

.ty-footer .ty-flist a{font-size:1.15rem;font-weight:400;padding:.25rem 0;text-transform:none;letter-spacing:0}

.ty-footer .ty-flist a:hover{color:var(--green)}

body .ty-footer .ty-fh .elementor-heading-title,.ty-footer h4{font-weight:300;letter-spacing:0;text-transform:none;font-size:1rem;color:var(--inv-muted)}

body .ty-footer .elementor-widget-text-editor{font-size:1rem}/* ---------- Texte sociale laterale (stânga) ---------- */





.ty-side{position:fixed;left:14px;bottom:28px;z-index:40;display:flex;flex-direction:column;align-items:center;gap:14px;font-size:.95rem;font-weight:400;color:#fff;mix-blend-mode:difference}

.ty-side-t{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;gap:.55rem;align-items:center;white-space:nowrap}

.ty-side a{color:inherit;text-decoration:none;transition:opacity .2s}

.ty-side a:hover{opacity:.6}

.ty-side i{font-style:normal;opacity:.7}

.ty-side svg{width:20px;height:20px;display:block}
@media(max-width:1100px){.ty-side{display:none}}

.admin-bar .ty-side{bottom:28px}
@media print{.ty-side{display:none}}/* ---------- Carduri proiect fără poză: fundal futurist ---------- */







.ty-proj:not(.has-img)::before{display:none}

.ty-proj h3{font-weight:700;letter-spacing:-.03em}/* ---------- Contact ---------- */





body .ty-contact .elementor-heading-title{font-size:clamp(2.2rem,4.6vw,4.2rem)}

.ty-inv .ty-submit,.ty-contact .ty-submit{color:var(--inv-fg);border-color:var(--inv-fg);background:transparent}

.ty-inv .ty-submit:hover,.ty-contact .ty-submit:hover{background:var(--green);border-color:var(--green);color:#17120a}

.ty-contact label{font-weight:400;letter-spacing:0;text-transform:none;font-size:.95rem}/* ---------- Lizibilitate / contrast (v2.1.1) ---------- *//* Auriu închis pentru text mic pe fundal deschis (>= 4.5:1); auriu luminos pe zone întunecate */







:root{--green-ink:#7d5a10;--inv-muted:#d2c9b5}

:root[data-theme="dark"]{--muted:#bcb39f}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--muted:#bcb39f}}

.ty-inv.e-con.e-flex,.ty-hero.e-con.e-flex,.ty-nav,.ty-footer,.ty-contact.e-con.e-flex,.ty-cta-band.e-con.e-flex,.ty-proj,.ty-svc,.ty-svc-grid{--green-ink:#e0b255;--muted:#d2c9b5}

body .ty-inv .elementor-widget-text-editor,body .ty-footer .elementor-widget-text-editor,.ty-footer,.ty-svc p,.ty-proj p,.ty-svc small,.ty-info small,.ty-form label,.ty-contact label{color:var(--inv-muted)}

.ty-svc .ty-n,.ty-svc-n,.ty-svc>.elementor-widget-text-editor:first-child{color:#d2c9b5}

.ty-footer .ty-copy-line,.ty-footer small,.ty-footer .ty-fh .elementor-heading-title,.ty-footer h4{color:#d2c9b5}

.ty-copy{color:var(--green-ink)}

.ty-inv .ty-copy,.ty-contact .ty-copy{color:#e0b255;border-color:rgba(224,178,85,.55)}

.ty-proj .ty-go,.ty-svc a{color:#e0b255}/* Hero: mai mult contrast peste puncte */



.ty-hero.e-con.e-flex::before{background:linear-gradient(90deg,rgba(10,8,6,.82) 0%,rgba(10,8,6,.55) 38%,rgba(10,8,6,0) 72%),var(--art-band) right 30%/cover no-repeat}

.ty-hero--bento.e-con.e-flex::before{background:linear-gradient(90deg,rgba(10,8,6,.82) 0%,rgba(10,8,6,.55) 38%,rgba(10,8,6,0) 72%),var(--art-hero) right 30%/cover no-repeat}

body .ty-hero .ty-lead .elementor-widget-container, body .ty-hero .ty-lead{color:#efe8d8;text-shadow:0 1px 14px rgba(10,8,6,.85)}

body .ty-hero .elementor-heading-title,.ty-hero .ty-rot{text-shadow:0 2px 22px rgba(10,8,6,.6)}

.ty-hero .ty-rot,.ty-hero .ty-hl{color:#e8bd63}

body .ty-hero .ty-eyebrow .elementor-widget-container, body .ty-hero .ty-eyebrow,.ty-hero .ty-eyebrow{color:#e2d9c5}

.ty-chip{color:var(--muted)}

.ty-hero .ty-chip{color:#efe8d8;background:rgba(10,8,6,.72);border-color:rgba(239,232,216,.35)}/* Banda CTA */



body .ty-cta-band.e-con.e-flex{background:linear-gradient(90deg,rgba(10,8,6,.85) 10%,rgba(10,8,6,.45) 55%,rgba(10,8,6,0) 85%),var(--art-band) center/cover no-repeat var(--ink)}

body .ty-cta-band .elementor-widget-text-editor,body .ty-cta-band .elementor-widget-container, body .ty-cta-band .elementor-widget{color:#efe8d8}/* Text lateral: fundal discret ca să rămână citibil pe orice secțiune */



.ty-side{mix-blend-mode:normal;color:#faf6ee;background:rgba(10,8,6,.72);padding:.7rem .35rem;border-radius:99px;backdrop-filter:blur(6px)}/* accent mare (titluri): auriu mai cald, >= 3:1 pe fundal deschis */



:root{--hl-lg:#a37515}

:root[data-theme="dark"]{--hl-lg:#e0b255}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--hl-lg:#e0b255}}

.ty-inv.e-con.e-flex,.ty-hero.e-con.e-flex,.ty-contact.e-con.e-flex,.ty-cta-band.e-con.e-flex,.ty-nav,.ty-footer{--hl-lg:#e8bd63}

body .elementor-heading-title .ty-hl,body .elementor-heading-title mark,body .elementor-heading-title .ty-rot{color:var(--hl-lg)}

body .ty-meter .elementor-progress-bar{background-color:var(--green)!important}/* ---------- Compatibilitate Elementor real (v2.1.2) ---------- *//* Elementor dă fiecărui container copil width:100% (--width). În antet, copiii stau pe un rând, la lățimea conținutului. */







body .ty-hdr.e-con.e-flex>.e-con.e-flex{width:auto;max-width:none;flex:0 0 auto}

body .ty-hdr.e-con.e-flex>.elementor-widget{width:auto;flex:0 1 auto}

body .ty-hdr.e-con.e-flex>.elementor-widget:has(.ty-menu-wrap){flex:1 1 auto;display:flex;justify-content:center}/* Etichetă „proof” (banda de clienți): același gutter ca restul paginii, dar logo-urile rămân pe toată lățimea */



body .ty-proof-label .elementor-widget-container, body .ty-proof-label{padding-inline:64px;max-width:1440px;margin-inline:auto;text-align:left;box-sizing:border-box}
@media(max-width:1024px){body .ty-proof-label .elementor-widget-container, body .ty-proof-label{padding-inline:32px}}
@media(max-width:767px){body .ty-proof-label .elementor-widget-container, body .ty-proof-label{padding-inline:16px}}/* Hero: textul de sub titlu are lățime de citire, nu se întinde peste imagine */



body .ty-hero .ty-lead.elementor-widget{max-width:min(46ch,100%)}

body .ty-hero .ty-lead .elementor-widget-container, body .ty-hero .ty-lead{max-width:none}/* Carduri proiect: fundal mai întunecat în spatele textului */





.ty-proj .ty-k,.ty-proj.is-alt .ty-k{color:#e0b255}.ty-proj.is-alt .ty-go,.ty-proj.is-alt .ty-go::after{color:#e0b255}
body .ty-hero.e-con.e-flex .ty-lead.elementor-widget.elementor-widget{max-width:min(46ch,100%)}

/* Carduri proiect fără poză: arta e pe ::after (Elementor ascunde fundalurile descendenților până la lazy-load) */
.ty-proj:not(.has-img){background:#0a0806;isolation:isolate;color:#faf6ee}
.ty-proj:not(.has-img)::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,rgba(10,8,6,.15),rgba(10,8,6,.7) 45%,rgba(10,8,6,.96)),var(--art-side) 60% 70%/260% auto no-repeat}
.ty-proj.is-alt:not(.has-img)::after{background:linear-gradient(180deg,rgba(10,8,6,.15),rgba(10,8,6,.7) 45%,rgba(10,8,6,.96)),var(--art-hero) 85% 80%/260% auto no-repeat}
.ty-proj:not(.has-img) h3,.ty-proj:not(.has-img) p{color:#faf6ee}
.ty-proj:not(.has-img) p{color:#d2c9b5}

/* ---------- Subsol: grilă clară, aliniată cu restul paginii (v2.1.4) ---------- */
:root{--maxw:1312px;--gutter:clamp(16px,4.5vw,64px)}
body .ty-fg-el.e-con.e-flex{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4.5rem);align-items:start;width:100%}
body .ty-fg-el.e-con.e-flex>.e-con.e-flex{width:auto;max-width:none;min-width:0;flex:none}
body .ty-fb-el.e-con.e-flex{align-items:center;gap:.6rem 2rem}
body .ty-fb-el.e-con.e-flex>.elementor-widget{width:auto;max-width:none}
body .ty-footer .ty-flist{display:grid;gap:.1rem}
@media(max-width:1024px){
  body .ty-fg-el.e-con.e-flex{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body .ty-fg-el.e-con.e-flex>.e-con.e-flex:first-child{grid-column:1/-1}
}
@media(max-width:640px){
  body .ty-fg-el.e-con.e-flex{grid-template-columns:minmax(0,1fr);gap:2rem}
  body .ty-fb-el.e-con.e-flex{flex-direction:column;align-items:flex-start}
}

/* Banda de clienți: buclă fără salt (distanța e pe element, nu pe track) + margini care se estompează */
.ty-track{gap:0}
.ty-client{margin-right:3.2rem}
.ty-marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
@media(prefers-reduced-motion:reduce){.ty-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;row-gap:1rem}.ty-track .ty-client:nth-child(n+13){display:none}}

/* Poze echipă: umplu tot cardul portret (4/5), cu fața în cadru */
.ty-ph{display:block}
.ty-ph img,.ty-ph .wp-post-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 0%;display:block;z-index:0}
.ty-ph .ty-ini{position:absolute;inset:0;display:grid;place-items:center}

/* Recenzii: culoarea textului după fundal (ținta e setată de theyas.js: data-tone) */
.ty-slider[data-tone="dark"] .ty-quote blockquote,.ty-slider[data-tone="dark"] .ty-quote figcaption b{color:#fff}
.ty-slider[data-tone="dark"] .ty-quote figcaption small{color:#d2c9b5}
.ty-slider[data-tone="dark"] .ty-av{background:#fff;color:#111}
.ty-slider[data-tone="light"] .ty-quote blockquote,.ty-slider[data-tone="light"] .ty-quote figcaption b{color:#111}
.ty-slider[data-tone="light"] .ty-quote figcaption small{color:#5b5448}
.ty-slider[data-tone="light"] .ty-av{background:#111;color:#fff}


/* ---- Pagina de proiect: antet compact (fără poza mare) + poze desktop / tabletă / telefon ---- */
body.single-project .ty-hero.e-con.e-flex{min-height:0;--padding-top:56px;--padding-bottom:28px;padding-block:56px 28px}
body.single-project .ty-hero.e-con.e-flex::before{background-image:radial-gradient(circle,rgba(226,185,95,.9) 1.1px,transparent 1.8px);background-size:14px 14px;background-color:transparent;background-position:0 0;background-repeat:repeat;-webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 100%);mask-image:linear-gradient(100deg,transparent 35%,#000 100%);opacity:.7}
body.single-project .ty-hero .ty-h1 .elementor-heading-title{font-size:clamp(2.2rem,5.4vw,4.2rem);line-height:1}
.ty-devs{background:#0c0a07;padding:8px 48px 40px;display:grid;grid-template-columns:minmax(0,1579fr) minmax(0,826fr) minmax(0,494fr);gap:22px;align-items:end;max-width:none}
.ty-devs[data-n="1"]{grid-template-columns:minmax(0,1fr);justify-items:center}
.ty-devs[data-n="1"] .ty-dev{width:min(100%,900px)}
.ty-devs[data-n="2"]{grid-template-columns:minmax(0,1579fr) minmax(0,826fr)}
.ty-dev{min-width:0;display:flex;flex-direction:column;gap:8px}
.ty-dev small{color:#c4bba7;font-weight:600;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.ty-fr{border:1px solid #3a3224;background:#1c1710;overflow:hidden}
.ty-dev--desk .ty-fr{border-radius:10px}
.ty-bar{display:flex;gap:5px;padding:7px 10px;background:#241d13}
.ty-bar i{width:7px;height:7px;border-radius:50%;background:#4a3f2b}
.ty-dev--tab .ty-fr{border-radius:16px;padding:6px;background:#241d13}
.ty-dev--pho .ty-fr{border-radius:20px;padding:5px;background:#241d13}
.ty-pic{display:block;overflow:hidden;background:#0c0a07}
.ty-pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.ty-dev--desk .ty-pic{aspect-ratio:1579/834}
.ty-dev--tab .ty-pic{aspect-ratio:826/800;border-radius:10px}
.ty-dev--pho .ty-pic{aspect-ratio:494/800;border-radius:15px}
@media(max-width:820px){
  .ty-devs{padding-inline:32px}
  .ty-devs,.ty-devs[data-n="2"]{grid-template-columns:minmax(0,826fr) minmax(0,494fr);gap:16px}
  .ty-devs .ty-dev--desk{grid-column:1/-1}
  .ty-devs[data-n="1"]{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:no-preference){.ty-dev{animation:ty-rise .5s both}}
@media(max-width:560px){.ty-devs{padding-inline:16px;padding-bottom:28px}}


/* ---------- Fundal dinamic de puncte (assets/js/dotwave.js) ----------
   Canvasul stă sub conținut; imaginile statice rămân doar ca rezervă (fără JavaScript / reduce motion nu le atinge). */
.ty-dots{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block;pointer-events:none;opacity:0;transition:opacity 1.8s ease}
.ty-dots.is-on{opacity:1}
.ty-cta-band.ty-dots-on,.ty-contact.ty-dots-on{isolation:isolate;position:relative;overflow:hidden}
.ty-hero.ty-dots-on.e-con.e-flex::before{background:linear-gradient(90deg,rgba(10,8,6,.88) 0%,rgba(10,8,6,.6) 40%,rgba(10,8,6,0) 78%)}
.ty-hero--person.ty-dots-on.e-con.e-flex::before{background:linear-gradient(90deg,var(--ink) 4%,rgba(10,8,6,.7) 40%,rgba(10,8,6,0) 90%)}
body .ty-cta-band.ty-dots-on.e-con.e-flex{background:var(--ink)}
body .ty-contact.ty-dots-on.e-con.e-flex{background:var(--ink)}
.ty-cta-band.ty-dots-on.e-con.e-flex::before,.ty-contact.ty-dots-on.e-con.e-flex::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(10,8,6,.85) 8%,rgba(10,8,6,.45) 55%,rgba(10,8,6,0) 88%)}
@media(max-width:700px){.ty-hero.ty-dots-on.e-con.e-flex::before{background:linear-gradient(180deg,rgba(10,8,6,.7),rgba(10,8,6,.25) 60%,var(--ink) 98%)}}
@media(prefers-reduced-motion:reduce){.ty-dots{transition:none}}


/* ---------- Galerie foto la servicii (inc/gallery.php) ---------- */
.ty-gallery{background:var(--bg);color:var(--fg);padding-block:clamp(64px,9vw,128px);border-top:1px solid var(--line)}
.ty-gal-eyebrow{margin:0 0 .8rem;font-size:1rem;font-weight:400;color:var(--muted)}
.ty-gal-title{margin:0 0 clamp(28px,4vw,52px);font-family:var(--f-display);font-size:clamp(2.4rem,6vw,5.4rem);font-weight:700;letter-spacing:-.03em;line-height:.98;color:inherit;text-wrap:balance}
.ty-gal-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:clamp(10px,1.4vw,18px);grid-auto-flow:dense}
.ty-gal-i{margin:0;min-width:0}
.ty-gal-a{display:block;position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#000;cursor:zoom-in}
.ty-gal-a img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .3s}
.ty-gal-a:hover img{transform:scale(1.05);opacity:.92}
.ty-gal-a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(min-width:900px){.ty-gal-grid.has-lead .ty-gal-i:first-child{grid-column:span 2;grid-row:span 2}.ty-gal-grid.has-lead .ty-gal-i:first-child .ty-gal-a{aspect-ratio:auto;height:100%;min-height:100%}}
.ty-gallery--empty{padding-block:48px}
.ty-gallery--empty p{margin:0;padding:1.4rem 1.6rem;border:2px dashed var(--green);border-radius:16px;color:var(--muted);font-size:.98rem}
.ty-lb{position:fixed;inset:0;z-index:100002;display:flex;align-items:center;justify-content:center;background:rgba(8,6,4,.95);padding:clamp(12px,4vw,56px)}
.ty-lb[hidden]{display:none}
.ty-lb-f{margin:0;display:flex;flex-direction:column;align-items:center;gap:.9rem;max-width:100%;max-height:100%;min-width:0}
.ty-lb-f img{max-width:min(92vw,1600px);max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:10px;background:#000;display:block}
.ty-lb-f figcaption{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;width:100%;color:#d8cfbb;font-size:.95rem}
.ty-lb-n{color:#8f8672;font-variant-numeric:tabular-nums;white-space:nowrap}
.ty-lb button{position:absolute;border:1px solid rgba(239,232,216,.28);background:rgba(20,16,12,.7);color:#faf6ee;width:48px;height:48px;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;transition:background .2s,border-color .2s}
.ty-lb button:hover{background:var(--green);border-color:var(--green);color:#17120a}
.ty-lb button:focus-visible{outline:3px solid #e8bd63;outline-offset:2px}
.ty-lb-x{top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px))}
.ty-lb-p{left:max(14px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
.ty-lb-nx{right:max(14px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}
.ty-lb-one .ty-lb-p,.ty-lb-one .ty-lb-nx{display:none}
html.ty-lb-on{overflow:hidden}
@media(max-width:700px){.ty-lb-p,.ty-lb-nx{top:auto;bottom:max(16px,env(safe-area-inset-bottom,0px));transform:none}.ty-lb-f img{max-height:70vh}}

/* ---------- Portofoliu (grila de proiecte): fundal negru la zona pozei ---------- */
body .ty-pf .ty-pf-img,body .ty-inv .ty-pf .ty-pf-img{background:#000}

/* Butoanele laterale (WhatsApp, hartă): dacă scriptul nu le activează (cache / JS amânat), apar oricum după 7 secunde. */
@keyframes tyFlIn{to{opacity:1;transform:none;pointer-events:auto}}
.ty-float:not(.is-on) .ty-fl{animation:tyFlIn .5s ease 7s forwards}
@media(prefers-reduced-motion:reduce){.ty-float:not(.is-on) .ty-fl{animation-duration:.01s}}
