/* Layout: wide 12-col editorial grid (1520 max). Rhythm alternates huge type, full-bleed photo, bento and two black blocks. Red is a signal colour only. */
:root{
  --paper:#F4F4F0; --white:#FFFFFF; --ink:#0D0D0D; --graphite:#202020;
  --mute:#6B6B68; --line:rgba(13,13,13,.10); --line-strong:rgba(13,13,13,.18);
  --red:#D71912; --red-deep:#A8120D; --on-dark:#F4F4F0; --on-dark-mute:rgba(244,244,240,.62); --line-dark:rgba(244,244,240,.14);
  --f:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'Geist Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --han:'Noto Serif SC','Songti SC','SimSun',serif;
  --maxw:1520px; --pad:clamp(20px,4.2vw,64px); --gap:clamp(12px,1.3vw,20px); --r:24px;
  --ease:cubic-bezier(.2,.75,.2,1);
  --sec:clamp(96px,11vw,176px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:76px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{text-wrap:balance;font-weight:500;letter-spacing:-.035em}
p{text-wrap:pretty}
::selection{background:var(--red);color:var(--white)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:6px}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:inline-flex;align-items:center;gap:10px}
.label::before{content:"";width:7px;height:7px;background:var(--red);border-radius:1px;flex:none}
.label.plain::before{display:none}
.han{font-family:var(--han);font-weight:700}
.red{color:var(--red)}

/* Buttons & links */
.btn{--bg:var(--ink);--fg:var(--white);display:inline-flex;align-items:center;gap:14px;height:56px;padding:0 10px 0 26px;border-radius:999px;background:var(--bg);color:var(--fg);font-size:15px;font-weight:500;letter-spacing:-.005em;border:1px solid transparent;cursor:pointer;transition:transform .35s var(--ease),background-color .35s var(--ease),border-color .35s var(--ease)}
.btn .ar{width:38px;height:38px;border-radius:50%;background:var(--red);color:var(--white);display:grid;place-items:center;overflow:hidden;flex:none}
.btn .ar svg{transition:transform .4s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover .ar svg{transform:translateX(5px)}
.btn.red-btn{--bg:var(--red)}
.btn.red-btn .ar{background:var(--white);color:var(--red)}
.btn.ghost{--bg:transparent;--fg:var(--on-dark);border-color:var(--line-dark)}
.btn.ghost .ar{background:transparent;border:1px solid var(--line-dark)}
.btn.ghost:hover{border-color:rgba(244,244,240,.4)}
.btn.light{--bg:var(--white);--fg:var(--ink)}
.ulink{position:relative;display:inline-flex;align-items:center;gap:8px}
.ulink::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.ulink:hover::after{transform:scaleX(1);transform-origin:left}

/* Header */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;transition:background-color .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s;border-bottom:1px solid transparent}
.hdr .wrap{display:flex;align-items:center;gap:32px;height:88px;transition:height .4s var(--ease)}
.hdr.stuck{background:rgba(244,244,240,.78);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-bottom-color:var(--line)}
.hdr.stuck .wrap{height:68px}
.logo{display:flex;align-items:center;gap:12px;font-weight:500;letter-spacing:-.02em;font-size:17px;white-space:nowrap}
.logo .lg{height:54px;width:auto;transition:height .4s var(--ease)}
.logo .lg-l{display:none}
.hdr.stuck .logo .lg{height:44px}
.nav{display:flex;gap:30px;margin-left:auto;font-size:14.5px}
.nav a{position:relative;padding:6px 0;color:var(--graphite)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.langs{display:flex;gap:2px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;border:1px solid var(--line);border-radius:999px;padding:3px}
.langs a{padding:6px 10px;border-radius:999px;color:var(--mute);transition:color .25s,background-color .25s}
.langs a[aria-current="page"]{background:var(--ink);color:var(--white)}
.langs a:hover:not([aria-current="page"]){color:var(--ink)}
.hdr .btn{height:46px;padding-left:20px;font-size:14px}
.hdr .btn .ar{width:32px;height:32px}
.hdr.light .logo{color:var(--on-dark)}
.hdr.light .logo .lg-d{display:none}
.hdr.light .logo .lg-l{display:block}
.hdr.light .nav a{color:rgba(244,244,240,.84)}
.hdr.light .langs{border-color:var(--line-dark)}
.hdr.light .langs a{color:var(--on-dark-mute)}
.hdr.light .langs a[aria-current="page"]{background:var(--on-dark);color:var(--ink)}
.hdr.light .langs a:hover:not([aria-current="page"]){color:var(--on-dark)}
.hdr.light .btn{--bg:var(--on-dark);--fg:var(--ink)}
.hdr.light .burger{border-color:var(--line-dark)}
.hdr.light .burger span,.hdr.light .burger span::before,.hdr.light .burger span::after{background:var(--on-dark)}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;cursor:pointer;place-items:center}
.burger span{display:block;width:16px;height:1.5px;background:var(--ink);position:relative;transition:transform .3s var(--ease)}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:transform .3s var(--ease)}
.burger span::before{top:-5px}.burger span::after{top:5px}
.menu-open .burger span{background:transparent}
.menu-open .burger span::before{transform:translateY(5px) rotate(45deg)}
.menu-open .burger span::after{transform:translateY(-5px) rotate(-45deg)}
.mnav{display:none}

