:root{
  --ink:#11110f;
  --ink-2:#1b1b18;
  --paper:#ffffff;
  --paper-2:#f5f4ef;
  --paper-3:#eceae3;
  --gold:#d9aa17;
  --gold-deep:#aa7f00;
  --text:#1b1b18;
  --muted:#6d6b64;
  --line:#dddcd6;
  --line-dark:#35342f;
  --max:1280px;
  --header:112px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;overflow-x:hidden}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{color:inherit}
::selection{background:var(--gold);color:#111}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:24px;z-index:9999;background:#111;color:#fff;padding:12px 16px}.skip-link:focus{top:12px}
.progress-line{position:fixed;left:0;top:0;width:0;height:2px;background:var(--gold);z-index:1000}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);transition:box-shadow .25s var(--ease),background .25s}
.site-header.scrolled{box-shadow:0 8px 30px rgba(0,0,0,.06);background:rgba(255,255,255,.985)}
.navbar{height:var(--header);display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;min-width:205px}.brand img{width:194px;height:48px;object-fit:contain;object-position:left center}
.nav-links{margin-left:auto;display:flex;align-items:stretch;height:100%;gap:2px}
.nav-links a{position:relative;display:flex;align-items:center;padding:0 13px;font-size:.79rem;font-weight:700;letter-spacing:.01em;color:#3e3d39}
.nav-links a:after{content:"";position:absolute;left:13px;right:13px;bottom:-1px;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}
.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}
.nav-links a.active{color:#111}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-contact{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;padding:12px 17px;font-size:.76rem;font-weight:700;min-height:44px;transition:background .2s}.nav-contact:hover{background:var(--gold);color:#111}
.menu-toggle{display:none;width:44px;height:44px;background:#111;border:0;position:relative;cursor:pointer}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{position:absolute;display:block;width:18px;height:2px;background:#fff;left:13px;top:21px;content:""}.menu-toggle span:before{left:0;top:-6px}.menu-toggle span:after{left:0;top:6px}

/* Typography */
.kicker{display:inline-block;font-size:.69rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.kicker.inverse{color:#f0c33d}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:700;letter-spacing:-.045em}
h1{font-size:clamp(4rem,7.1vw,7rem);line-height:.9;margin-bottom:28px}
h2{font-size:clamp(2.8rem,4.9vw,5.1rem);line-height:.95;margin:14px 0 0}
h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}
.lead{font-size:1.15rem;line-height:1.65;color:var(--muted)}
.section{padding:108px 0}
.section.alt{background:var(--paper-2)}
.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.5fr);gap:80px;align-items:end;margin-bottom:54px}
.section-heading p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.65}
.section-link{font-size:.83rem;font-weight:800;padding-bottom:5px;border-bottom:1px solid currentColor;align-self:end;justify-self:start}
.section-link:hover{color:var(--gold-deep)}
.section-link.light{color:#fff}

.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:50px;padding:13px 20px;border:1px solid transparent;border-radius:2px;font-size:.8rem;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.button:hover{transform:translateY(-1px)}
.button.gold{background:var(--gold);color:#111}.button.gold:hover{background:#efc332}
.button.dark{background:#111;color:#fff}.button.dark:hover{background:var(--gold);color:#111}
.button.ghost{background:transparent;border-color:rgba(255,255,255,.65);color:#fff}.button.ghost:hover{background:#fff;color:#111}
.text-button{padding:0 0 5px;border:0;border-bottom:1px solid currentColor;background:transparent;font-size:.83rem;font-weight:800;cursor:pointer}.text-button.light{color:#fff}

/* Home hero */
.home-hero{position:relative;min-height:calc(84svh + 76px);background:#050505;color:#fff;overflow:visible}
.hero-video{position:absolute;inset:0 0 76px;width:100%;height:calc(100% - 76px);object-fit:cover;object-position:center;transform:scale(calc(1 + var(--hero-scroll,0)*.035));transition:transform .1s linear}
.hero-overlay{position:absolute;inset:0 0 76px;background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.61) 34%,rgba(0,0,0,.28) 60%,rgba(0,0,0,.13) 100%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}
.hero-layout{position:relative;min-height:calc(84svh - 6px);display:flex;align-items:center;padding:68px 0 142px}
.hero-copy{max-width:820px;transform:translateY(calc(var(--hero-scroll,0)*-24px));opacity:calc(1 - var(--hero-scroll,0)*.28)}
.hero-copy h1{font-size:clamp(4.8rem,8.2vw,8.2rem);line-height:.84;margin:18px 0 30px;letter-spacing:-.065em;max-width:900px}.hero-copy h1 em{font-style:normal;color:#f1c12d}
.hero-copy p{max-width:690px;font-size:1.11rem;line-height:1.65;color:#efefec;margin-bottom:0;text-shadow:0 1px 20px rgba(0,0,0,.28)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-badge{position:absolute;right:4px;top:92px;width:116px;height:116px;border:1px solid rgba(255,255,255,.58);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(0,0,0,.18);backdrop-filter:blur(6px)}
.hero-badge span,.hero-badge small{font-size:.58rem;letter-spacing:.15em;font-weight:800}.hero-badge strong{font-size:1.65rem;line-height:1;margin:4px 0;color:#f2c334}
.sound-toggle{position:absolute;right:0;bottom:122px;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.35);color:#fff;padding:9px 12px;display:flex;align-items:center;gap:8px;font-size:.68rem;font-weight:700;cursor:pointer;backdrop-filter:blur(4px)}
.sound-toggle i{width:7px;height:7px;border-radius:50%;background:#f0c12e}
.hero-stories{position:absolute;z-index:5;left:50%;bottom:0;transform:translate(-50%,50%);display:grid;grid-template-columns:repeat(3,1fr);background:#fff;color:#111;box-shadow:0 18px 48px rgba(0,0,0,.14)}
.hero-stories a{padding:24px 28px 25px;border-right:1px solid var(--line);min-height:132px;transition:background .2s}
.hero-stories a:last-child{border-right:0}.hero-stories a:hover{background:var(--paper-2)}
.hero-stories small{display:block;color:var(--gold-deep);font-size:.63rem;letter-spacing:.12em;font-weight:800;margin-bottom:9px}
.hero-stories strong{display:block;font-size:1.1rem;letter-spacing:-.02em;margin-bottom:9px}.hero-stories span{font-size:.77rem;color:var(--muted)}

/* Intro */
.intro-section{padding-top:152px}
.intro-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:100px;align-items:start}
.intro-grid h2{max-width:760px}.intro-right{padding-top:16px}.intro-right .lead{margin-bottom:42px}
.stat-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat-line>div{padding:24px 18px 22px 0;border-right:1px solid var(--line)}.stat-line>div+div{padding-left:22px}.stat-line>div:last-child{border-right:0}
.stat-line strong{display:block;font-size:2rem;letter-spacing:-.04em}.stat-line span{display:block;font-size:.72rem;color:var(--muted);margin-top:4px}

/* Capability */
.capability-section{background:var(--paper-2)}
.capability-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:start}
.capability-visual{position:sticky;top:calc(var(--header) + 26px)}
.capability-image-stack{position:relative;height:min(67vh,670px);min-height:520px;background:#ddd;overflow:hidden}
.capability-image-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .45s var(--ease),transform .6s var(--ease)}
.capability-image-stack img.active{opacity:1;transform:scale(1)}
.capability-caption{display:block;font-size:.63rem;letter-spacing:.15em;font-weight:800;margin-top:10px;color:#77736c}
.capability-list{border-top:1px solid #c9c7c0}
.capability-row{display:grid;grid-template-columns:48px 1fr 30px;gap:20px;padding:27px 0;border-bottom:1px solid #c9c7c0;align-items:start;transition:padding .25s var(--ease),color .2s,background .2s}
.capability-row>span{font-size:.66rem;letter-spacing:.12em;font-weight:800;color:#8b877e;padding-top:6px}.capability-row h3{margin:0 0 8px;font-size:1.72rem}.capability-row p{margin:0;color:var(--muted);font-size:.91rem;max-width:650px}.capability-row>b{font-size:1.2rem;font-weight:400;opacity:.4;transition:transform .2s,opacity .2s}.capability-row:hover,.capability-row.active{padding-left:12px;color:#000}.capability-row:hover>b,.capability-row.active>b{transform:translate(3px,-3px);opacity:1;color:var(--gold-deep)}

/* Dark feature */
.dark-feature{background:#11110f;color:#fff;padding:108px 0}
.dark-feature-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:78px;align-items:center}
.dark-feature-copy h2{font-size:clamp(3rem,5vw,5.2rem);margin:16px 0 28px;max-width:620px}.dark-feature-copy p{color:#c9c7c0;font-size:1.05rem;line-height:1.7;max-width:610px;margin-bottom:28px}
.dark-feature-media{position:relative;overflow:hidden;min-height:530px}.dark-feature-media img{width:100%;height:100%;min-height:530px;object-fit:cover;transition:transform .7s var(--ease)}.dark-feature-media:hover img{transform:scale(1.02)}
.media-note{position:absolute;left:0;bottom:0;background:#fff;color:#111;padding:20px 24px;width:min(70%,430px)}.media-note small{font-size:.62rem;letter-spacing:.15em;color:var(--gold-deep);font-weight:800}.media-note strong{display:block;font-size:1rem;margin-top:5px}

/* Projects */
.project-editorial{display:grid;grid-template-columns:1.28fr .72fr;gap:14px}
.project-primary,.project-small{position:relative;overflow:hidden;background:#111;color:#fff}.project-primary{min-height:690px}.project-small{min-height:338px}.project-side{display:grid;gap:14px}.project-primary img,.project-small img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .65s var(--ease)}.project-primary:hover img,.project-small:hover img{transform:scale(1.025)}
.project-primary:after,.project-small:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),transparent 58%)}
.project-primary>div,.project-small>div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.project-primary small,.project-small small{font-size:.61rem;letter-spacing:.15em;font-weight:800;color:#f3c33a}.project-primary h3,.project-small h3{margin:8px 0 0;max-width:660px}.project-primary h3{font-size:2.25rem}.project-small h3{font-size:1.32rem;max-width:380px}

/* Clients */
.clients-section{padding:42px 0 56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.clients-head{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#77736e;margin-bottom:30px}
.client-logos{display:grid;grid-template-columns:repeat(8,1fr);gap:24px;align-items:center}.client-logos img{width:100%;height:54px;object-fit:contain;filter:grayscale(1);opacity:.58;transition:filter .2s,opacity .2s}.client-logos img:hover{filter:none;opacity:1}

/* Process */
.process-section{background:#fff}.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bbb9b3;border-bottom:1px solid #bbb9b3}.process-line article{padding:28px 28px 30px 0;border-right:1px solid var(--line)}.process-line article+article{padding-left:28px}.process-line article:last-child{border-right:0}.process-line span{display:block;font-size:.63rem;font-weight:800;letter-spacing:.15em;color:var(--gold-deep);margin-bottom:30px}.process-line h3{font-size:1.38rem;margin-bottom:12px}.process-line p{margin:0;color:var(--muted);font-size:.89rem;line-height:1.65}

/* Team home */
.team-section{background:#0d0d0c;color:#fff;padding:106px 0 92px;overflow:hidden}
.team-heading{display:grid;grid-template-columns:1fr .55fr;gap:80px;align-items:end;margin-bottom:48px}.team-heading h2{margin-top:12px}.team-heading p{margin:0;color:#bbb9b2;max-width:520px;line-height:1.7}
.team-group{position:relative;overflow:hidden;aspect-ratio:16/6.8;background:#222}.team-group img{width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:saturate(.92)}.team-group:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.58),transparent 45%)}
.team-group-copy{position:absolute;z-index:2;left:26px;bottom:23px}.team-group-copy span{display:block;font-size:.59rem;letter-spacing:.16em;font-weight:800;color:#e8c345}.team-group-copy strong{display:block;font-size:1.1rem;margin-top:6px}
.team-rail-viewport{width:100%;overflow:hidden;margin-top:14px}.team-rail{display:flex;gap:10px;width:max-content;padding-left:max(24px,calc((100vw - var(--max))/2));transform:translate3d(var(--team-rail-x,0px),0,0);will-change:transform}.team-rail figure{width:260px;height:336px;margin:0;background:#e8e7e1;overflow:hidden;flex:0 0 auto}.team-rail figure:nth-child(3n+2){height:304px;margin-top:32px}.team-rail img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .28s,transform .45s var(--ease)}.team-rail figure:hover img{filter:none;transform:scale(1.02)}
.team-footer{display:flex;justify-content:flex-end;margin-top:34px}

/* CTA */
.cta-section{padding:88px 0;background:#f0eee7}
.cta-grid{display:grid;grid-template-columns:1fr .56fr;gap:90px;align-items:end}.cta-grid h2{font-size:clamp(3.2rem,5vw,5rem);max-width:760px}.cta-grid p{font-size:1.02rem;color:var(--muted);line-height:1.7;margin-bottom:24px}

/* Footer */
.site-footer{background:#11110f;color:#fff;padding:68px 0 22px}.footer-grid{display:grid;grid-template-columns:1.25fr .72fr .72fr .95fr;gap:60px}.footer-lead img{width:92px;height:56px;object-fit:contain;object-position:left}.footer-lead p{max-width:330px;color:#aaa8a1;font-size:.9rem;line-height:1.65;margin-top:18px}.footer-nav{display:flex;flex-direction:column;gap:10px}.footer-nav h4{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#d6b035;margin:0 0 10px}.footer-nav a,.footer-nav span{font-size:.82rem;color:#c7c5bf}.footer-nav a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #302f2b;margin-top:58px;padding-top:20px;font-size:.67rem;color:#8f8d87;letter-spacing:.05em}
.whatsapp{position:fixed;right:20px;bottom:20px;z-index:80;background:#111;color:#fff;display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 24px rgba(0,0,0,.18);font-size:.74rem;font-weight:800}.whatsapp:hover{background:#d9aa17;color:#111}.whatsapp b{font-size:1rem}

/* Internal hero */
.page-hero{padding:66px 0 78px;background:#fff}.split-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.page-hero-copy{padding:44px 0}.page-hero-copy h1{font-size:clamp(4rem,6.7vw,6.7rem);margin:16px 0 26px;max-width:720px}.page-hero-copy p{font-size:1.08rem;color:var(--muted);line-height:1.7;max-width:620px}.page-hero-media{height:600px;overflow:hidden;background:#e5e3dc}.page-hero-media img{width:100%;height:100%;object-fit:cover;transform:translateY(calc(var(--page-parallax,0px)))}.page-hero-media.contain{background:var(--paper-2);padding:36px}.page-hero-media.contain img{object-fit:contain}
.company-hero{padding:42px 0 0;background:#fff}.company-hero-media{position:relative;height:min(74vh,720px);overflow:hidden;background:#ddd}.company-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 34%}.company-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.12) 62%,transparent)}.company-hero-copy{position:absolute;z-index:2;left:48px;bottom:46px;color:#fff}.company-hero-copy h1{font-size:clamp(4rem,6.6vw,6.5rem);margin:14px 0 0}

/* Solutions */
.solution-detail-list{border-top:1px solid var(--line)}
.solution-detail{display:grid;grid-template-columns:56px 1fr .82fr;gap:46px;padding:58px 0;border-bottom:1px solid var(--line);align-items:center}
.solution-detail.reverse{grid-template-columns:56px 1fr .82fr}.solution-detail.reverse img{order:2}.solution-detail.reverse .solution-copy{order:1}
.solution-no{align-self:start;font-size:.65rem;letter-spacing:.12em;font-weight:800;color:var(--gold-deep);padding-top:6px}.solution-copy>span{font-size:.62rem;letter-spacing:.15em;font-weight:800;color:var(--gold-deep)}.solution-copy h3{font-size:2.65rem;margin:9px 0 18px}.solution-copy p{color:var(--muted);line-height:1.7;max-width:600px}.solution-copy ul{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}.solution-copy li{font-size:.83rem;padding-top:8px;border-top:1px solid var(--line)}.solution-detail>img{width:100%;height:340px;object-fit:cover}

/* Project archive */
.project-filter{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:34px}.filter-btn{background:#fff;border:1px solid #c9c7c0;padding:10px 14px;font-size:.74rem;font-weight:800;cursor:pointer}.filter-btn:hover,.filter-btn.active{background:#111;color:#fff;border-color:#111}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 16px}.project-card{border-bottom:1px solid var(--line);padding-bottom:22px}.project-card.hidden{display:none}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in;transition:transform .35s var(--ease)}.project-card:hover img{transform:scale(.99)}.project-card div{padding-top:16px}.project-card small{font-size:.61rem;letter-spacing:.13em;color:var(--gold-deep);font-weight:800}.project-card h3{font-size:1.45rem;margin:8px 0 10px}.project-card p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.6}

/* Products */
.procurement-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.procurement-grid h2{margin-top:14px}.procurement-categories{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.procurement-categories span{padding:20px 0;border-bottom:1px solid var(--line);font-size:.92rem;font-weight:700}.procurement-categories span:nth-child(odd){border-right:1px solid var(--line);padding-right:24px}.procurement-categories span:nth-child(even){padding-left:24px}

/* Company */
.value-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c8c6bf;border-bottom:1px solid #c8c6bf}.value-list article{padding:28px 25px 32px 0;border-right:1px solid var(--line)}.value-list article+article{padding-left:25px}.value-list article:last-child{border-right:0}.value-list span{font-size:.63rem;letter-spacing:.13em;font-weight:800;color:var(--gold-deep)}.value-list h3{font-size:1.42rem;margin:28px 0 12px}.value-list p{color:var(--muted);font-size:.88rem;line-height:1.65;margin:0}
.company-field-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:78px;align-items:center}.company-field-grid img{width:100%;height:620px;object-fit:cover}.company-field-grid h2{margin:14px 0 28px}.company-field-grid .lead{max-width:520px}
.team-company{background:#11110f;color:#fff;padding:106px 0}.team-company-head{display:grid;grid-template-columns:1fr .55fr;gap:80px;align-items:end;margin-bottom:44px}.team-company-head p{color:#b9b7b0;margin:0;line-height:1.7}.team-company-group{height:560px;overflow:hidden;margin-bottom:12px}.team-company-group img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.portrait-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.portrait-grid figure{margin:0;height:380px;overflow:hidden;background:#e8e7e1}.portrait-grid img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .25s,transform .45s var(--ease)}.portrait-grid figure:hover img{filter:none;transform:scale(1.02)}

/* Community */
.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.community-story{min-height:480px;background:var(--paper-2);padding:52px;display:flex;flex-direction:column;justify-content:flex-end}.community-story.image{padding:0;overflow:hidden}.community-story.image img{width:100%;height:100%;min-height:480px;object-fit:cover}.community-story>span{font-size:.62rem;letter-spacing:.14em;color:var(--gold-deep);font-weight:800}.community-story h2{font-size:3.8rem;margin:12px 0 20px}.community-story p{color:var(--muted);font-size:1rem;line-height:1.7;margin:0}

/* Contact */
.contact-hero{padding:88px 0;background:#f3f1eb}.contact-hero-grid{display:grid;grid-template-columns:1fr .72fr;gap:90px;align-items:end}.contact-hero h1{margin:16px 0 26px}.contact-hero p{font-size:1.06rem;color:var(--muted);max-width:650px}.contact-direct{border-top:1px solid #c7c5bf}.contact-direct>a,.contact-direct>div{display:block;padding:18px 0;border-bottom:1px solid #c7c5bf}.contact-direct small{display:block;font-size:.59rem;letter-spacing:.14em;color:var(--gold-deep);font-weight:800;margin-bottom:4px}.contact-direct strong{font-size:.92rem;line-height:1.5}.quote-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.quote-intro h2{margin:14px 0 26px}.quote-intro>p{color:var(--muted);line-height:1.7}.quote-notes{margin-top:30px;border-top:1px solid var(--line)}.quote-notes span{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:.78rem;color:#5f5c56}
.quote-form{display:grid;gap:22px}.field{display:grid;gap:18px}.field.two{grid-template-columns:1fr 1fr}.field label{font-size:.7rem;font-weight:800;letter-spacing:.04em;color:#55524c}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid #a7a49d;background:transparent;padding:12px 0 13px;color:#111;outline:none}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold-deep)}.quote-form .button{justify-self:start}
.contact-bottom{background:#111;color:#fff;padding:88px 0}.contact-bottom-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}.contact-bottom h2{font-size:4.2rem;margin-top:14px}.contact-bottom-grid>div:last-child{border-top:1px solid #3a3934}.contact-bottom article{display:grid;grid-template-columns:46px .9fr 1.1fr;gap:18px;padding:22px 0;border-bottom:1px solid #3a3934}.contact-bottom article span{font-size:.62rem;color:#d7ad2a;font-weight:800}.contact-bottom article h3{font-size:1rem;margin:0}.contact-bottom article p{font-size:.84rem;color:#aaa8a1;margin:0;line-height:1.6}

/* Modal and lightbox */
.video-modal,.lightbox{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.94);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.25s}.video-modal.open,.lightbox.open{opacity:1;visibility:visible}.video-modal-inner{position:relative;width:min(92vw,1100px);background:#000}.video-modal video{width:100%;max-height:82vh}.modal-close{position:absolute;right:0;top:-48px;width:42px;height:42px;background:#fff;color:#111;border:0;font-size:1.6rem;cursor:pointer;z-index:2}.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain}.lightbox .modal-close{position:fixed;right:24px;top:24px}

/* Reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}

@media(max-width:1100px){
  :root{--header:104px}
  .navbar{gap:16px}.brand{min-width:160px}.brand img{width:160px}.nav-links a{padding:0 8px;font-size:.72rem}.nav-contact{display:none}
  .section{padding:86px 0}.section-heading{gap:40px}.intro-grid,.capability-layout,.dark-feature-grid,.quote-grid,.contact-hero-grid,.company-field-grid{gap:54px}
  .hero-copy h1{font-size:clamp(4.4rem,9.1vw,7.2rem)}
  .client-logos{grid-template-columns:repeat(4,1fr);row-gap:30px}.project-primary{min-height:580px}.project-small{min-height:283px}
  .team-rail figure{width:230px;height:304px}.team-rail figure:nth-child(3n+2){height:278px}
  .split-hero-grid{gap:48px}.page-hero-media{height:520px}.solution-detail{grid-template-columns:48px 1fr .72fr;gap:30px}.solution-copy h3{font-size:2.25rem}
}

@media(max-width:980px){
  .container{width:min(calc(100% - 32px),var(--max))}
  .nav-links{position:fixed;left:0;right:0;top:var(--header);height:auto;background:#fff;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;padding:10px 16px 18px}.nav-links.open{display:flex}.nav-links a{height:48px;border-bottom:1px solid #eee}.nav-links a:after{display:none}.menu-toggle{display:block}
  .brand img{width:155px}
  h1{font-size:3.7rem}h2{font-size:3rem}
  .home-hero{min-height:820px}.hero-video,.hero-overlay{inset:0;height:100%}.hero-layout{min-height:820px;padding:54px 0 230px}.hero-copy{max-width:690px}.hero-copy h1{font-size:4.7rem}.hero-badge{right:0;top:64px;width:94px;height:94px}.sound-toggle{bottom:186px}.hero-stories{bottom:28px;transform:translate(-50%,0);grid-template-columns:1fr}.hero-stories a{min-height:auto;padding:15px 18px}.hero-stories span{display:none}
  .intro-section{padding-top:98px}.intro-grid,.section-heading,.team-heading,.team-company-head,.cta-grid,.contact-hero-grid,.quote-grid,.contact-bottom-grid,.split-hero-grid,.company-field-grid,.procurement-grid{grid-template-columns:1fr;gap:38px}
  .section-heading p{max-width:640px}.capability-layout{grid-template-columns:1fr;gap:28px}.capability-visual{position:relative;top:auto}.capability-image-stack{height:450px;min-height:0}.capability-row{grid-template-columns:42px 1fr 24px}
  .dark-feature-grid{grid-template-columns:1fr;gap:40px}.dark-feature-media,.dark-feature-media img{min-height:420px}
  .project-editorial{grid-template-columns:1fr}.project-primary{min-height:520px}.project-side{grid-template-columns:1fr 1fr}.project-small{min-height:300px}
  .process-line{grid-template-columns:1fr 1fr}.process-line article:nth-child(2){border-right:0}.process-line article:nth-child(3){padding-left:0}.process-line article{border-bottom:1px solid var(--line)}
  .team-group{aspect-ratio:16/8.5}.team-rail{transform:none!important;overflow:visible}.team-rail-viewport{overflow-x:auto}.team-rail{padding-left:16px;padding-right:16px}.team-rail figure{width:220px;height:292px}.team-footer{justify-content:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr;gap:42px}.footer-lead{grid-column:1/-1}.footer-bottom{gap:20px}
  .page-hero{padding-top:42px}.page-hero-copy{padding:12px 0}.page-hero-media{height:440px}.company-hero-media{height:560px}.company-hero-copy{left:28px;bottom:30px}
  .solution-detail,.solution-detail.reverse{grid-template-columns:44px 1fr}.solution-detail>img{grid-column:2/3;height:360px}.solution-detail.reverse img{order:3}.solution-copy{order:2}.solution-detail.reverse .solution-copy{order:2}
  .project-grid{grid-template-columns:1fr 1fr}.value-list{grid-template-columns:1fr 1fr}.value-list article:nth-child(2){border-right:0}.value-list article:nth-child(3){padding-left:0}.value-list article{border-bottom:1px solid var(--line)}
  .company-field-grid img{height:520px}.portrait-grid{grid-template-columns:repeat(2,1fr)}.team-company-group{height:480px}
  .community-story{min-height:390px;padding:34px}.community-story.image img{min-height:390px}.community-story h2{font-size:3rem}
  .contact-bottom h2{font-size:3.2rem}.contact-bottom article{grid-template-columns:40px 1fr}.contact-bottom article p{grid-column:2}
}

@media(max-width:600px){
  .container{width:min(calc(100% - 24px),var(--max))}.section{padding:70px 0}
  h1{font-size:3.15rem}h2{font-size:2.55rem}.lead{font-size:1rem}
  .navbar{height:68px}.brand img{width:145px}.menu-toggle{width:40px;height:40px}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{left:11px;top:19px}
  :root{--header:68px}
  .home-hero{min-height:780px}.hero-layout{min-height:780px;padding-top:46px}.hero-copy h1{font-size:3.85rem;line-height:.88}.hero-copy p{font-size:.96rem}.hero-badge{display:none}.sound-toggle{right:0;bottom:188px}.hero-actions{gap:8px}.button{min-height:46px;padding:12px 16px}
  .hero-stories{width:calc(100% - 24px)}.hero-stories a{padding:13px 14px}.hero-stories strong{font-size:.95rem}
  .intro-grid{gap:28px}.stat-line{grid-template-columns:1fr}.stat-line>div{border-right:0;border-bottom:1px solid var(--line);padding:17px 0}.stat-line>div+div{padding-left:0}.stat-line>div:last-child{border-bottom:0}
  .section-heading{margin-bottom:36px}.capability-image-stack{height:360px}.capability-row{grid-template-columns:34px 1fr 20px;gap:10px;padding:22px 0}.capability-row h3{font-size:1.35rem}.capability-row p{font-size:.82rem}.capability-row:hover,.capability-row.active{padding-left:0}
  .dark-feature{padding:72px 0}.dark-feature-copy h2{font-size:2.8rem}.dark-feature-media,.dark-feature-media img{min-height:330px}
  .project-primary{min-height:440px}.project-side{grid-template-columns:1fr}.project-small{min-height:290px}.project-primary>div,.project-small>div{left:18px;right:18px;bottom:18px}.project-primary h3{font-size:1.65rem}
  .client-logos{grid-template-columns:repeat(2,1fr)}.client-logos img{height:44px}
  .process-line{grid-template-columns:1fr}.process-line article,.process-line article+article,.process-line article:nth-child(3){padding:22px 0;border-right:0}.process-line span{margin-bottom:18px}
  .team-section{padding:72px 0}.team-heading{gap:24px}.team-group{aspect-ratio:4/3}.team-group img{object-position:center}.team-rail figure{width:188px;height:250px}.team-rail figure:nth-child(3n+2){height:230px;margin-top:20px}
  .cta-section{padding:65px 0}.cta-grid{gap:24px}.cta-grid h2{font-size:2.75rem}
  .footer-grid{grid-template-columns:1fr}.footer-lead{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.whatsapp span{display:none}
  .page-hero{padding:32px 0 58px}.page-hero-copy h1{font-size:3.35rem}.page-hero-media{height:360px}.company-hero{padding-top:16px}.company-hero-media{height:500px}.company-hero-copy{left:20px;right:20px}.company-hero-copy h1{font-size:3.35rem}
  .solution-detail,.solution-detail.reverse{grid-template-columns:30px 1fr;gap:14px;padding:38px 0}.solution-detail>img{grid-column:1/-1;height:300px}.solution-copy h3{font-size:1.8rem}.solution-copy ul{grid-template-columns:1fr}.solution-copy li{font-size:.8rem}
  .project-filter{gap:5px}.project-grid{grid-template-columns:1fr}.project-card h3{font-size:1.35rem}
  .procurement-categories{grid-template-columns:1fr}.procurement-categories span:nth-child(odd){border-right:0;padding-right:0}.procurement-categories span:nth-child(even){padding-left:0}
  .value-list{grid-template-columns:1fr}.value-list article,.value-list article+article,.value-list article:nth-child(3){padding:24px 0;border-right:0}.company-field-grid img{height:430px}.team-company{padding:72px 0}.team-company-group{height:400px}.portrait-grid{grid-template-columns:1fr 1fr}.portrait-grid figure{height:290px}
  .community-grid{grid-template-columns:1fr}.community-story{min-height:340px;padding:30px}.community-story.image img{min-height:340px}.community-story h2{font-size:2.6rem}
  .contact-hero{padding:64px 0}.field.two{grid-template-columns:1fr}.contact-bottom{padding:70px 0}.contact-bottom h2{font-size:2.8rem}.contact-bottom article{grid-template-columns:34px 1fr}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-video,.hero-copy,.team-rail{transform:none!important}.capability-image-stack img{transition:none}}


/* V7 — enterprise polish, loading transitions, location and source-faithful content */
.utility-bar{height:30px;background:#11110f;color:#d9d7cf;font-size:.66rem;letter-spacing:.025em}
.utility-inner{height:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.utility-inner>div{display:flex;align-items:center;gap:22px}.utility-inner a{transition:color .2s}.utility-inner a:hover{color:#f0c33d}
.site-header{position:sticky}.navbar{height:82px}
.page-loader{position:fixed;inset:0;z-index:5000;background:#0d0d0b;display:grid;place-items:center;transform:translateY(0);transition:transform .72s cubic-bezier(.77,0,.18,1);will-change:transform}.page-loader.is-ready{transform:translateY(-100%)}body.page-leaving .page-loader{transform:translateY(0)}
.loader-inner{width:min(78vw,390px);text-align:center}.loader-inner img{width:190px;height:64px;object-fit:contain;margin:0 auto 27px}.loader-rule{height:1px;background:#383630;overflow:hidden}.loader-rule i{display:block;height:100%;width:100%;background:#e0b122;transform:translateX(-100%);animation:mts-load 1.05s var(--ease) forwards}.loader-words{display:flex;justify-content:space-between;margin-top:14px;color:#9f9c93;font-size:.61rem;letter-spacing:.18em;font-weight:800}.loader-words span:nth-child(2){color:#d8ad27}
@keyframes mts-load{to{transform:translateX(0)}}
body.page-leaving{pointer-events:none}

.vision-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:70px}.vision-grid article{padding:26px 28px 28px 0;border-right:1px solid var(--line)}.vision-grid article+article{padding-left:28px}.vision-grid article:last-child{border-right:0}.vision-grid span{font-size:.62rem;letter-spacing:.14em;font-weight:800;color:var(--gold-deep)}.vision-grid p{margin:16px 0 0;color:#4f4d47;line-height:1.68;font-size:.92rem}
.solution-checks{list-style:none;padding:0;margin:30px 0 32px;display:grid;grid-template-columns:1fr 1fr;gap:11px 24px}.solution-checks li{padding-top:10px;border-top:1px solid #3a3934;font-size:.86rem;color:#e2e0d9}.solution-checks li:before{content:'✓';color:#e0b122;margin-right:9px}.contain-media{background:#fff;padding:24px}.contain-media img{object-fit:contain!important;min-height:0!important;height:100%!important}
.product-preview{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:stretch}.product-preview-list{border-top:1px solid var(--line)}.product-preview-list a{display:grid;grid-template-columns:40px 1.1fr 1fr 24px;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .25s,color .2s}.product-preview-list a:hover{padding-left:10px;color:#000}.product-preview-list span{font-size:.62rem;color:var(--gold-deep);font-weight:800}.product-preview-list strong{font-size:1.08rem}.product-preview-list small{font-size:.8rem;color:var(--muted);line-height:1.5}.product-preview-list b{font-size:1.1rem;color:var(--gold-deep)}.product-preview-media{min-height:500px;background:#f6f5f1;overflow:hidden}.product-preview-media img{width:100%;height:100%;object-fit:contain;padding:28px}
.clients-head{padding-bottom:22px;border-bottom:1px solid var(--line)}.clients-head>div{display:flex;justify-content:space-between;align-items:end;gap:24px}.clients-head strong{font-size:1.25rem;letter-spacing:-.025em}.clients-head span{font-size:.8rem;color:var(--muted)}
.charity-teaser{padding:100px 0;background:#f1efe8}.charity-teaser-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:70px;align-items:center}.charity-teaser-copy h2{margin:15px 0 28px}.charity-teaser-copy p{color:var(--muted);font-size:1rem;line-height:1.72;margin-bottom:30px}.charity-teaser-media{height:560px;overflow:hidden}.charity-teaser-media img{width:100%;height:100%;object-fit:cover}
.location-strip{padding:48px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.location-strip-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.location-strip h2{font-size:2.5rem;margin:8px 0 5px}.location-strip p{margin:0;color:var(--muted)}.location-strip-grid>div:last-child{display:grid;justify-items:start;gap:9px}.location-strip a{font-size:.83rem;border-bottom:1px solid #b8b5ad;padding-bottom:2px}
.service-list .capability-row{min-height:142px}.service-list .capability-row p{max-width:720px}
.product-catalog{border-top:1px solid var(--line)}.product-line{display:grid;grid-template-columns:140px 1fr 130px;gap:34px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}.product-line>div:first-child{display:flex;align-items:center;gap:22px}.product-line span{font-size:1.9rem;font-weight:700;letter-spacing:-.04em;color:#aaa69c}.product-line small{font-size:.6rem;letter-spacing:.15em;color:var(--gold-deep);font-weight:800}.product-line h3{font-size:2rem;margin:0 0 8px}.product-line p{margin:0;color:var(--muted)}.product-line>a{justify-self:end;font-size:.8rem;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}
.mission-vision{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.mission-vision article{background:var(--paper-2);padding:62px}.mission-vision h2{font-size:3.4rem;margin:13px 0 24px}.mission-vision p{color:var(--muted);line-height:1.7;margin:0}
.charity-programs{display:grid;gap:1px;background:var(--line)}.charity-program{display:grid;grid-template-columns:1fr 1fr;background:#fff;min-height:560px}.charity-program.reverse>div{order:2}.charity-program>div{padding:58px;display:flex;flex-direction:column;justify-content:center}.charity-program>div>span{font-size:.62rem;letter-spacing:.14em;color:var(--gold-deep);font-weight:800}.charity-program h2{font-size:3.65rem;margin:14px 0 24px}.charity-program p{color:var(--muted);line-height:1.72;font-size:1rem}.charity-program img{width:100%;height:100%;object-fit:cover;background:#f4f2ec}.charity-program:nth-child(2) img{object-fit:contain;padding:26px}.charity-cta{background:#111;color:#fff;padding:88px 0}.charity-cta-grid{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end}.charity-cta h2{font-size:4rem;margin:14px 0 0}.charity-cta p{color:#c4c2bb;line-height:1.7}
.location-section{background:#fff}.location-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:stretch}.location-copy h2{font-size:4rem;margin:14px 0 24px}.location-detail-list{border-top:1px solid var(--line);margin:34px 0 28px}.location-detail-list>div{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:12px}.location-detail-list span{font-size:.62rem;letter-spacing:.14em;color:var(--gold-deep);font-weight:800}.location-detail-list a,.location-detail-list p{font-size:.87rem;margin:0;color:#4f4d47}.location-detail-list a{display:block}.location-map{min-height:560px;background:#e8e6df;overflow:hidden}.location-map iframe{width:100%;height:100%;min-height:560px;border:0;filter:saturate(.72) contrast(.97)}

/* Subtle reactive media: movement follows scroll, never competes with content. */
[data-scroll-media]{overflow:hidden}[data-scroll-media]>img,[data-scroll-media] .hero-img{transform:translate3d(0,var(--media-y,0px),0) scale(var(--media-scale,1.025));will-change:transform;transition:transform .08s linear}.project-primary[data-scroll-media]>img,.project-small[data-scroll-media]>img,.team-group[data-scroll-media]>img,.team-company-group[data-scroll-media]>img,.charity-teaser-media[data-scroll-media]>img{height:calc(100% + 28px);margin-top:-14px}

@media(max-width:1100px){.nav-links a{padding-inline:7px;font-size:.69rem}.brand{min-width:165px}.brand img{width:165px}.product-preview{gap:42px}.product-preview-list a{grid-template-columns:34px 1fr}.product-preview-list small{grid-column:2}.product-preview-list b{grid-column:3;grid-row:1}.mission-vision article{padding:44px}.charity-program>div{padding:42px}.charity-program h2{font-size:3rem}}
@media(max-width:980px){:root{--header:68px}.utility-bar{display:none}.navbar{height:68px}.nav-links{top:68px}.vision-grid,.product-preview,.charity-teaser-grid,.location-strip-grid,.mission-vision,.charity-cta-grid,.location-grid{grid-template-columns:1fr}.vision-grid article,.vision-grid article+article{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.vision-grid article:last-child{border-bottom:0}.product-preview-media{min-height:420px}.clients-head>div{align-items:flex-start;flex-direction:column;gap:6px}.charity-teaser-media{height:480px}.location-strip-grid{gap:20px}.product-line{grid-template-columns:100px 1fr 100px}.mission-vision{gap:1px}.charity-program,.charity-program.reverse{grid-template-columns:1fr}.charity-program.reverse>div{order:0}.charity-program img{min-height:420px}.location-map,.location-map iframe{min-height:480px}}
@media(max-width:600px){.loader-inner img{width:160px}.loader-words{font-size:.55rem}.solution-checks{grid-template-columns:1fr}.product-preview-list a{grid-template-columns:30px 1fr 20px;gap:10px}.product-preview-list strong{font-size:1rem}.product-preview-media{min-height:310px}.charity-teaser{padding:72px 0}.charity-teaser-media{height:360px}.product-line{grid-template-columns:1fr;gap:10px;padding:26px 0}.product-line>div:first-child{gap:14px}.product-line>a{justify-self:start}.mission-vision article{padding:30px}.mission-vision h2{font-size:2.6rem}.charity-program{min-height:0}.charity-program>div{padding:30px}.charity-program h2{font-size:2.55rem}.charity-program img{min-height:320px}.charity-cta{padding:68px 0}.charity-cta h2{font-size:3rem}.location-copy h2{font-size:3rem}.location-detail-list>div{grid-template-columns:1fr;gap:6px}.location-map,.location-map iframe{min-height:380px}}
@media(prefers-reduced-motion:reduce){.page-loader{transition:none}.loader-rule i{animation:none;transform:none}[data-scroll-media]>img{transform:none!important}}

/* V8 — interaction refinement: cinematic hero pointer response, richer scroll motion and cursor field */
.home-hero{
  --hero-pointer-x:62%;
  --hero-pointer-y:42%;
  --hero-pan-x:0px;
  --hero-pan-y:0px;
}
.hero-video{
  transform:translate3d(var(--hero-pan-x),var(--hero-pan-y),0) scale(calc(1.01 + var(--hero-scroll,0)*.045));
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.hero-overlay{
  background:
    radial-gradient(circle 340px at var(--hero-pointer-x) var(--hero-pointer-y),rgba(225,178,34,.13),rgba(225,178,34,.035) 42%,transparent 72%),
    linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.62) 34%,rgba(0,0,0,.29) 60%,rgba(0,0,0,.14) 100%),
    linear-gradient(0deg,rgba(0,0,0,.3),transparent 46%);
  transition:background-position .2s linear;
}
.hero-copy{will-change:transform,opacity;transition:opacity .08s linear}
.hero-stories a{position:relative;overflow:hidden}
.hero-stories a:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease)}
.hero-stories a:hover:before{transform:scaleX(1)}
.hero-stories a strong,.hero-stories a span{transition:transform .32s var(--ease),color .25s}
.hero-stories a:hover strong,.hero-stories a:hover span{transform:translateX(4px)}
.sound-toggle{transition:background .25s,border-color .25s,transform .25s}.sound-toggle:hover{transform:translateY(-2px);background:rgba(0,0,0,.64)}.sound-toggle.is-on{border-color:rgba(240,195,61,.7)}

/* Scroll entrance motion uses opacity, distance and a very small blur rather than generic pop-ins. */
.reveal{
  opacity:0;
  transform:translate3d(0,30px,0);
  filter:blur(2px);
  transition:
    opacity .78s var(--ease) var(--reveal-delay,0ms),
    transform .92s var(--ease) var(--reveal-delay,0ms),
    filter .78s var(--ease) var(--reveal-delay,0ms);
  will-change:opacity,transform;
}
.reveal.visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.reveal-stagger{transform:translate3d(0,22px,0)}
.reveal-media{clip-path:inset(7% 0 7% 0);transform:translate3d(0,24px,0) scale(.992);transition:opacity .8s var(--ease) var(--reveal-delay,0ms),transform 1s var(--ease) var(--reveal-delay,0ms),clip-path 1.08s var(--ease) var(--reveal-delay,0ms),filter .8s var(--ease) var(--reveal-delay,0ms)}
.reveal-media.visible{clip-path:inset(0 0 0 0);transform:translate3d(0,0,0) scale(1)}
.scroll-reactive .section-heading h2,
.scroll-reactive .team-heading h2,
.scroll-reactive .team-company-head h2,
.scroll-reactive .cta-grid h2{
  transform:translate3d(0,var(--section-heading-y,0px),0);
  will-change:transform;
}

/* More dimensional but restrained image movement while scrolling. */
[data-scroll-media]>img,[data-scroll-media] .hero-img{
  transform:translate3d(0,var(--media-y,0px),0) scale(var(--media-scale,1.035));
  transition:transform .12s linear;
}
.project-primary,.project-small,.project-card,.product-preview-media,.charity-teaser-media,.team-group,.team-company-group{transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.project-card:hover{transform:translateY(-5px)}
.project-card:hover img{transform:scale(1.015)}
.product-preview-media:hover,.charity-teaser-media:hover,.team-group:hover{box-shadow:0 24px 60px rgba(17,17,15,.10)}

/* Service visual changes now feel like a directed transition rather than a simple cross-fade. */
.capability-image-stack img{
  opacity:0;
  clip-path:inset(0 0 8% 0);
  transform:scale(1.055) translateY(10px);
  transition:opacity .48s var(--ease),transform .72s var(--ease),clip-path .72s var(--ease);
}
.capability-image-stack img.active{opacity:1;clip-path:inset(0);transform:scale(1) translateY(0)}
.capability-row:before{content:"";width:2px;background:var(--gold);position:absolute;left:0;top:20px;bottom:20px;transform:scaleY(0);transform-origin:top;transition:transform .34s var(--ease)}
.capability-row{position:relative}
.capability-row:hover:before,.capability-row.active:before{transform:scaleY(1)}

/* Team motion feels editorial: images stay composed, movement happens in the rail and crop. */
.team-rail{transition:transform .12s linear}
.team-rail figure{position:relative;transition:transform .42s var(--ease),opacity .35s}
.team-rail figure:hover{transform:translateY(-7px)}
.team-rail figure:after{content:"";position:absolute;inset:0;border:1px solid rgba(231,187,51,0);transition:border-color .3s}
.team-rail figure:hover:after{border-color:rgba(231,187,51,.72)}
.team-group:before,.team-company-group:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid rgba(255,255,255,.12)}
.team-group,.team-company-group{position:relative}

/* Loading / page transition refinements. */
.page-loader{overflow:hidden;background:#0d0d0b}
.page-loader:before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;animation:loader-edge 1.05s var(--ease) forwards}
.page-loader:after{content:"";position:absolute;width:34vw;height:34vw;max-width:520px;max-height:520px;border:1px solid rgba(220,175,35,.08);border-radius:50%;transform:scale(.82);opacity:.4;transition:transform .8s var(--ease),opacity .8s}
.page-loader.is-ready:after{transform:scale(1.08);opacity:0}
.loader-inner{position:relative;z-index:2;transition:opacity .3s,transform .55s var(--ease)}
.page-loader.is-ready .loader-inner{opacity:0;transform:translateY(-8px)}
body.page-leaving .page-loader .loader-inner{opacity:1;transform:none}
body.page-leaving .loader-words span{animation:loader-word-in .42s var(--ease) both}
body.page-leaving .loader-words span:nth-child(2){animation-delay:.06s}
body.page-leaving .loader-words span:nth-child(3){animation-delay:.12s}
@keyframes loader-edge{to{transform:scaleX(1)}}
@keyframes loader-word-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Desktop pointer field. The normal cursor remains available; this adds visual feedback rather than replacing it. */
.cursor-aura,.cursor-ring,.cursor-dot{position:fixed;left:0;top:0;pointer-events:none;opacity:0;z-index:1400;will-change:transform,opacity}
.cursor-aura{width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(213,167,20,.105) 0%,rgba(213,167,20,.045) 32%,rgba(213,167,20,0) 70%);mix-blend-mode:multiply;transition:opacity .28s,background .28s,mix-blend-mode .28s}
.cursor-ring{width:32px;height:32px;border:1px solid rgba(176,133,0,.72);border-radius:50%;transition:width .22s var(--ease),height .22s var(--ease),border-color .22s,background .22s,opacity .22s}
.cursor-dot{width:4px;height:4px;border-radius:50%;background:var(--gold-deep);transition:width .18s,height .18s,background .18s,opacity .18s}
body.cursor-visible .cursor-aura{opacity:1}
body.cursor-visible .cursor-ring,body.cursor-visible .cursor-dot{opacity:.92}
body.cursor-interactive .cursor-ring{width:50px;height:50px;border-color:rgba(217,170,23,.95);background:rgba(217,170,23,.055)}
body.cursor-interactive .cursor-dot{width:6px;height:6px;background:var(--gold)}
body.cursor-on-dark .cursor-aura{background:radial-gradient(circle,rgba(239,195,61,.18) 0%,rgba(239,195,61,.07) 30%,rgba(239,195,61,0) 70%);mix-blend-mode:screen}
body.cursor-on-dark .cursor-ring{border-color:rgba(241,195,45,.86)}
body.cursor-on-dark .cursor-dot{background:#f1c32d}

/* Fine hover details throughout the enterprise UI. */
.nav-contact,.button,.text-button,.section-link,.location-strip a,.product-line>a{position:relative}
.nav-contact:before,.button:before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,0);transition:border-color .25s,transform .25s;pointer-events:none}
.nav-contact:hover:before,.button:hover:before{border-color:rgba(217,170,23,.55);transform:translate(3px,3px)}
.footer-nav a{position:relative;width:max-content;max-width:100%}.footer-nav a:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:#d7ad25;transform:scaleX(0);transform-origin:left;transition:transform .25s}.footer-nav a:hover:after{transform:scaleX(1)}

@media(max-width:980px){
  .scroll-reactive .section-heading h2,.scroll-reactive .team-heading h2,.scroll-reactive .team-company-head h2,.scroll-reactive .cta-grid h2{transform:none!important}
  .hero-video{transform:scale(calc(1.01 + var(--hero-scroll,0)*.025))}
}
@media(pointer:coarse){.cursor-aura,.cursor-ring,.cursor-dot{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-stagger,.reveal-media{opacity:1;transform:none;filter:none;clip-path:none;transition:none}
  .scroll-reactive .section-heading h2,.scroll-reactive .team-heading h2,.scroll-reactive .team-company-head h2,.scroll-reactive .cta-grid h2{transform:none!important}
  .hero-video{transform:none!important;transition:none}
  .hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.3),transparent 46%)}
  .cursor-aura,.cursor-ring,.cursor-dot{display:none!important}
}

/* V9 — Events + Blog / Insights */
.nav-links a{padding-inline:10px;font-size:.75rem}

/* Shared editorial hero for Events and Blog */
.editorial-page-hero{padding:56px 0 74px;background:#fff}
.editorial-page-hero .page-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:68px;align-items:end}
.editorial-page-hero .page-hero-copy{padding:54px 0 12px}
.editorial-page-hero .page-hero-copy h1{font-size:clamp(3.9rem,6vw,6.6rem);line-height:.91;margin:16px 0 26px;max-width:800px}
.editorial-page-hero .page-hero-copy p{max-width:680px;color:var(--muted);font-size:1.05rem;line-height:1.72}
.editorial-page-hero .page-hero-media{height:600px;overflow:hidden;background:#e8e6df}
.editorial-page-hero .page-hero-media img{width:100%;height:100%;object-fit:cover}

/* Events */
.events-upcoming{background:#11110f;color:#fff;padding-top:88px;padding-bottom:88px}
.event-feature{position:relative;display:grid;grid-template-columns:1.05fr .55fr;gap:80px;align-items:end;min-height:520px;padding:70px;background:linear-gradient(120deg,#11110f 0%,#171611 50%,#0b0b0a 100%);border:1px solid #333126;overflow:hidden}
.event-feature:before{content:"";position:absolute;inset:auto -6% -46% auto;width:520px;height:520px;border:1px solid rgba(226,181,38,.14);border-radius:50%;transform:scale(calc(.78 + var(--section-focus,.5)*.26));transition:transform .12s linear}
.event-feature:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold);transform-origin:left;transform:scaleX(calc(.2 + var(--section-p,.3)*.8))}
.event-feature-copy{position:relative;z-index:2}
.event-feature h2{font-size:clamp(3.4rem,5.4vw,5.8rem);max-width:760px;margin:15px 0 26px}
.event-feature p{font-size:1rem;line-height:1.72;color:#c8c6be;max-width:690px}
.event-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.event-feature-meta{position:relative;z-index:2;display:grid;gap:12px;padding-left:28px;border-left:1px solid #3d3b34}
.event-feature-meta span,.event-feature-meta small{font-size:.64rem;letter-spacing:.13em;color:#9e9b92;font-weight:800}
.event-feature-meta strong{font-size:1.1rem;letter-spacing:.02em;color:#f1c32d}
.event-programme-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.event-card{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:42px 34px 42px 0;border-bottom:1px solid var(--line);position:relative;transition:background .28s var(--ease),padding .28s var(--ease)}
.event-card:nth-child(odd){border-right:1px solid var(--line);padding-right:40px}
.event-card:nth-child(even){padding-left:40px}
.event-card>span{font-size:.68rem;color:var(--gold-deep);font-weight:800;letter-spacing:.12em;padding-top:4px}
.event-card small{font-size:.61rem;letter-spacing:.13em;color:var(--gold-deep);font-weight:800}
.event-card h3{font-size:2rem;margin:10px 0 13px}
.event-card p{margin:0 0 24px;color:var(--muted);line-height:1.65;font-size:.91rem}
.event-card>a{grid-column:2;font-size:.78rem;font-weight:800;width:max-content;border-bottom:1px solid currentColor;padding-bottom:3px}
.event-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease)}
.event-card:hover{background:#faf9f5;padding-left:12px}
.event-card:hover:before{transform:scaleY(1)}
.event-host-grid{display:grid;grid-template-columns:1fr .76fr;gap:96px;align-items:start}
.event-host-grid .lead{margin-bottom:28px}
.events-home{background:#11110f;color:#fff}
.events-home .section-heading p,.events-home .section-heading{color:#fff}
.events-home .section-link{color:#fff}
.events-home-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:#34332e}
.event-home-feature{min-height:620px;position:relative;overflow:hidden;background:#000;color:#fff}
.event-home-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(.8)}
.event-home-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.08) 62%)}
.event-home-feature>div{position:absolute;z-index:2;left:42px;right:42px;bottom:40px}
.event-home-feature small,.insight-card small{font-size:.61rem;letter-spacing:.13em;font-weight:800;color:#f0c33d}
.event-home-feature h3{font-size:3.15rem;margin:12px 0 15px;max-width:560px}
.event-home-feature p{max-width:600px;color:#e1ded5;line-height:1.62}
.event-home-feature span{font-size:.78rem;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}
.events-home-list{background:#fff;color:#111;display:flex;flex-direction:column}
.events-home-list>a{display:grid;grid-template-columns:38px 1fr 24px;gap:15px;align-items:center;flex:1;padding:28px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}
.events-home-list>a:last-child{border-bottom:0}
.events-home-list>a:hover{background:#f3f1ea;padding-left:34px}
.events-home-list span{font-size:.63rem;color:var(--gold-deep);font-weight:800}
.events-home-list strong{display:block;font-size:1.08rem;margin-bottom:6px}
.events-home-list small{display:block;color:var(--muted);font-size:.76rem;line-height:1.5}
.events-home-list b{font-size:1rem;color:var(--gold-deep)}

/* Blog / Insights */
.insight-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.insight-feature-media{height:610px;overflow:hidden;position:relative;background:#ddd}
.insight-feature-media img{width:100%;height:100%;object-fit:cover}
.insight-feature-media span{position:absolute;left:22px;bottom:22px;background:#111;color:#fff;padding:9px 11px;font-size:.6rem;letter-spacing:.14em;font-weight:800}
.insight-feature-copy h2{font-size:clamp(3rem,4.7vw,5rem);margin:15px 0 27px}
.insight-feature-copy p{color:var(--muted);line-height:1.7;max-width:620px;margin-bottom:31px}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.insight-card{display:block;background:#fff;border-bottom:1px solid #c7c5bd;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.insight-card-media{height:300px;overflow:hidden;background:#ddd}
.insight-card-media img{width:100%;height:100%;object-fit:cover;transition:filter .35s var(--ease)}
.insight-card>div:last-child{padding:25px 0 23px}
.insight-card small{color:var(--gold-deep)}
.insight-card h3{font-size:1.72rem;margin:10px 0 12px}
.insight-card p{color:var(--muted);line-height:1.62;margin-bottom:20px;font-size:.9rem}
.insight-card span{font-size:.77rem;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:3px}
.insight-card:hover{transform:translateY(-5px)}
.insight-card:hover .insight-card-media img{filter:contrast(1.03) saturate(1.04)}

/* Article pages */
.article-page{background:#fff}
.article-hero{padding:64px 0 80px;border-bottom:1px solid var(--line)}
.article-hero-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:72px;align-items:end}
.article-hero-copy{padding-bottom:8px}
.article-back{display:inline-block;font-size:.75rem;font-weight:800;color:#5f5c55;margin-bottom:45px;border-bottom:1px solid #b9b6ad;padding-bottom:3px}
.article-hero h1{font-size:clamp(3.5rem,5.7vw,6.3rem);line-height:.91;margin:14px 0 24px;max-width:870px}
.article-hero p{color:var(--muted);font-size:1.02rem;line-height:1.68;max-width:650px}
.article-hero-media{height:600px;overflow:hidden;background:#ddd}
.article-hero-media img{width:100%;height:100%;object-fit:cover}
.article-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:88px;justify-content:center;padding-top:92px;padding-bottom:112px}
.article-aside{position:sticky;top:145px;align-self:start;display:grid;border-top:1px solid var(--line)}
.article-aside>span{font-size:.61rem;letter-spacing:.14em;font-weight:800;color:var(--gold-deep);padding:17px 0 14px}
.article-aside>a{font-size:.75rem;color:#5d5a53;padding:12px 0;border-top:1px solid #eceae3;line-height:1.45}
.article-aside>a:hover{color:#111}
.article-aside .article-help{margin-top:20px;background:#111;color:#fff;padding:14px;border:0;font-weight:800}
.article-body{font-size:1.03rem;color:#37352f}
.article-lead{font-size:1.3rem;line-height:1.72;color:#111;margin-bottom:58px}
.article-body section{padding:0 0 48px;margin-bottom:44px;border-bottom:1px solid var(--line)}
.article-body section h2{font-size:2.45rem;line-height:1.05;margin:0 0 21px}
.article-body section p{line-height:1.8;margin:0;color:#4e4b45}
.article-callout{margin-top:68px;padding:36px;background:#f1efe8;border-left:3px solid var(--gold)}
.article-callout strong{font-size:1.35rem;letter-spacing:-.02em}
.article-callout p{color:var(--muted);line-height:1.65;margin:10px 0 22px}

@media(max-width:1100px){
  .nav-links a{padding-inline:6px;font-size:.665rem}
  .editorial-page-hero .page-hero-grid,.article-hero-grid{gap:42px}
  .event-feature{padding:50px;gap:48px}
  .event-home-feature h3{font-size:2.6rem}
}
@media(max-width:980px){
  .nav-links a{font-size:.8rem;padding-inline:12px}
  .editorial-page-hero .page-hero-grid,.event-feature,.event-host-grid,.events-home-grid,.insight-feature,.article-hero-grid,.article-layout{grid-template-columns:1fr}
  .editorial-page-hero .page-hero-copy{padding-top:20px}.editorial-page-hero .page-hero-media,.article-hero-media{height:470px}
  .event-feature{min-height:0}.event-feature-meta{padding-left:0;border-left:0;border-top:1px solid #3d3b34;padding-top:24px}
  .event-programme-grid{grid-template-columns:1fr}.event-card:nth-child(odd){border-right:0;padding-right:0}.event-card:nth-child(even){padding-left:0}.event-card:hover{padding-left:8px}
  .event-home-feature{min-height:520px}.events-home-list>a{min-height:118px}
  .insights-grid{grid-template-columns:1fr 1fr}.insight-feature-media{height:500px}
  .article-aside{position:relative;top:auto;display:none}.article-layout{padding-top:70px}.article-body{max-width:780px}
}
@media(max-width:600px){
  .editorial-page-hero{padding-top:30px}.editorial-page-hero .page-hero-copy h1,.article-hero h1{font-size:3.35rem}.editorial-page-hero .page-hero-media,.article-hero-media{height:360px}
  .events-upcoming{padding:56px 0}.event-feature{padding:30px}.event-feature h2{font-size:3rem}.event-actions{flex-direction:column;align-items:stretch}.event-actions .button{width:100%}
  .event-card{grid-template-columns:34px 1fr;padding:30px 0}.event-card h3{font-size:1.55rem}
  .event-home-feature{min-height:470px}.event-home-feature>div{left:22px;right:22px;bottom:24px}.event-home-feature h3{font-size:2.2rem}
  .insights-grid{grid-template-columns:1fr}.insight-card-media{height:270px}.insight-feature-media{height:380px}.insight-feature-copy h2{font-size:2.8rem}
  .article-hero{padding:34px 0 56px}.article-back{margin-bottom:28px}.article-layout{padding:60px 0 80px}.article-lead{font-size:1.15rem}.article-body section h2{font-size:2rem}.article-callout{padding:26px}
}

/* Newsletter */
.newsletter-section{position:relative;overflow:hidden;background:#11110f;color:#fff;padding:86px 0;border-top:1px solid #292824;border-bottom:1px solid #292824}
.newsletter-section:before{content:"";position:absolute;width:520px;height:520px;right:-170px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(215,173,42,.16),rgba(215,173,42,0) 68%);pointer-events:none;transform:translate3d(var(--newsletter-x,0),var(--newsletter-y,0),0);transition:transform .18s linear}
.newsletter-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end}
.newsletter-copy h2{font-size:clamp(3rem,5vw,5.6rem);line-height:.94;margin:14px 0 24px;max-width:760px}
.newsletter-copy p{color:#bbb8af;line-height:1.7;max-width:680px;margin:0}
.newsletter-topics{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.newsletter-topics span{border:1px solid #3d3b35;padding:8px 11px;font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;color:#d5d2c9;font-weight:800}
.newsletter-form-wrap{border-top:1px solid #4a473f;padding-top:28px}
.newsletter-form label{display:block;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#b8b5ac;margin-bottom:10px}
.newsletter-input-row{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid #78736a;transition:border-color .25s var(--ease)}
.newsletter-input-row:focus-within{border-color:var(--gold)}
.newsletter-input-row input{min-width:0;border:0;background:transparent;color:#fff;font:inherit;font-size:1.18rem;padding:18px 0;outline:0}
.newsletter-input-row input::placeholder{color:#67645e}
.newsletter-input-row button{border:0;background:var(--gold);color:#111;padding:0 24px;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer;transition:background .25s var(--ease),transform .25s var(--ease)}
.newsletter-input-row button:hover{background:#edc344}.newsletter-input-row button:active{transform:translateY(1px)}
.newsletter-input-row button[disabled]{opacity:.6;cursor:wait}
.newsletter-privacy{font-size:.72rem!important;color:#77746d!important;margin:13px 0 0!important}
.newsletter-status{min-height:22px;font-size:.76rem!important;color:#d7ad2a!important;margin:10px 0 0!important}
.newsletter-status.is-error{color:#ffb4a7!important}
.newsletter-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:980px){.newsletter-grid{grid-template-columns:1fr;gap:52px}.newsletter-form-wrap{max-width:760px}.newsletter-section{padding:72px 0}}
@media(max-width:600px){.newsletter-section{padding:60px 0}.newsletter-copy h2{font-size:3rem}.newsletter-input-row{grid-template-columns:1fr}.newsletter-input-row button{min-height:52px;margin-top:8px}.newsletter-topics{gap:6px}.newsletter-topics span{font-size:.56rem}}
