:root {
  --ink: #0b0b0d;
  --ink-soft: #151519;
  --paper: #f4f1eb;
  --paper-2: #e8e3da;
  --white: #fffdf9;
  --copper: #b7774b;
  --copper-light: #d2a47d;
  --line: rgba(244, 241, 235, .16);
  --pad: clamp(1.25rem, 4vw, 5rem);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--paper); background: var(--ink); font-family: "DM Sans", sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .8rem 1rem; background: var(--paper); color: var(--ink); }
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 86px; padding: 0 var(--pad); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid transparent; transition: .35s ease; }
.site-header.scrolled { height: 70px; background: rgba(11,11,13,.9); backdrop-filter: blur(18px); border-color: var(--line); }
.brand { display: inline-flex; align-items: center; width: 118px; }
.brand-image { width: 100%; height: 40px; object-fit: contain; }
.brand-fallback { font: 700 1.55rem/1 "Manrope"; letter-spacing: .28em; background: linear-gradient(180deg,#fff,#777); -webkit-background-clip: text; color: transparent; }
.desktop-nav { display: flex; gap: clamp(1.4rem, 3vw, 3.4rem); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.desktop-nav a { position: relative; opacity: .72; transition: .25s; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-.55rem; height:1px; background:var(--copper-light); transition:.25s; }
.desktop-nav a:hover { opacity: 1; }.desktop-nav a:hover::after { right: 0; }
.header-actions { display:flex; align-items:center; gap:1rem; }
.language-select select { color: var(--paper); background: transparent; border: 1px solid var(--line); border-radius: 100px; padding: .55rem 1.7rem .55rem .8rem; font: 600 .7rem "DM Sans"; appearance: none; background-image: linear-gradient(45deg,transparent 50%,#aaa 50%),linear-gradient(135deg,#aaa 50%,transparent 50%); background-position: calc(100% - 12px) 50%,calc(100% - 8px) 50%; background-size:4px 4px; background-repeat:no-repeat; }
.language-select option { color:#111; }
.menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:transparent; padding:12px; }
.menu-toggle span { display:block; height:1px; background:var(--paper); margin:5px 0; transition:.25s; }
.mobile-nav { position:fixed; inset:70px 0 0; padding:4rem var(--pad); background:var(--ink); flex-direction:column; gap:1.8rem; font:600 clamp(2rem,8vw,4rem) "Manrope"; }
.mobile-nav:not([hidden]) { display:flex; }
.hero { min-height: 100svh; position:relative; overflow:hidden; padding: 13rem var(--pad) 8rem; display:grid; grid-template-columns: 1fr auto; align-content:space-between; isolation:isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:-2; background: radial-gradient(circle at 77% 35%,rgba(183,119,75,.18),transparent 27%), linear-gradient(120deg,#0b0b0d 15%,#161419 55%,#09090b); }
.hero::after { content:"A"; position:absolute; z-index:-1; right:-.02em; top:45%; transform:translateY(-50%); font:700 min(48vw,47rem)/.8 "Manrope"; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.06); }
.hero-orbit { position:absolute; z-index:-1; right:8vw; top:46%; width:min(34vw,32rem); aspect-ratio:1; transform:translateY(-50%) rotate(12deg); border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 90px rgba(183,119,75,.08); }
.hero-orbit::before,.hero-orbit::after { content:""; position:absolute; inset:12%; border:1px solid rgba(183,119,75,.25); transform:rotate(50deg); }
.hero-orbit::after { inset:27%; transform:rotate(5deg); background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,0)); backdrop-filter:blur(5px); }
.hero-media { position:absolute; z-index:-1; right:var(--pad); top:50%; width:min(35vw,34rem); height:min(62vh,43rem); margin:0; transform:translateY(-45%); overflow:hidden; background:#19191c; }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,11,13,.04),rgba(11,11,13,.35)),linear-gradient(90deg,rgba(11,11,13,.32),transparent 35%); }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:52% center; filter:saturate(.92) contrast(1.04) brightness(.88); }
.hero-media figcaption { position:absolute; z-index:2; inset:1.2rem auto auto 1.2rem; display:flex; align-items:center; min-height:32px; padding:0 .8rem; border:1px solid rgba(255,255,255,.22); border-radius:100px; color:#fff; background:rgba(11,11,13,.72); backdrop-filter:blur(10px); font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow { margin:0 0 1.5rem; color:var(--copper-light); font:600 .72rem/1.4 "DM Sans"; letter-spacing:.18em; text-transform:uppercase; }
.hero h1 { max-width:900px; margin:0; font:500 clamp(3.5rem,8.4vw,8.8rem)/.84 "Manrope"; letter-spacing:-.065em; text-shadow:0 2px 35px rgba(0,0,0,.28); }
.hero h1 em { color:var(--copper-light); font-style:normal; }
.hero-copy { max-width:580px; margin:2rem 0 0; color:rgba(244,241,235,.67); font-size:clamp(1rem,1.35vw,1.25rem); line-height:1.65; }
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2.4rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 1.4rem; border:1px solid var(--line); font-size:.82rem; transition:.3s; }
.button-primary { background:var(--paper); color:var(--ink); border-color:var(--paper); }.button-primary:hover { background:var(--copper-light); border-color:var(--copper-light); }
.button-ghost:hover { border-color:var(--paper); }
.button-ghost span { margin-left:.6rem; }
.hero-stats { position:absolute; z-index:5; left:0; right:0; bottom:0; display:flex; align-items:center; justify-content:flex-start; gap:clamp(2.5rem,6vw,6rem); min-height:88px; padding:1rem var(--pad); border-top:1px solid rgba(255,255,255,.13); background:rgba(9,9,11,.82); backdrop-filter:blur(16px); }
.hero-stats div { min-width:110px; display:grid; grid-template-columns:auto; gap:.12rem; }
.hero-stats strong { display:block; font:650 1.65rem/1 "Manrope"; letter-spacing:-.03em; }
.hero-stats span { display:block; color:rgba(244,241,235,.68); font-size:.64rem; font-weight:700; line-height:1.2; text-transform:uppercase; letter-spacing:.11em; white-space:nowrap; }
.scroll-cue { position:absolute; z-index:6; left:auto; right:var(--pad); bottom:24px; width:24px; height:40px; border:1px solid rgba(255,255,255,.22); border-radius:20px; }
.scroll-cue span { position:absolute; left:50%; top:8px; width:3px; height:7px; background:var(--copper-light); border-radius:4px; animation:scroll 1.8s infinite; }
@keyframes scroll { 0%{transform:translate(-50%,0);opacity:0} 25%{opacity:1} 75%{opacity:1} 100%{transform:translate(-50%,14px);opacity:0} }
.section { position:relative; padding:clamp(4.5rem,8vw,8rem) var(--pad); }
.intro { background:var(--paper); color:var(--ink); display:grid; grid-template-columns:10% 1.25fr .75fr; gap:clamp(2rem,5vw,7rem); align-items:start; }
.section-number { color:#a49c91; font-size:.75rem; letter-spacing:.14em; }
.intro-heading h2,.section-heading h2,.vision h2,.contact h2 { margin:0; font:600 clamp(2.25rem,4.3vw,4.7rem)/1.04 "Manrope"; letter-spacing:-.045em; }
.intro-copy { padding-top:2.4rem; color:#48443e; font-size:1.02rem; font-weight:500; line-height:1.68; }.intro-copy p:first-child { margin-top:0; }
.companies { background:var(--paper); color:var(--ink); padding-top:0; }
.section-heading { max-width:950px; margin-bottom:4rem; }
.company-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cfc9bf; border-bottom:1px solid #cfc9bf; }
.company-card { min-height:510px; padding:1.7rem; border-right:1px solid #cfc9bf; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:.4s ease; }
.company-card:last-child { border-right:0; }.company-card:hover { background:#eae4da; transform:translateY(-6px); }
.company-card.featured { background:var(--ink); color:var(--paper); }.company-card.featured:hover { background:#201c1a; }
.card-index { color:#8c857b; font-size:.7rem; }
.company-visual { height:160px; position:relative; margin:1.35rem -1.7rem 1.4rem; overflow:hidden; background:#1a1817; }
.company-visual::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg,rgba(15,13,12,.16),rgba(183,119,75,.14)),linear-gradient(180deg,transparent 52%,rgba(10,9,9,.28)); transition:background .45s ease; }
.company-visual img { width:100%; height:100%; object-fit:cover; filter:saturate(.86) brightness(.84) contrast(1.06); transition:transform .55s ease,filter .55s ease; }
.company-card:hover .company-visual img { transform:scale(1.035); filter:saturate(1) brightness(.9) contrast(1.04); }
.company-card:first-child .company-visual img { object-position:center 48%; }
.company-card.featured .company-visual::after { background:linear-gradient(135deg,rgba(8,8,9,.26),rgba(151,92,53,.28)),linear-gradient(180deg,transparent 40%,rgba(7,7,8,.42)); }
.company-card.featured .company-visual img { object-position:center 48%; filter:saturate(.78) brightness(.62) contrast(1.12); }
.company-card.featured:hover .company-visual img { filter:saturate(.92) brightness(.7) contrast(1.08); }
.company-mark { margin:0 0 1.15rem; font:600 4rem/.8 "Manrope"; color:transparent; -webkit-text-stroke:1px #8f867c; }
.company-card.featured .company-mark { -webkit-text-stroke-color:var(--copper-light); }
.company-card h3 { margin:0 0 .75rem; font:700 1.18rem "Manrope"; }.company-card p { min-height:74px; margin:0; color:#4f4a44; font-weight:500; line-height:1.52; }.company-card.featured p { color:rgba(244,241,235,.72); }
.card-tag { margin-top:1.8rem; padding-top:1rem; border-top:1px solid rgba(128,120,110,.35); color:#8c857b; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; }
.statement { min-height:50svh; display:grid; place-items:center; background:linear-gradient(125deg,#0d0d0f,#1a1514); text-align:center; overflow:hidden; }
.statement::before { content:""; position:absolute; width:35vw; aspect-ratio:1; border:1px solid rgba(183,119,75,.18); border-radius:50%; box-shadow:0 0 150px rgba(183,119,75,.08); }
.statement blockquote { max-width:1050px; margin:0; font:600 clamp(2.2rem,4.5vw,5rem)/1.12 "Manrope"; letter-spacing:-.04em; position:relative; }
.visual-story { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr); height:clamp(380px,46vw,520px); background:var(--paper); color:var(--ink); }
.visual-story-main { min-height:0; height:100%; position:relative; margin:0; overflow:hidden; }
.visual-story-main::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.65)); }
.visual-story-main img { width:100%; height:100%; object-fit:cover; object-position:54% center; filter:saturate(.86) contrast(1.03); transition:transform 1.2s ease; }.visual-story-main:hover img { transform:scale(1.025); }
.visual-story-main figcaption { position:absolute; z-index:2; left:clamp(1.5rem,3vw,3.5rem); right:clamp(1.5rem,3vw,3.5rem); bottom:clamp(1.5rem,3vw,3rem); display:flex; justify-content:space-between; align-items:end; color:#fff; }
.visual-story-main figcaption span { font-size:.68rem; font-weight:600; letter-spacing:.15em; }.visual-story-main figcaption strong { max-width:370px; font:650 clamp(1.8rem,3vw,3.1rem)/1.03 "Manrope"; letter-spacing:-.04em; text-align:right; }
.visual-story-note { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,4vw,4rem); border-left:1px solid #d2cbc0; }
.visual-story-note .eyebrow { margin-bottom:1.1rem; }.visual-story-note p { margin:0; color:#38342f; font:600 clamp(1.08rem,1.55vw,1.5rem)/1.42 "Manrope"; letter-spacing:-.018em; }
.timeline-section { background:#111114; }
.timeline { max-width:1100px; margin-left:auto; border-top:1px solid var(--line); }
.timeline-item { display:grid; grid-template-columns:160px 1fr; gap:2rem; padding:2.3rem 0; border-bottom:1px solid var(--line); }
.timeline-item time { color:var(--copper-light); font:500 1.8rem "Manrope"; }.timeline-item h3 { margin:0 0 .7rem; font:500 1.45rem "Manrope"; }.timeline-item p { max-width:680px; margin:0; color:rgba(244,241,235,.55); line-height:1.65; }
.locations { background:var(--paper); color:var(--ink); }
.location-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.location-card { background:var(--white); border:1px solid #d9d3c9; }
.location-visual { height:300px; position:relative; overflow:hidden; background:#242326; }
.location-visual iframe { width:100%; height:100%; border:0; filter:grayscale(1) contrast(.92); transition:filter .35s ease,transform .35s ease; }
.location-card:hover .location-visual iframe { filter:grayscale(.15) contrast(1); transform:scale(1.015); }
.map-label { position:absolute; left:1rem; bottom:1rem; z-index:2; padding:.55rem .8rem; border:1px solid rgba(255,255,255,.22); border-radius:100px; color:#fff; background:rgba(11,11,13,.78); backdrop-filter:blur(10px); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; pointer-events:none; }
.location-content { padding:2rem; }.location-content>div:first-child { display:flex; justify-content:space-between; align-items:flex-start; flex-direction:row-reverse; }
.location-content h3 { margin:0 0 1.4rem; font:500 2rem "Manrope"; }.status { display:inline-flex; align-items:center; gap:.5rem; color:#5e6c54; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }.status i { width:7px; height:7px; background:#6f8b5c; border-radius:50%; box-shadow:0 0 0 4px #e6ecdf; }
.location-content address { font-style:normal; color:#716a61; line-height:1.55; }
.opening-hours { margin:1.25rem 0 0; padding-top:1rem; border-top:1px solid #ded8cf; color:#716a61; font-size:.76rem; }
.opening-hours div { display:flex; justify-content:space-between; gap:2rem; padding:.22rem 0; }.opening-hours dt,.opening-hours dd { margin:0; }.opening-hours dd { color:var(--ink); font-weight:600; }
.location-links { margin-top:2rem; padding-top:1.2rem; border-top:1px solid #ded8cf; display:flex; justify-content:space-between; font-size:.78rem; }.location-links a:last-child { font-weight:600; }
.vision { min-height:70svh; display:flex; align-items:center; overflow:hidden; background:var(--copper); color:#171311; }
.vision-content { position:relative; max-width:1000px; margin-left:auto; }.vision .eyebrow { color:#3d2b20; }.vision h2 { max-width:950px; }.vision p:last-child { max-width:610px; margin:2rem 0 0 auto; line-height:1.7; color:#4d3426; }
.vision-shape { position:absolute; left:-.1em; top:50%; transform:translateY(-50%); color:transparent; -webkit-text-stroke:1px rgba(20,15,12,.16); font:700 45vw/.8 "Manrope"; }
.contact { display:grid; grid-template-columns:1.15fr .85fr; gap:5rem; align-items:end; }.contact-details { padding:2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.contact-details p { margin:.2rem 0; color:rgba(244,241,235,.5); }.contact-phone { display:block; margin:1rem 0; font:500 clamp(2rem,4vw,4.5rem) "Manrope"; letter-spacing:-.05em; }.contact-details .small { font-size:.78rem; }
footer { padding:2rem var(--pad); border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; color:rgba(244,241,235,.45); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }.footer-brand { width:auto; }.footer-brand .brand-fallback { font-size:1.1rem; }footer div { display:flex; gap:1.5rem; }
.reveal { opacity:0; transform:translateY(26px); transition:opacity .8s ease,transform .8s ease; }.reveal.visible { opacity:1; transform:none; }
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:10rem;padding-bottom:8rem}.hero-stats{gap:clamp(1.3rem,5vw,3rem);min-height:78px}.hero-stats div{min-width:80px}.hero-stats strong{font-size:1.4rem}.hero-stats span{font-size:.56rem}.hero-orbit{width:65vw;right:-20vw}.hero-media{right:-8vw;width:58vw;opacity:.48}.intro{grid-template-columns:1fr}.section-number{display:none}.intro-copy{padding-top:0}.company-grid{grid-template-columns:1fr}.company-card{min-height:470px;border-right:0;border-bottom:1px solid #cfc9bf}.company-visual{height:230px}.visual-story{grid-template-columns:1.25fr .75fr;height:430px}.visual-story-note{min-height:0;border-left:1px solid #d2cbc0}.location-grid,.contact{grid-template-columns:1fr}.contact{gap:2rem}}
@media(max-width:600px){.site-header{height:70px}.brand{width:92px}.hero{padding-top:9.5rem;padding-bottom:7rem}.hero h1{font-size:clamp(3.2rem,16vw,5rem)}.hero-media{inset:0 0 auto auto;width:100%;height:100%;transform:none;opacity:.3}.hero-media figcaption{display:none}.hero-stats{width:100%;min-height:72px;justify-content:space-between;gap:.35rem;padding:.8rem 1rem}.hero-stats div{min-width:0}.hero-stats strong{font-size:1.2rem}.hero-stats span{max-width:84px;font-size:.5rem;white-space:normal}.scroll-cue{display:none}.section{padding-top:4.5rem;padding-bottom:4.5rem}.company-visual{height:200px}.visual-story{grid-template-columns:1fr;height:auto}.visual-story-main{height:320px}.visual-story-note{min-height:220px;border-left:0}.visual-story-main figcaption{align-items:flex-start;flex-direction:column;gap:.75rem}.visual-story-main figcaption strong{text-align:left;font-size:1.9rem}.timeline-item{grid-template-columns:1fr;gap:.8rem}.location-visual{height:210px}.location-content>div:first-child{display:block}.status{margin-bottom:.8rem}.location-links{align-items:flex-start;gap:1rem;flex-direction:column}.vision p:last-child{margin-left:0}footer{align-items:flex-start;gap:1.5rem;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue span{animation:none}}