/* Hero */
.hero{position:relative;overflow:hidden;isolation:isolate;margin-top:-88px;color:var(--on-dark);background:var(--ink);min-height:clamp(560px,52.5vw,820px);display:flex}
.hero-bg{position:absolute;inset:0;z-index:-1}
.hero-bg::before{content:"";position:absolute;inset:0 0 auto 0;height:18%;z-index:1;background:linear-gradient(180deg,rgba(13,13,13,.7) 0%,rgba(13,13,13,0) 100%)}

.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;animation:hero-zoom 2.6s var(--ease) both}
@keyframes hero-zoom{from{transform:scale(1.06);opacity:.4}}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(13,13,13,0) 0%,rgba(13,13,13,0) 40%,rgba(13,13,13,.62) 60%,rgba(13,13,13,.92) 82%,var(--ink) 100%),
  linear-gradient(90deg,rgba(13,13,13,.5) 0%,rgba(13,13,13,.15) 50%,rgba(13,13,13,0) 75%)}
.hero-in{position:relative;display:flex;flex-direction:column;justify-content:flex-end;width:100%;padding-top:calc(88px + clamp(32px,4vw,64px));padding-bottom:clamp(32px,3.4vw,52px)}
.hero .label{color:rgba(244,244,240,.72)}
.hero .h1{color:var(--on-dark);text-shadow:0 2px 24px rgba(13,13,13,.6),0 0 60px rgba(13,13,13,.4)}
.hero .h1 .most{color:#FF3B30}
.hero .h1 .most path{stroke:#FF3B30}
.hero-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:clamp(28px,3.4vw,52px)}
.hero-top .coords{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--on-dark-mute);text-transform:uppercase;display:flex;align-items:center;gap:14px}
.hero-top .coords i{display:block;width:64px;height:1px;background:var(--line-dark)}
.h1{font-size:clamp(38px,5.6vw,86px);line-height:.98;letter-spacing:-.05em;font-weight:500;max-width:16.5ch}
.hero .h1{max-width:24ch}
.h1 .most{position:relative;display:inline-block;color:var(--red)}
.h1 .most svg{position:absolute;left:-2%;width:104%;bottom:-.1em;height:.34em;overflow:visible}
.h1 .most path{fill:none;stroke:var(--red);stroke-width:3;vector-effect:non-scaling-stroke;stroke-dasharray:400;stroke-dashoffset:0;animation:span-draw 1.4s .35s var(--ease) both}
@keyframes span-draw{from{stroke-dashoffset:400}}
.h1 .dot{color:var(--red)}
.hero-sub{margin-top:clamp(24px,2.6vw,40px);align-items:end}
.hero-sub p{grid-column:1/span 5;font-size:clamp(16px,1.25vw,19px);line-height:1.5;color:rgba(244,244,240,.8);max-width:34ch}
.hero-sub .cta{grid-column:7/span 6;display:flex;justify-content:flex-end;align-items:center;gap:28px}
.hero-sub .cta .scroll{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-mute);display:flex;align-items:center;gap:10px}
.hero-media{margin-top:clamp(40px,5vw,72px);grid-auto-rows:minmax(0,auto)}
.hm-photo{grid-column:1/-1;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/7;background:var(--graphite)}
.hm-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04);transform:scale(1.02);transition:transform 1.2s var(--ease)}
.hm-photo:hover img{transform:scale(1.05)}
.hm-photo .tag{position:absolute;left:20px;bottom:20px;display:flex;gap:8px;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;padding:9px 14px;border-radius:999px;background:rgba(13,13,13,.55);color:var(--on-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(244,244,240,.16)}

/* Statement */
.statement{padding-block:var(--sec) calc(var(--sec)*.7)}
.statement .label{grid-column:1/span 3;align-self:start;margin-top:14px}
.statement .txt{grid-column:4/span 9;font-size:clamp(28px,3.25vw,50px);line-height:1.14;letter-spacing:-.03em;font-weight:400}
.statement .txt span{color:var(--mute)}
.meaning{margin-top:clamp(56px,7vw,112px);align-items:end}
.meaning .glyph{grid-column:4/span 4}
.meaning .glyph img{width:clamp(200px,22vw,340px);height:auto;animation:sphere-float 9s ease-in-out infinite}
@keyframes sphere-float{50%{transform:translateY(-10px) rotate(-2deg)}}
.meaning blockquote{grid-column:9/span 4;margin:0;border-top:1px solid var(--line-strong);padding-top:22px;font-size:clamp(19px,1.5vw,23px);line-height:1.4;letter-spacing:-.015em}
.meaning blockquote cite{display:block;margin-top:16px;font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}

/* About */
.about{padding-block:calc(var(--sec)*.6) var(--sec);border-top:1px solid var(--line)}
.about .label{grid-column:1/span 3;margin-top:18px;align-self:start}
.about h2{grid-column:4/span 9;font-size:clamp(32px,3.9vw,60px);line-height:1.06;letter-spacing:-.04em}
.about-grid{margin-top:clamp(48px,6vw,96px);grid-template-rows:auto auto}
.ab-people{grid-column:1/span 5;grid-row:1/span 2;border-radius:var(--r);overflow:hidden;min-height:520px;position:relative}
.ab-people img,.ab-aerial img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform 1s var(--ease)}
.ab-people:hover img,.ab-aerial:hover img{transform:scale(1.03)}
.ab-text{grid-column:6/span 7;padding:clamp(24px,3vw,48px);background:var(--white);border:1px solid var(--line);border-radius:var(--r);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.ab-text p{font-size:clamp(17px,1.3vw,19px);line-height:1.55;color:var(--graphite)}
.ab-text p:first-child{font-size:clamp(19px,1.5vw,22px);line-height:1.45;color:var(--ink);letter-spacing:-.01em}
.ab-aerial{grid-column:6/span 7;border-radius:var(--r);overflow:hidden;min-height:300px;height:100%}

/* Process */
.process{background:var(--red);color:var(--white);padding-block:var(--sec);position:relative;overflow:hidden}
.process::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 0% 0%,rgba(255,255,255,.12),transparent 60%),radial-gradient(50% 70% at 100% 100%,rgba(13,13,13,.22),transparent 70%);pointer-events:none}
.process .wrap{position:relative}
.process .label{color:rgba(255,255,255,.82)}
.process .label::before{background:var(--white)}
.proc-head{align-items:end}
.ph-l{grid-column:1/span 7}
.ph-l h2{font-size:clamp(40px,5vw,76px);line-height:1;letter-spacing:-.045em;margin-top:22px}
.ph-r{grid-column:9/span 4;color:rgba(255,255,255,.84);font-size:17px;line-height:1.6;max-width:36ch}
.timeline{list-style:none;margin:clamp(56px,6vw,96px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:tl}
.tl{position:relative;padding:32px clamp(16px,2vw,32px) 8px 0;border-top:1px solid rgba(255,255,255,.34)}
.tl::before{content:"";position:absolute;left:0;top:-6px;width:11px;height:11px;border-radius:50%;background:var(--red);border:1px solid var(--white);transition:background-color .35s var(--ease),transform .35s var(--ease)}
.tl::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--white);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.tl:hover::before{background:var(--white);transform:scale(1.25)}
.tl:hover::after{transform:scaleX(1)}
.tl-n{display:flex;flex-direction:column;gap:10px}
.tl-k{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.tl-num{display:flex;align-items:flex-start;gap:8px;line-height:.82}
.tl-num b{font-weight:300;font-size:clamp(52px,5vw,76px);letter-spacing:-.055em;color:var(--white);font-variant-numeric:tabular-nums}
.tl-num em{font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:rgba(255,255,255,.55);padding-top:4px}
.tl h3{font-size:clamp(20px,1.65vw,25px);line-height:1.15;letter-spacing:-.025em;margin-top:30px;min-height:2.3em;font-weight:500}
.tl p{margin-top:14px;color:rgba(255,255,255,.82);font-size:15.5px;line-height:1.6}

/* Offer / catalogs */
.offer{padding-block:var(--sec) calc(var(--sec)*.6)}
.offer-head .label{grid-column:1/span 3;margin-top:18px;align-self:start}
.offer-head h2{grid-column:4/span 9;font-size:clamp(40px,5.6vw,86px);line-height:1;letter-spacing:-.05em}
.offer-cols{margin-top:clamp(36px,4vw,56px)}
.offer-cols p{font-size:18px;line-height:1.6;color:var(--graphite)}
.offer-cols p:nth-child(1){grid-column:4/span 4}
.offer-cols p:nth-child(2){grid-column:9/span 4}
.cat-bar{margin-top:clamp(56px,6vw,96px);display:flex;justify-content:space-between;align-items:end;padding-bottom:18px;border-bottom:1px solid var(--line-strong);margin-bottom:var(--gap)}
.cat-bar h3{font-size:clamp(22px,2vw,28px);letter-spacing:-.03em}
.cat-bar span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(300px,auto);gap:var(--gap)}
.tile{position:relative;isolation:isolate;border-radius:var(--r);background:var(--graphite);color:var(--on-dark);padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;overflow:hidden;min-height:300px;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:brightness(.78);transition:transform 1.1s var(--ease),filter .6s var(--ease)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,13,13,.35) 0%,rgba(13,13,13,.05) 26%,rgba(13,13,13,.5) 52%,rgba(13,13,13,.92) 100%);transition:opacity .5s var(--ease)}
.tile:hover{transform:translateY(-4px);box-shadow:0 28px 56px -30px rgba(13,13,13,.55)}
.tile:hover>img{transform:scale(1.04);filter:brightness(.88)}
.tile .idx{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark);display:inline-flex;align-self:flex-start;padding:7px 12px;border-radius:999px;background:rgba(13,13,13,.42);border:1px solid rgba(244,244,240,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tile .body{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.tile h4{font-size:clamp(22px,1.9vw,30px);line-height:1.1;letter-spacing:-.03em;font-weight:500;max-width:15ch;text-wrap:balance}
.tile .go{flex:none;width:48px;height:48px;border-radius:50%;background:rgba(244,244,240,.14);border:1px solid rgba(244,244,240,.24);display:grid;place-items:center;color:var(--on-dark);transition:background-color .35s,border-color .35s}
.tile .go svg{transition:transform .45s var(--ease)}
.tile:hover .go{background:var(--red);border-color:var(--red)}
.tile:hover .go svg{transform:translateY(4px)}
.tile.big{grid-column:span 2;grid-row:span 2;padding:clamp(26px,2.6vw,40px)}
.tile.big h4{font-size:clamp(32px,3.4vw,54px);max-width:12ch}
.tile.big .go{width:60px;height:60px}

/* Wide photo + sourcing */
.source{padding-bottom:var(--sec)}
.wide{position:relative;border-radius:calc(var(--r) + 4px);overflow:hidden;aspect-ratio:21/9;min-height:360px;background:var(--graphite)}
.wide img{width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(1.05);transition:transform 1.4s var(--ease)}
.wide:hover img{transform:scale(1.03)}
.wide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,0) 45%,rgba(13,13,13,.55))}
.wide .cap{position:absolute;left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);bottom:clamp(20px,3vw,36px);z-index:1;display:flex;justify-content:space-between;align-items:end;gap:20px;color:var(--on-dark)}
.wide .cap .big{font-size:clamp(26px,3.2vw,48px);letter-spacing:-.04em;line-height:1.02;font-weight:500;max-width:18ch}
.source-cols{margin-top:clamp(40px,4.5vw,72px)}
.source-cols .label{grid-column:1/span 3;align-self:start;margin-top:6px}
.source-cols p{font-size:clamp(18px,1.4vw,21px);line-height:1.55}
.source-cols p:nth-of-type(1){grid-column:4/span 4}
.source-cols p:nth-of-type(2){grid-column:9/span 4;color:var(--mute)}

