@font-face {
  font-family:Newsreader;
  src:url('assets/newsreader.ttf') format('truetype');
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Inter;
  src:url('assets/inter-latin.woff2') format('woff2');
  font-weight:100 900;
  font-display:swap;
}
:root {
  --ink:#332617;
  --brown:#4f300a;
  --terracotta:#973611;
  --orange:#d85600;
  --gold:#a37f49;
  --cream:#e1cdaf;
  --paper:#fbfbfb;
  --rule:rgba(79,48,10,.2);
  --display:Newsreader,Georgia,serif;
  --sans:Inter,Arial,sans-serif;
  --gutter:clamp(24px,5.5vw,104px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { display:block; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:400; }
::selection { background:var(--terracotta); color:var(--paper); }
a:focus-visible,button:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
a,button { -webkit-tap-highlight-color:transparent; }
.skip-link { position:fixed; left:20px; top:20px; padding:14px 20px; background:var(--paper); color:var(--ink); z-index:30; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.header { display:flex; justify-content:space-between; align-items:center; min-height:76px; padding:12px var(--gutter); }
.brand { display:flex; align-items:center; min-height:44px; }
.brand img { width:116px; height:auto; }
nav { display:flex; gap:clamp(24px,3vw,56px); align-items:center; }
nav a { display:flex; align-items:center; gap:22px; min-height:44px; font-size:14px; }
nav a:first-child { position:relative; }
nav a:first-child:after { content:''; position:absolute; bottom:5px; height:1px; width:100%; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
nav a:first-child:hover:after { transform:scaleX(1); }
.link-mark { display:inline-block; font:23px/1 var(--sans); transition:transform .35s var(--ease); }
a:hover .link-mark { transform:translate(3px,-3px); }
.hero { position:relative; }
.hero-stage { width:100%; min-width:0; position:relative; aspect-ratio:16/9; min-height:590px; max-height:1040px; color:var(--paper); background:var(--ink); overflow:hidden; }
.hero-image,.hero-shade { position:absolute; inset:0; }
.hero-photo { width:100%; height:100%; object-fit:cover; }
.hero-shade { background:linear-gradient(180deg,transparent 15%,rgba(51,38,23,.3) 48%,rgba(32,23,15,.83) 100%); }
.hero-identity { position:absolute; top:39%; left:50%; width:31%; transform:translate(-50%,-50%); }
.hero-identity img { width:100%; height:auto; }
.hero-copy { position:absolute; bottom:13%; left:var(--gutter); right:var(--gutter); text-align:center; }
h1 { font:400 clamp(40px,3.5vw,68px)/1.06 var(--display); letter-spacing:-.036em; }
.hero-copy p { margin-top:20px; font-size:clamp(14px,1.1vw,20px); line-height:1.5; }
.hero-bottom { position:absolute; bottom:28px; left:var(--gutter); right:var(--gutter); display:flex; justify-content:flex-end; align-items:center; font-size:12px; }
.scroll-cue { display:flex; align-items:center; gap:20px; min-height:44px; }
.scroll-cue span { font-size:22px; transition:transform .35s var(--ease); }
.scroll-cue:hover span { transform:translateY(4px); }
.section { padding:80px var(--gutter); }
.brand-story { padding-top:64px; padding-bottom:64px; }
.brand-concept img { width:100%; height:auto; }
.motion-ready .brand-concept .reveal { transform:none; }
.value-chain { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; width:100%; aspect-ratio:16/9; padding:4.3417vw 2.0833vw 5.2891vw; color:var(--paper); background:#48657b; }
.value-chain-artwork { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.value-chain-photo { position:absolute; left:-.64375%; top:-26.1334%; width:122.8979%; height:126.1334%; max-width:none; object-fit:cover; }
.value-chain h2 { width:45.631%; font:400 clamp(36px,3.5417vw,80px)/1.059 var(--display); letter-spacing:-.025em; }
.value-chain-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:auto; padding-top:5vw; }
.value-chain-card { min-width:0; min-height:22.1354vw; display:flex; flex-direction:column; justify-content:space-between; gap:2.4vw; padding:2.2917vw; background:rgba(107,100,92,.08); border-right:1px solid rgba(251,251,251,.75); -webkit-backdrop-filter:blur(17px); backdrop-filter:blur(17px); }
.value-chain-card:nth-child(2) { background:rgba(107,100,92,.13); }
.value-chain-card:nth-child(3) { background:rgba(217,217,217,.05); }
.value-chain-card:nth-child(n+4) { background:rgba(217,217,217,.2); }
.value-chain-card:last-child { border-right:0; }
.value-chain-card h3 { font:400 clamp(22px,2.0833vw,46px)/1.175 var(--sans); letter-spacing:-.04em; }
.value-chain-card p { font-size:clamp(14px,1.25vw,28px); line-height:1.25; letter-spacing:-.025em; }
@media (max-width:1100px) {
  .value-chain { aspect-ratio:auto; padding:48px 32px; }
  .value-chain-artwork { height:680px; }
  .value-chain-artwork:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(28,52,70,.08) 35%,#48657b 100%); }
  .value-chain-photo { inset:0; width:100%; height:100%; object-position:55% center; }
  .value-chain h2 { width:min(620px,85%); font-size:48px; }
  .value-chain-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:160px; padding-top:0; }
  .value-chain-card { min-height:280px; padding:32px; gap:32px; border-bottom:1px solid rgba(251,251,251,.5); background:rgba(251,251,251,.08); }
  .value-chain-card:nth-child(even) { border-right:0; }
  .value-chain-card:last-child { grid-column:1/-1; min-height:220px; border-bottom:0; }
  .value-chain-card h3 { font-size:30px; }
  .value-chain-card p { max-width:38ch; font-size:17px; line-height:1.45; }
}
@media (max-width:600px) {
  .value-chain { padding:36px 24px; }
  .value-chain-artwork { height:640px; }
  .value-chain h2 { width:100%; font-size:clamp(34px,9vw,48px); }
  .value-chain-grid { grid-template-columns:1fr; margin-top:150px; }
  .value-chain-card,.value-chain-card:last-child { min-height:0; padding:28px; gap:28px; border-right:0; }
  .value-chain-card h3 { font-size:28px; }
  .value-chain-card p { font-size:16px; }
}
.horizon { width:100%; min-width:0; position:relative; overflow:hidden; min-height:740px; aspect-ratio:16/9; max-height:1000px; display:flex; flex-direction:column; justify-content:space-between; padding:40px var(--gutter) 26px; color:var(--paper); background:var(--ink); }
.horizon-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.horizon-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(51,38,23,.3),rgba(51,38,23,.25) 15%,rgba(51,38,23,.6) 64%,rgba(31,22,14,.75)); }
.horizon>*:not(.horizon-photo,.horizon-shade) { position:relative; }
.horizon-intro { margin:auto 0; padding:60px 0; text-align:center; }
.horizon-brand { width:150px; height:auto; margin:0 auto 40px; }
.horizon h2 { font:400 clamp(42px,4.1vw,76px)/1.06 var(--display); letter-spacing:-.035em; }
.horizon-intro p { margin:26px 0 28px; font-size:15px; line-height:1.6; }
.text-link { display:inline-flex; justify-content:space-between; align-items:center; gap:45px; min-height:48px; padding:6px 0; border-bottom:1px solid currentColor; font-size:14px; }
.horizon-location { display:flex; justify-content:flex-end; align-items:center; font-size:12px; }
.horizon-location a { display:flex; gap:20px; align-items:center; min-height:44px; }
.horizon-location a span { font-size:20px; }
.footer { display:flex; align-items:center; gap:32px; min-height:80px; padding:18px var(--gutter); font-size:11px; }
.footer button { margin-left:auto; border:0; border-radius:0; padding:10px 0 10px 18px; background:none; color:inherit; cursor:pointer; font-size:11px; }
.motion-ready .reveal { opacity:0; transform:translateY(24px); transition:opacity .95s var(--ease),transform .95s var(--ease); }
.motion-ready .reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:no-preference) {
  .motion-ready .hero-photo { transform:translateY(var(--depth,0px)) scale(1.045); animation:photo-arrive 1.6s var(--ease) both; }
  .motion-ready .hero-identity img { animation:identity-arrive 1.2s .1s var(--ease) both; }
  .motion-ready .hero-copy { animation:copy-arrive 1.2s .25s var(--ease) both; }
  @keyframes photo-arrive { from { opacity:.4; filter:blur(4px); } to { opacity:1; filter:blur(0); } }
  @keyframes identity-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
  @keyframes copy-arrive { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
}
.motion-paused { scroll-behavior:auto; }
.motion-paused *, .motion-paused *:before, .motion-paused *:after { animation:none!important; transition:none!important; }
.motion-paused .reveal { opacity:1; transform:none; }
.motion-paused .hero-photo { transform:none!important; }
@media (max-width:900px) {
  .header { min-height:72px; }
  .hero-stage { min-height:570px; }
  .hero-identity { width:41%; top:34%; }
  .hero-copy { bottom:17%; }
  .horizon { min-height:680px; aspect-ratio:auto; }
}
@media (max-width:900px) {
  .hero-stage { aspect-ratio:auto; min-height:0; max-height:none; color:var(--ink); background:var(--paper); overflow:visible; }
  .hero-image { position:relative; aspect-ratio:16/9; overflow:hidden; }
  .hero-photo { object-fit:cover; }
  .motion-ready .hero-photo { transform:none; }
  .hero-shade { height:56.25vw; background:linear-gradient(180deg,rgba(51,38,23,.08),rgba(51,38,23,.35)); }
  .hero-identity { top:28.125vw; width:47%; }
  .hero-copy { position:relative; inset:auto; padding:48px var(--gutter) 24px; }
  h1 { font-size:clamp(34px,9vw,49px); line-height:1.08; }
  .hero-copy p { font-size:12px; margin-top:18px; }
  .hero-bottom { position:relative; inset:auto; justify-content:center; padding:0 var(--gutter) 40px; }
  .hero-bottom .scroll-cue { font-size:12px; }
}
@media (max-width:600px) {
  :root { --gutter:24px; }
  html { scroll-padding-top:16px; }
  .header { min-height:68px; padding:10px var(--gutter); }
  .brand img { width:94px; }
  nav { gap:22px; }
  nav a { font-size:12px; gap:10px; }
  nav .link-mark { font-size:19px; }
  .section { padding:42px var(--gutter); }
  .brand-story { border-top:1px solid var(--rule); padding-top:28px; padding-bottom:32px; }
  .brand-concept { margin:0 calc(-1 * var(--gutter)); }
  .horizon { min-height:660px; padding:32px var(--gutter) 20px; }
  .horizon-photo { object-position:57% center; }
  .horizon-shade { background:linear-gradient(180deg,rgba(51,38,23,.36),rgba(51,38,23,.44) 55%,rgba(31,22,14,.83)); }
  .horizon-intro { padding:64px 0; }
  .horizon-brand { width:122px; margin-bottom:32px; }
  .horizon h2 { font-size:clamp(36px,9vw,54px); }
  .horizon-intro p { font-size:13px; max-width:300px; margin:24px auto 26px; }
  .desktop-break { display:none; }
  .horizon-location { font-size:10px; }
  .horizon-location a { gap:14px; }
  .text-link { font-size:13px; }
  .footer { padding:16px var(--gutter); gap:14px; flex-wrap:wrap; }
  .footer button { padding:8px 0; }
}
@media (max-width:360px) {
  nav a:first-child { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .reveal { opacity:1!important; transform:none!important; }
  .hero-photo { transform:none!important; }
}
