/* Tiara Ophir Group website */
:root{
  --green:#2B7A22;--green-dark:#1C5A15;--brand:#3A9B2F;--lime:#B4F05A;--lime-2:#C8F77E;
  --forest:#0B2414;--night:#071A0E;--ink:#0F1A13;--muted:#55655A;--line:#E1E8DD;--bg:#F5F7F3;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;overflow-x:clip;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);line-height:1.5}
img{max-width:100%}
a{color:var(--green)}a:hover{color:var(--green-dark)}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
@media (max-width:640px){.wrap{padding:0 16px}}
.display{font-family:'Barlow Condensed',Inter,sans-serif;text-transform:uppercase;letter-spacing:.01em;font-weight:800}
.eyebrow{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.h2{margin:0;font-size:clamp(38px,5vw,56px);line-height:1}
.skip{position:absolute;left:-999px;top:0;background:var(--lime);color:var(--forest);padding:12px 16px;z-index:100}
.skip:focus{left:16px;top:16px}

/* Buttons and chips */
.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn-lime{background:var(--lime);color:var(--forest)}.btn-lime:hover{background:var(--lime-2);color:var(--forest)}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-dark);color:#fff}
.btn-ghost{background:transparent;color:#fff;border:1px solid #6F9479}.btn-ghost:hover{color:var(--lime);border-color:var(--lime)}
.btn-soft{background:#EEF3EC;color:var(--ink)}.btn-soft:hover{background:#E1EADD;color:var(--ink)}
.chip{min-height:44px;padding:0 20px;border-radius:999px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;background:transparent;color:#DDEBD8;border:1px solid #3C5F45}
.chip:hover{color:var(--lime);border-color:var(--lime)}
.chip.on,.chip[aria-pressed="true"],.chip[aria-current="page"]{background:var(--lime);color:var(--forest);border-color:var(--lime)}

/* Progress bar */
.progress{position:fixed;top:0;left:0;right:0;height:4px;background:var(--lime);transform-origin:0 50%;transform:scaleX(0);z-index:60}

/* Nav */
.nav{background:var(--night);color:#fff;position:sticky;top:0;z-index:40;transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 8px 24px rgba(0,0,0,.25)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.brand img{height:44px;width:auto}
.brand-name{display:flex;flex-direction:column;line-height:1}
.brand-name b{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:24px;font-weight:800}
.brand-name small{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#B9D6B0}
.menu{display:flex;gap:20px;align-items:center}
.menu a{color:#E8F2E4;text-decoration:none;font-size:15px;font-weight:500;padding:12px 4px}
.menu a:hover,.menu a[aria-current="page"]{color:var(--lime)}
.nav-actions{display:flex;gap:12px;align-items:center}
.lang{display:flex;border:1px solid #4E7558;border-radius:999px;padding:3px}
.lang button{min-height:36px;min-width:44px;border:0;border-radius:999px;font-family:inherit;font-weight:700;font-size:13px;cursor:pointer;background:transparent;color:#DDEBD8}
.lang button[aria-pressed="true"]{background:#fff;color:var(--forest)}
.menu-toggle{display:none;min-height:44px;min-width:44px;border:1px solid #4E7558;border-radius:12px;background:transparent;color:#fff;cursor:pointer}
@media (max-width:980px){
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--night);flex-direction:column;align-items:flex-start;gap:0;padding:8px 16px 20px;border-top:1px solid #1E3B28}
  .menu.open{display:flex}
  .menu a{width:100%}
  .nav-actions .btn{display:none}
}

/* Home hero */
.hero{position:relative;overflow:hidden;color:#fff;padding-bottom:72px;background-image:linear-gradient(rgba(7,26,14,.82),rgba(7,26,14,.92)),url(../img/hero.jpg);background-size:cover;background-position:center}
.hero-copy{position:relative;padding-top:64px}
.hero-copy .kicker{margin:0 0 16px;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime);font-weight:600}
.hero h1{margin:0;font-size:clamp(44px,6.4vw,92px);line-height:.95;max-width:980px}
.hero-copy .sub{margin:20px 0 0;font-size:19px;line-height:1.55;color:#D3E4CD;max-width:640px}
.wave{position:absolute;left:0;bottom:0;width:200%;height:220px;opacity:.35;animation:wave 28s linear infinite;pointer-events:none}
@keyframes wave{to{transform:translateX(-50%)}}

/* Company bands */
.bands{display:flex;flex-direction:column;gap:16px;margin-top:48px;position:relative}
.band{position:relative;display:block;border-radius:24px;overflow:hidden;background-size:cover;background-position:center 40%;text-decoration:none;color:#fff;transition:background-position .8s var(--ease),transform .3s}
.band:hover,.band:focus-visible{color:#fff;transform:translateX(6px);background-position:center 55%}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,14,.95) 35%,rgba(7,26,14,.45))}
.band-body{position:relative;min-height:150px;padding:28px 36px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;transition:min-height .5s var(--ease)}
.band.active .band-body{min-height:220px}
.band-num{font-family:'Barlow Condensed',sans-serif;font-size:72px;font-weight:800;line-height:1;color:var(--lime);width:80px}
.band-title{flex:1 1 min(300px,100%);display:flex;flex-direction:column;gap:8px}
.badge{align-self:flex-start;background:var(--lime);color:var(--forest);font-size:12px;font-weight:700;letter-spacing:.08em;padding:5px 12px;border-radius:999px}
.band h2{margin:0;font-size:40px;line-height:1}
.band p{margin:0;font-size:16px;color:#D9EAD3;font-weight:500}
.band ul{flex:1 1 min(340px,100%);margin:0;padding:0;list-style:none;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;font-size:15px}
.band.active ul{display:grid;animation:fadeUp .6s var(--ease) both}
.band li::before{content:"\25B8";color:var(--lime);margin-right:8px}
.band-go{display:flex;align-items:center;gap:14px;font-weight:600;font-size:15px;color:var(--lime)}
.band-go i{font-style:normal;width:56px;height:56px;border-radius:50%;border:1px solid var(--lime);display:flex;align-items:center;justify-content:center;font-size:22px;transition:background .3s,color .3s}
.band:hover .band-go i{background:var(--lime);color:var(--forest)}
.bg-tosb{background-image:url(../img/tosb.jpg)}
.bg-tossb{background-image:url(../img/tossb.jpg)}
.bg-totc{background-image:url(../img/totc.jpg)}
@media (max-width:640px){.band-body{padding:22px}.band-num{font-size:48px;width:auto}.band h2{font-size:30px}.band ul{grid-template-columns:1fr}}

/* Trust strip */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;gap:32px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:28px;padding-bottom:28px}
.trust .iso{height:64px;width:auto}
.vendors{display:flex;flex-direction:column;gap:8px;flex:1 1 min(420px,100%)}
.vendors>span{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5A6B5E}
.vendors div{display:flex;gap:28px;flex-wrap:wrap;font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;color:#2E3B32}
.tags{display:flex;gap:10px;flex-wrap:wrap}
.tags span{border:1px solid #CFDCCB;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}

/* Stats */
.stats{padding:88px 0}
.stats .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}
.stat b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:72px;font-weight:800;line-height:1;color:var(--green)}
.stat strong{display:block;margin-top:8px;font-size:16px}
.stat span{display:block;margin-top:4px;font-size:14px;color:var(--muted)}

/* Company page */
.subnav{background:var(--forest);border-top:1px solid #1E3B28}
.subnav .wrap{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;align-items:center}
.subnav .back{color:#B9D6B0;font-size:14px;text-decoration:none;margin-right:12px;min-height:44px;display:inline-flex;align-items:center}
.subnav .back:hover{color:var(--lime)}
.cohero{position:relative;background-size:cover;background-position:center;color:#fff}
.cohero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,14,.94) 30%,rgba(7,26,14,.55))}
.cohero .wrap{position:relative;padding-top:96px;padding-bottom:96px;display:flex;flex-direction:column;gap:18px}
.cohero h1{margin:0;font-size:clamp(44px,6vw,84px);line-height:.95;max-width:860px}
.cohero .tagline{margin:0;font-size:20px;color:var(--lime);font-weight:600}
.cohero .intro-text{margin:0;font-size:18px;line-height:1.6;color:#D3E4CD;max-width:660px}
.cohero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.facts{background:#fff;border-bottom:1px solid var(--line)}
.facts .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;padding-top:36px;padding-bottom:36px}
.facts b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:800;line-height:1;color:var(--green)}
.facts span{display:block;margin-top:6px;font-size:15px;color:#34433A}
.facts small{display:block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5A6B5E}
.facts strong{display:block;margin-top:8px;font-size:18px}
.section{padding:96px 0 0;overflow-x:clip}
.section:last-of-type{padding-bottom:96px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:36px}
.card{background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);transition:transform .25s,box-shadow .25s;cursor:pointer;text-align:left;padding:0;font-family:inherit;color:inherit;font-size:inherit}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(15,40,20,.12)}
.card img{width:100%;height:200px;object-fit:cover;display:block}
.card-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px}
.card-body b{font-size:19px;line-height:1.25}
.card-body span{font-size:14px;line-height:1.5;color:var(--muted)}
.card-body em{font-style:normal;font-size:14px;font-weight:600;color:var(--green);margin-top:4px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-rows:240px;gap:16px;margin-top:36px}
.shot{position:relative;border:0;padding:0;border-radius:18px;overflow:hidden;cursor:pointer;background:#DDE6D9;font-family:inherit}
.shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.shot:hover img{transform:scale(1.06)}
.shot span{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 14px;background:linear-gradient(180deg,transparent,rgba(7,26,14,.85));color:#fff;font-size:14px;font-weight:600;text-align:left}
.clients-box{background:#fff;border:1px solid var(--line);border-radius:28px;padding:40px;display:flex;justify-content:center;margin-top:32px}
.clients-box img{width:100%;height:auto;display:block}
.careers{display:flex;flex-wrap:wrap;border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.careers img{flex:1 1 min(380px,100%);min-height:300px;max-height:420px;object-fit:cover;width:100%}
.careers div{flex:1 1 min(420px,100%);padding:48px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.careers h2{margin:0;font-size:48px;line-height:1}
.careers p{margin:0;font-size:16px;line-height:1.6;color:#34433A}
@media (max-width:640px){.careers div{padding:28px}.clients-box{padding:20px}}

/* Contact */
.contact{background:var(--forest);color:#fff;padding:96px 0;overflow-x:clip}
.contact .wrap{display:flex;gap:56px;flex-wrap:wrap}
.contact-info{flex:1 1 min(400px,100%);display:flex;flex-direction:column;gap:18px}
.contact-info .eyebrow{color:var(--lime)}
.contact-info p{margin:0;font-size:17px;line-height:1.6;color:#C9DCC3}
.offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.office{border:1px solid #2D4D37;border-radius:16px;padding:16px 18px}
.office b{display:block;font-size:15px}
.office small{display:block;font-size:13px;color:#A9C3A2;margin-top:2px}
.office a{display:block;font-size:14px;margin-top:8px;color:#DDEBD8;text-decoration:none}
.office a:hover{color:var(--lime)}
@media (max-width:520px){.offices{grid-template-columns:1fr}}
.form-box{flex:1 1 min(460px,100%);background:#12341F;border-radius:24px;padding:32px}
.form-box form{display:flex;flex-direction:column;gap:18px}
.form-box fieldset{border:0;padding:0;margin:0}
.form-box legend{font-size:14px;font-weight:600;color:#DDEBD8;margin-bottom:10px}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#DDEBD8}
.field input,.field textarea{min-height:48px;border-radius:12px;border:1px solid #3C5F45;background:#0F2E1A;color:#fff;padding:12px 14px;font-family:inherit;font-size:15px}
.field input:focus,.field textarea:focus{outline:2px solid var(--lime);outline-offset:1px}
.radio-chips{display:flex;gap:8px;flex-wrap:wrap}
.radio-chips input{position:absolute;opacity:0;pointer-events:none}
.radio-chips label{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #3C5F45;color:#DDEBD8;display:inline-flex;align-items:center;font-size:15px;font-weight:600;cursor:pointer}
.radio-chips input:checked+label{background:var(--lime);color:var(--forest);border-color:var(--lime)}
.radio-chips input:focus-visible+label{outline:2px solid #fff;outline-offset:2px}
.form-note{font-size:13px;color:#A9C3A2;margin:0}
.thanks{display:none;flex-direction:column;gap:12px;min-height:320px;justify-content:center;align-items:flex-start}
.thanks.show{display:flex}
.thanks b{font-family:'Barlow Condensed',sans-serif;font-size:44px;text-transform:uppercase;color:var(--lime)}
.thanks p{margin:0;font-size:17px;line-height:1.6;color:#DDEBD8}

/* Footer */
.footer{background:var(--night);color:#A9C3A2;padding:40px 0}
.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:14px;line-height:1.6}
.footer .left{display:flex;gap:14px;align-items:center}
.footer img{height:36px;width:auto}
.footer a{color:#DDEBD8;text-decoration:none}.footer a:hover{color:var(--lime)}

/* Modal and lightbox */
.modal{position:fixed;inset:0;background:rgba(5,18,10,.6);display:none;align-items:center;justify-content:center;padding:16px;z-index:70}
.modal.open{display:flex}
.modal-card{background:#fff;border-radius:24px;overflow:hidden;max-width:760px;width:100%;max-height:90vh;overflow-y:auto;animation:fadeUp .5s var(--ease) both}
.modal-card img{width:100%;height:280px;object-fit:cover;display:block}
.modal-body{padding:28px 32px 32px;display:flex;flex-direction:column;gap:14px}
.modal-body h3{margin:0;font-size:40px;line-height:1}
.modal-body p{margin:0;font-size:16px;line-height:1.6;color:#34433A}
.modal-body ul{margin:0;padding-left:20px;font-size:15px;line-height:1.7}
.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.lightbox{background:rgba(5,18,10,.9);flex-direction:column;gap:16px}
.lightbox img{max-width:100%;max-height:78vh;border-radius:16px;display:block;animation:fadeUp .4s var(--ease) both}
.lightbox-bar{display:flex;gap:16px;align-items:center;color:#fff;flex-wrap:wrap;justify-content:center}
.lightbox-bar span{font-size:16px;font-weight:600}
body.locked{overflow:hidden}

/* Intro (every page) */
.intro{position:fixed;inset:0;z-index:90;background:var(--night);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;text-align:center;padding:0 16px;animation:introOut .8s cubic-bezier(.7,0,.3,1) 2s forwards}
.intro img{height:120px;width:auto;animation:introLogo 1.1s var(--ease) both}
.intro b{font-family:'Barlow Condensed',sans-serif;font-size:clamp(36px,6vw,56px);font-weight:800;letter-spacing:.04em;color:#fff;text-transform:uppercase;line-height:1;animation:introText .8s var(--ease) .5s both}
.intro small{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--lime);animation:introText .8s var(--ease) .8s both}
.intro .bar{width:220px;height:4px;border-radius:4px;background:#1E3B28;overflow:hidden}
.intro .bar span{display:block;height:100%;background:var(--lime);transform-origin:0 50%;animation:introBar 1.6s cubic-bezier(.6,0,.2,1) .3s both}
.intro.done{display:none}
@keyframes introLogo{from{opacity:0;transform:scale(.6) rotate(-20deg)}to{opacity:1;transform:none}}
@keyframes introText{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes introBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes introOut{to{transform:translateY(-100%);visibility:hidden}}

/* Entrance after intro */
.enter{animation:fadeUp .8s var(--ease) both}
.enter-left{animation:bandIn .9s var(--ease) both}
.d1{animation-delay:2.3s}.d2{animation-delay:2.45s}.d3{animation-delay:2.6s}.d4{animation-delay:2.75s}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes bandIn{from{opacity:0;transform:translateX(-80px)}to{opacity:1;transform:none}}

/* Scroll reveal (JS adds .in) */
.js .reveal{opacity:0;transform:translateY(50px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal-left{opacity:0;transform:translateX(-70px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal-right{opacity:0;transform:translateX(70px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal-zoom{opacity:.2;transform:scale(.92);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .stagger>*{opacity:0;transform:translateY(50px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .in,.js .stagger.in>*{opacity:1;transform:none}
.js .stagger.in>*:nth-child(2){transition-delay:.08s}.js .stagger.in>*:nth-child(3){transition-delay:.16s}
.js .stagger.in>*:nth-child(4){transition-delay:.24s}.js .stagger.in>*:nth-child(5){transition-delay:.32s}
.js .stagger.in>*:nth-child(6){transition-delay:.4s}.js .stagger.in>*:nth-child(7){transition-delay:.48s}.js .stagger.in>*:nth-child(8){transition-delay:.56s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .intro{display:none}
  .wave,.enter,.enter-left,.band.active ul,.modal-card,.lightbox img{animation:none}
  .js .reveal,.js .reveal-left,.js .reveal-right,.js .reveal-zoom,.js .stagger>*{opacity:1;transform:none;transition:none}
  .band,.card,.shot img,.band-body{transition:none}
}