/* Advantage */
.adv{padding-block:var(--sec);border-top:1px solid var(--line)}
.adv-head{align-items:end}
.adv-head h2{grid-column:1/span 8;font-size:clamp(46px,7.4vw,116px);line-height:.95;letter-spacing:-.055em}
.adv-head h2 .q{color:var(--red)}
.adv-head figure{grid-column:10/span 3;margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4}
.adv-head figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.5) contrast(1.05);transition:transform 1s var(--ease)}
.adv-head figure:hover img{transform:scale(1.03)}
.adv-grid{margin-top:clamp(56px,6vw,96px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-strong)}
.adv-item{padding:clamp(28px,3.4vw,52px) clamp(0px,3vw,48px) clamp(28px,3.4vw,52px) 0;border-bottom:1px solid var(--line-strong);display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,2.4vw,40px);transition:background-color .4s}
.adv-item:nth-child(even){padding-left:clamp(20px,3vw,48px);padding-right:0;border-left:1px solid var(--line-strong)}
.adv-item .ic{display:block;color:var(--ink);transition:transform .45s var(--ease)}
.adv-item .ic svg{width:64px;height:64px;display:block}
.adv-item .ic svg *{vector-effect:non-scaling-stroke;stroke-width:1.5px}
.adv-item .ic .ac{stroke:var(--red)}
.adv-item:hover .ic{transform:translateY(-4px)}
.adv-item h3{font-size:clamp(26px,2.5vw,38px);line-height:1.06;letter-spacing:-.035em}
.adv-item p{margin-top:16px;color:var(--mute);max-width:40ch}

/* ECIB dark */
.ecib{position:relative;background:var(--ink);color:var(--on-dark);overflow:hidden;padding-block:var(--sec)}
.ecib .bg{position:absolute;inset:0;z-index:0}
.ecib .bg img{width:100%;height:100%;object-fit:cover;opacity:.26;filter:grayscale(.6) contrast(1.1)}
.ecib .bg::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 88% 18%,rgba(215,25,18,.42),transparent 62%),linear-gradient(180deg,rgba(13,13,13,.55),rgba(13,13,13,.92) 70%,var(--ink));z-index:1}
.ecib .bg::after{content:"";position:absolute;inset:0;z-index:2;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ecib .wrap{position:relative;z-index:1}
.ecib-sphere{position:absolute;z-index:0;right:-9%;top:-6%;width:min(58vw,820px);opacity:.26;pointer-events:none;animation:sphere-spin 60s linear infinite}
@keyframes sphere-spin{to{transform:rotate(360deg)}}
.ecib .label{color:var(--on-dark-mute)}
.ecib-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:1px solid var(--line-dark);padding-bottom:22px}
.ecib-top .kind{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-mute);text-align:right}
.ecib-title{margin-top:clamp(40px,5vw,80px);align-items:end}
.ecib-title h2{grid-column:1/span 9;font-size:clamp(48px,8.4vw,132px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;font-weight:500}
.ecib-title .yr{grid-column:10/span 3;justify-self:end;font-size:clamp(64px,9vw,148px);line-height:.8;letter-spacing:-.06em;font-weight:300;color:var(--red);font-variant-numeric:tabular-nums}
.ecib-sub{margin-top:26px;font-family:var(--mono);font-size:clamp(12px,1vw,14px);letter-spacing:.32em;text-transform:uppercase;color:var(--on-dark-mute)}
.ecib-body{margin-top:clamp(56px,6vw,96px)}
.ecib-body .intro{grid-column:1/span 6}
.ecib-body .intro h3{font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;text-transform:none}
.ecib-body .intro p{margin-top:18px;color:var(--on-dark-mute);font-size:17.5px;max-width:52ch}
.ecib-body .intro .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.pillars{grid-column:8/span 5;align-self:start}
.pillars h4{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-mute);padding-bottom:14px}
.pillars ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-dark)}
.pillars li{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-dark);font-size:clamp(18px,1.45vw,22px);letter-spacing:-.02em;transition:padding .4s var(--ease),color .3s}
.pillars li::before{content:"";width:8px;height:8px;border:1px solid var(--red);border-radius:1px;flex:none;transition:background-color .3s}
.pillars li:hover{padding-left:10px}
.pillars li:hover::before{background:var(--red)}
.venue{margin-top:clamp(56px,6vw,96px);padding-top:clamp(40px,4vw,56px);border-top:1px solid var(--line-dark);align-items:start}
.venue-txt{grid-column:1/span 6}
.venue-txt p{margin-top:18px;color:var(--on-dark-mute);font-size:17px;max-width:54ch}
.venue-card{grid-column:8/span 5;margin:0;display:grid;gap:0;border:1px solid var(--line-dark);border-radius:var(--r);padding:8px 24px;background:rgba(244,244,240,.04);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.venue-card div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--line-dark)}
.venue-card div:first-child{border-top:0}
.venue-card dt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-mute);padding-top:4px}
.venue-card dd{margin:0;font-size:clamp(17px,1.4vw,21px);letter-spacing:-.015em}

/* Newsletter */
.field-line{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line-strong);border-radius:999px;padding:6px 6px 6px 22px;transition:border-color .3s}
.field-line:focus-within{border-color:var(--ink)}
.field-line input{flex:1;min-width:0;border:0;background:transparent;outline:none;height:44px;font-size:16px}
.field-line button{height:46px;border:0;border-radius:999px;background:var(--ink);color:var(--white);padding:0 20px;cursor:pointer;font-size:14.5px;font-weight:500;white-space:nowrap;transition:background-color .3s,transform .3s var(--ease)}
.field-line button:hover{background:var(--red);transform:translateY(-1px)}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.status.ok{color:#1F7A3A}
.status.err{color:var(--red)}
.btn[disabled]{opacity:.6;pointer-events:none}
.status{font-size:14px;color:var(--mute);min-height:1.4em}

/* Articles */
.arts{padding-block:var(--sec)}
.arts-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line-strong)}
.arts-head h2{font-size:clamp(38px,4.6vw,70px);line-height:1;letter-spacing:-.045em}
.arts-grid{margin-top:clamp(28px,3vw,44px)}
.art{display:flex;flex-direction:column;gap:22px;cursor:default}
.art:nth-child(1){grid-column:1/span 7}
.art:nth-child(2){grid-column:9/span 4;padding-top:clamp(0px,8vw,140px)}
.art figure{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;background:var(--graphite)}
.art:nth-child(2) figure{aspect-ratio:4/5}
.art figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform 1s var(--ease)}
.art:hover figure img{transform:scale(1.03)}
.art .meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);display:flex;gap:10px;align-items:center}
.art h3{font-size:clamp(24px,2.3vw,36px);line-height:1.08;letter-spacing:-.035em;transition:color .3s}
.art:hover h3{color:var(--red)}
.art p{color:var(--mute);max-width:52ch}

/* Contact */
.contact{padding-bottom:var(--gap)}
.cbento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.c-form{grid-column:1/span 7;grid-row:span 2;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3.6vw,56px)}
.c-form h2{font-size:clamp(36px,4.2vw,64px);line-height:1.02;letter-spacing:-.045em}
.c-form h2 span{color:var(--red)}
.c-form .lead{margin-top:20px;color:var(--mute);max-width:48ch}
.c-form .lead b{color:var(--ink);font-weight:500;white-space:nowrap}
.c-form form{margin-top:36px;display:grid;gap:14px}
.fl{position:relative}
.fl label{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.fl input,.fl textarea{width:100%;border:0;border-bottom:1px solid var(--line-strong);background:transparent;padding:10px 0 12px;font-size:18px;outline:none;border-radius:0;transition:border-color .3s}
.fl textarea{min-height:110px;resize:vertical}
.fl input:focus,.fl textarea:focus{border-color:var(--ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--mute);cursor:pointer}
.consent input{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:none;margin-top:2px;border:1px solid var(--line-strong);border-radius:5px;background:var(--white);display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s}
.consent input:checked{background:var(--ink);border-color:var(--ink)}
.consent input:checked::after{content:"";width:9px;height:5px;border-left:1.6px solid var(--white);border-bottom:1.6px solid var(--white);transform:translateY(-1px) rotate(-45deg)}
.c-form .send{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:14px}
.c-photo{grid-column:8/span 5;border-radius:var(--r);overflow:hidden;min-height:340px;position:relative}
.c-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.6);transition:transform 1s var(--ease)}
.c-photo:hover img{transform:scale(1.03)}
.c-photo .chip{position:absolute;left:18px;top:18px}
.c-ask{grid-column:8/span 5;background:var(--ink);color:var(--on-dark);border-radius:var(--r);padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden}
.c-ask::before{content:"";position:absolute;width:340px;height:340px;right:-140px;top:-160px;background:radial-gradient(circle,rgba(215,25,18,.45),transparent 65%)}
.ask-sphere{position:absolute;right:-90px;bottom:-110px;width:320px;opacity:.4;pointer-events:none;animation:sphere-spin 80s linear infinite}
.c-ask h3{font-size:clamp(30px,3vw,44px);letter-spacing:-.04em;line-height:1;position:relative}
.c-rows{display:grid;gap:0;position:relative}
.c-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:14px 0;border-top:1px solid var(--line-dark)}
.c-row .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-mute)}
.c-row .v{font-size:clamp(16px,1.3vw,19px);letter-spacing:-.01em;text-align:left;min-width:0;overflow-wrap:anywhere}
.c-row .copy{justify-self:end;white-space:nowrap}
a.copy{display:inline-block}
.c-row .v a:hover{color:var(--red)}
.copy{border:1px solid var(--line-dark);background:transparent;color:var(--on-dark-mute);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:5px 10px;cursor:pointer;transition:color .25s,border-color .25s}
.copy:hover{color:var(--on-dark);border-color:rgba(244,244,240,.4)}

/* Footer */
.ftr{background:var(--ink);color:var(--on-dark);margin-top:var(--gap);padding-block:clamp(56px,6vw,96px) 32px;overflow:hidden}
.ftr-top{align-items:end;border-bottom:1px solid var(--line-dark);padding-bottom:clamp(40px,4vw,64px)}
.ftr-brand{grid-column:1/span 5;display:flex;align-items:flex-end;gap:24px}
.ftr-brand img{height:clamp(84px,8vw,120px);width:auto}
.ftr-brand .n{font-size:clamp(22px,2vw,30px);letter-spacing:-.03em;line-height:1.1;padding-bottom:6px}
.ftr-brand .n small{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-mute);margin-top:10px}
.ftr-col{font-size:15px;line-height:1.75;color:var(--on-dark-mute)}
.ftr-col h5{margin:0 0 12px;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark)}
.ftr-col a{color:var(--on-dark-mute);transition:color .25s}
.ftr-col a:hover{color:var(--on-dark)}
.nw{white-space:nowrap}
.ftr-col:nth-of-type(2){grid-column:6/span 2}
.ftr-col:nth-of-type(3){grid-column:8/span 2}
.ftr-col:nth-of-type(4){grid-column:10/span 3}
.ftr-col:nth-of-type(5){grid-column:12/span 1}
.ftr-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-mute)}
.ftr-bot nav{display:flex;gap:22px;flex-wrap:wrap}

/* Reveal: content is visible by default; JS only adds motion */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}
.hero .h1{animation:rise 1s var(--ease) both}
.hero .hero-sub{animation:rise 1s .12s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}}

/* Responsive */
@media (max-width:1180px){
  .nav{gap:22px}
  .hdr .btn .t{display:none}
  .hdr .btn{padding:0 6px}
}
@media (max-width:1020px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile.big{grid-column:span 2;grid-row:auto;min-height:440px}
  .nav,.hdr .btn,.mnav .langs{display:none}
  .burger{display:grid}
  /* Mobile: language switch stays in the header bar, left of the burger */
  .hdr .wrap{gap:10px}
  .hdr .langs{margin-left:auto;flex:none}
  .hdr .langs a{display:flex;align-items:center;min-height:38px;padding:0 10px}
  .hdr .burger{margin-left:0;flex:none}
  .mnav{display:block;position:fixed;inset:0;top:0;z-index:40;background:var(--paper);padding:110px var(--pad) 40px;transform:translateY(-100%);transition:transform .55s var(--ease);visibility:hidden}
  .menu-open .mnav{transform:none;visibility:visible}
  .mnav a.big{display:flex;justify-content:space-between;align-items:center;font-size:clamp(34px,8vw,52px);letter-spacing:-.04em;padding:12px 0;border-bottom:1px solid var(--line)}
  .mnav .row{display:flex;justify-content:space-between;align-items:center;margin-top:32px;gap:16px;flex-wrap:wrap}
  .hm-photo{grid-column:1/-1}
  .statement .label,.about .label,.offer-head .label,.source-cols .label{grid-column:1/-1;margin-top:0}
  .statement .txt,.about h2,.offer-head h2{grid-column:1/-1;margin-top:18px}
  .meaning .glyph{grid-column:1/span 5}
  .meaning blockquote{grid-column:6/span 7}
  .ab-people{grid-column:1/span 6;min-height:420px}
  .ab-text{grid-column:7/span 6;grid-template-columns:1fr}
  .ab-aerial{grid-column:7/span 6;grid-row:auto;min-height:260px}
  .ph-l,.ph-r{grid-column:1/-1}
  .ph-r{margin-top:18px}
  .timeline{grid-template-columns:1fr;margin-top:48px}
  .tl{border-top:0;border-left:1px solid rgba(255,255,255,.34);padding:0 0 40px 32px}
  .tl:last-child{padding-bottom:0}
  .tl::before{left:-6px;top:2px}
  .tl::after{top:0;bottom:0;left:-1px;right:auto;width:1px;height:auto;transform:scaleY(0);transform-origin:top}
  .tl:hover::after{transform:scaleY(1)}
  .tl h3{margin-top:14px;min-height:0}
  .offer-cols p:nth-child(1){grid-column:1/span 6}
  .offer-cols p:nth-child(2){grid-column:7/span 6}
  .source-cols p:nth-of-type(1){grid-column:1/span 6;margin-top:16px}
  .source-cols p:nth-of-type(2){grid-column:7/span 6;margin-top:16px}
  .adv-head h2{grid-column:1/span 9}
  .adv-head figure{grid-column:10/span 3}
  .ecib-body .intro,.pillars,.venue-txt,.venue-card{grid-column:1/-1}
  .venue-card{margin-top:28px}
  .pillars{margin-top:48px}
  .c-form{grid-column:1/-1;grid-row:auto}
  .c-photo{grid-column:1/span 6}
  .c-ask{grid-column:7/span 6}
  .ftr-brand{grid-column:1/-1;margin-bottom:36px}
  .ftr-col:nth-of-type(2){grid-column:1/span 3}
  .ftr-col:nth-of-type(3){grid-column:4/span 3}
  .ftr-col:nth-of-type(4){grid-column:7/span 3}
  .ftr-col:nth-of-type(5){grid-column:10/span 3}
}
@media (max-width:720px){
  body{font-size:16px}
  .g12,.cbento{grid-template-columns:minmax(0,1fr)}
  .g12>*,.cbento>*{grid-column:1/-1 !important}
  .hero-top .coords i{display:none}
  .hero-sub .cta{justify-content:flex-start;margin-top:8px}
  .hero-sub .cta .scroll{display:none}
  .hm-photo{aspect-ratio:4/3.2}
  .hero{min-height:auto}
  .hero-bg img{position:absolute;top:0;left:-30%;width:160%;max-width:none;height:auto}
  .hero-in{padding-top:calc(160vw / 1.777 - 40px)}
  .hero-bg::after{background:linear-gradient(180deg,rgba(13,13,13,.25) 0,rgba(13,13,13,0) 70px,rgba(13,13,13,0) calc(160vw / 1.777 - 150px),var(--ink) calc(160vw / 1.777 - 10px))}
  .hero-bg::before{display:none}
  .meaning .glyph img{width:190px}
  .ab-people{min-height:380px;grid-row:auto}
  .ab-aerial{aspect-ratio:auto;height:260px;min-height:0}
  .ab-text{grid-template-columns:1fr}
  .bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .tile,.tile.big{grid-column:auto;grid-row:auto;min-height:300px}
  .tile.big{min-height:420px}
  .wide{aspect-ratio:auto;height:440px}
  .adv-head figure{aspect-ratio:16/10;margin-top:28px}
  .adv-grid{grid-template-columns:1fr}
  .adv-item,.adv-item:nth-child(even){padding-left:0;padding-right:0;border-left:0}
  .ecib-title .yr{justify-self:start;margin-top:16px}
  .ecib-top{flex-direction:column}
  .ecib-top .kind{text-align:left}
  .art:nth-child(2){padding-top:24px}
  .two{grid-template-columns:1fr;gap:14px}
  .ftr-brand img{height:76px}
  .ftr-col{margin-top:20px}
  .field-line{flex-wrap:wrap;border-radius:22px;padding:6px}
  .field-line input{padding-left:14px;flex-basis:100%}
  .field-line button{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
  .js .rv{opacity:1;transform:none}
}
