@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#050505; --paper:#f4f2ed; --muted:#969696; --line:rgba(244,242,237,.15); --yellow:#fdb913; --green:#006a44; --red:#c1272d; }
* { box-sizing:border-box; }
html { background:var(--ink); scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--paper); background:var(--ink); font-family:Manrope,Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.page { position:relative; min-height:100vh; overflow:hidden; }
.smoke { position:absolute; z-index:0; width:62vw; height:62vw; min-width:520px; min-height:520px; border-radius:50%; filter:blur(85px); opacity:.15; pointer-events:none; background:radial-gradient(circle at 35% 35%,#4b546c 0,rgba(65,74,98,.55) 18%,rgba(28,32,43,.25) 42%,transparent 68%); animation:drift 20s ease-in-out infinite alternate; }
.smoke.one { top:-29vw; right:-18vw; }
.smoke.two { width:45vw; height:45vw; bottom:-24vw; left:-17vw; opacity:.1; animation-delay:-9s; background:radial-gradient(circle,#756562 0,rgba(92,72,73,.4) 30%,transparent 70%); }
@keyframes drift { from { transform:translate3d(-2%,1%,0) scale(.93); } to { transform:translate3d(6%,-5%,0) scale(1.1); } }
.nav { position:relative; z-index:3; display:flex; justify-content:space-between; align-items:center; width:min(1440px,100%); margin:auto; padding:28px 5vw; }
.wordmark { font-size:13px; font-weight:800; letter-spacing:.2em; }
.nav-logo { display:block; width:46px; height:46px; object-fit:contain; }
.corner-mark { position:absolute; z-index:2; right:18px; bottom:18px; width:34px; height:34px; object-fit:contain; opacity:.35; }
.nav-links { display:flex; align-items:center; gap:26px; font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.08em; color:#aaa; }
.nav-links a { transition:color .2s ease; }
.nav-links a:hover,.nav-links a[aria-current="page"] { color:var(--paper); }
.menu-toggle { display:none; border:0; background:transparent; color:white; font:11px 'DM Mono',monospace; letter-spacing:.1em; }
.rule { width:100%; height:1px; background:var(--line); }
.eyebrow { font:10px 'DM Mono',monospace; letter-spacing:.16em; color:#a7a7a7; text-transform:uppercase; }
.hero { position:relative; z-index:1; display:grid; place-items:center; min-height:calc(100vh - 86px); padding:5vh 5vw 8vh; text-align:center; }
.hero-copy { position:absolute; bottom:8vh; left:5vw; text-align:left; }
.hero-copy h1 { max-width:330px; margin:12px 0 0; font-size:clamp(22px,2.4vw,36px); font-weight:500; letter-spacing:-.045em; line-height:1.13; }
.hero-side { position:absolute; right:5vw; bottom:8vh; color:#909090; text-align:right; line-height:1.7; }
.logo-stage { position:relative; width:min(440px,72vw); aspect-ratio:1; display:grid; place-items:center; perspective:1000px; }
.logo-stage:before { content:""; position:absolute; width:80%; height:17%; bottom:13%; border-radius:50%; background:#000; filter:blur(28px); opacity:.9; }
.logo-stage:after { content:""; position:absolute; width:100%; height:100%; border:1px solid rgba(255,255,255,.08); border-radius:50%; transform:scale(.74); }
.logo-card { position:relative; width:78%; transform-style:preserve-3d; transition:transform .25s ease-out; animation:float 6s ease-in-out infinite; }
.logo-card img { display:block; width:100%; box-shadow:0 34px 70px rgba(0,0,0,.8); transform:translateZ(28px); }
.hero-goma { position:relative; z-index:1; display:block; width:82%; object-fit:contain; filter:drop-shadow(0 34px 38px rgba(0,0,0,.8)); transform:translateZ(28px); }
@keyframes float { 50% { transform:translateY(-13px) rotateX(2deg) rotateY(-2deg); } }
.redline { position:absolute; z-index:2; width:86px; height:2px; bottom:0; left:50%; transform:translateX(-50%); background:linear-gradient(90deg,var(--yellow) 0 33%,var(--green) 33% 66%,var(--red) 66%); }
.intro { position:relative; z-index:1; width:min(1160px,90vw); margin:0 auto; padding:13vh 0 14vh; }
.intro h1 { margin:15px 0 25px; max-width:850px; font-size:clamp(38px,6vw,88px); letter-spacing:-.07em; line-height:.97; font-weight:500; }
.intro p { max-width:550px; font-size:17px; line-height:1.7; color:#b5b5b5; }
.section-grid { position:relative; z-index:1; width:min(1160px,90vw); margin:auto; padding:4vh 0 14vh; }
.page-title { display:grid; grid-template-columns:1fr 2fr; gap:40px; padding:2vh 0 7vh; border-top:1px solid var(--line); }
.page-title h1 { margin:0; font-size:clamp(38px,5vw,68px); font-weight:500; letter-spacing:-.065em; }
.page-title p { max-width:480px; margin:8px 0 0; color:#aaa; line-height:1.7; }
.button { display:inline-flex; align-items:center; gap:16px; margin-top:26px; padding:14px 17px; border:1px solid rgba(255,255,255,.32); font:10px 'DM Mono',monospace; letter-spacing:.12em; transition:.2s; }
.button:hover { background:var(--paper); color:var(--ink); }
.button .arrow { font-size:16px; line-height:0; }
.footer { position:relative; z-index:2; display:flex; justify-content:space-between; padding:24px 5vw; border-top:1px solid var(--line); color:#717171; font:10px 'DM Mono',monospace; letter-spacing:.08em; }
.testimonial-list { border-top:1px solid var(--line); }
.testimonial { display:grid; grid-template-columns:1fr 2fr 130px; gap:35px; padding:35px 0; border-bottom:1px solid var(--line); }
.testimonial q { font-size:clamp(20px,2.4vw,31px); line-height:1.25; letter-spacing:-.04em; }
.principles { border-top:1px solid var(--line); }
.principle { display:grid; grid-template-columns:1fr 2fr; gap:35px; padding:35px 0; border-bottom:1px solid var(--line); }
.principle h2 { margin:0; font-size:clamp(26px,3vw,42px); font-weight:500; letter-spacing:-.06em; }
.principle p { margin:0; max-width:680px; color:#bbb; font-size:16px; line-height:1.75; }
.landing-principles { position:relative; z-index:1; width:min(1160px,90vw); margin:0 auto; padding:8vh 0 14vh; }
.landing-principles .lead { max-width:650px; margin:17px 0 54px; color:#aaa; font-size:18px; line-height:1.75; }
.principles-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.principle-card { min-height:290px; padding:31px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.015); transition:background .4s ease,transform .4s ease; }
.principle-card:hover { background:rgba(255,255,255,.06); transform:translateY(-7px); }
.principle-card h2 { margin:12px 0 17px; font-size:clamp(28px,3.3vw,45px); font-weight:500; letter-spacing:-.06em; }
.principle-card p { margin:0; max-width:470px; color:#aaa; font-size:14px; line-height:1.75; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
.reveal:nth-child(2) { transition-delay:.1s; }.reveal:nth-child(3) { transition-delay:.2s; }.reveal:nth-child(4) { transition-delay:.3s; }
.placeholder-tag { color:#888; font:9px 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.person { color:#b8b8b8; font-size:13px; line-height:1.6; }
.philanthropy-feature { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.75fr); align-items:stretch; margin:6vh 0 0; border:1px solid rgba(255,255,255,.26); }
.philanthropy-image { display:block; width:100%; height:100%; min-height:680px; object-fit:cover; object-position:center 38%; filter:grayscale(22%) contrast(1.06) brightness(.85); }
.philanthropy-copy { display:flex; flex-direction:column; justify-content:flex-start; padding:34px; background:rgba(255,255,255,.025); }
.philanthropy-copy h2 { margin:10px 0 17px; font-size:clamp(25px,3vw,42px); font-weight:500; letter-spacing:-.06em; line-height:1; }
.philanthropy-copy p { margin:0; color:#aaa; font-size:14px; line-height:1.75; }
.philanthropy-copy p + p { margin-top:18px; }
.image-placeholder:before,.image-placeholder:after { content:""; position:absolute; width:95%; height:1px; background:rgba(255,255,255,.12); transform:rotate(27deg); }
.image-placeholder:after { transform:rotate(-27deg); }
.image-placeholder span { position:relative; z-index:1; font-size:clamp(24px,4vw,56px); letter-spacing:.13em; font-weight:600; }
.image-placeholder small { position:absolute; right:20px; bottom:18px; color:#888; font:9px 'DM Mono',monospace; letter-spacing:.12em; }
.structure { margin-top:2vh; padding-bottom:13vh; }
.tree-root { width:min(430px,100%); margin:0 auto; padding:23px; border:1px solid rgba(255,255,255,.48); text-align:center; font-size:16px; letter-spacing:.12em; font-weight:700; }
.core-branches { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; position:relative; margin-bottom:46px; }
.core-branch { min-height:300px; padding:27px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.018); }
.core-branch.wide { grid-column:1 / -1; min-height:0; }
.core-branch h2 { margin:12px 0 16px; font-size:clamp(25px,3vw,40px); font-weight:500; letter-spacing:-.06em; }
.core-branch p { max-width:720px; margin:0; color:#aaa; font-size:13px; line-height:1.75; }
.stem { width:1px; height:54px; margin:auto; background:rgba(255,255,255,.35); }
.branches { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; padding-top:25px; }
.branches:before { content:""; position:absolute; top:0; left:16.7%; right:16.7%; height:1px; background:rgba(255,255,255,.35); }
.division { position:relative; min-height:210px; padding:24px; border:1px solid var(--line); background:rgba(255,255,255,.018); }
.division:before { content:""; position:absolute; left:50%; top:-26px; width:1px; height:26px; background:rgba(255,255,255,.35); }
.division h2 { margin:10px 0 24px; font-size:19px; letter-spacing:-.04em; font-weight:500; }
.division-logo { display:block; width:100%; aspect-ratio:1.25; margin:-5px 0 16px; object-fit:contain; background:#000; }
.division ul { margin:0; padding:0; list-style:none; color:#999; font-size:12px; line-height:2; }
.division li:before { content:"— "; color:#555; }
.branches.logo-branches { grid-template-columns:repeat(3,1fr); gap:16px; padding-top:0; }
.branches.logo-branches:before,.logo-branches .division:before { display:none; }
.logo-branches .division { min-height:0; padding:14px; }
.logo-branches .division h2 { margin:0; font-size:14px; color:#bcbcbc; }
.branch-meta { margin:0 0 10px; color:#777; font:9px 'DM Mono',monospace; letter-spacing:.12em; }
.logo-branches .division p { margin:0; color:#949494; font-size:12px; line-height:1.6; }
.read-more { display:inline-flex; margin-top:16px; color:var(--paper); font:9px 'DM Mono',monospace; letter-spacing:.12em; border-bottom:1px solid rgba(255,255,255,.45); padding-bottom:4px; }
.read-more:hover { color:#aaa; }
.company-profile { position:relative; z-index:1; width:min(1160px,90vw); margin:0 auto; padding:7vh 0 14vh; }
.company-profile-head { display:grid; grid-template-columns:minmax(240px,.9fr) 1.2fr; gap:7vw; align-items:center; padding:7vh 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.company-logo { display:block; width:100%; max-width:430px; aspect-ratio:1; object-fit:contain; background:#000; }
.company-profile h1 { margin:8px 0 18px; font-size:clamp(42px,6vw,82px); letter-spacing:-.075em; line-height:.94; font-weight:500; }
.company-meta { display:flex; gap:24px; margin:0 0 24px; color:#9c9c9c; font:10px 'DM Mono',monospace; letter-spacing:.12em; }
.company-profile p { max-width:660px; margin:0; color:#b7b7b7; font-size:16px; line-height:1.85; }
.company-return { margin-top:38px; }
@media (max-width:700px) { .nav { padding:22px 6vw; } .menu-toggle{display:block}.nav-links { display:none; position:absolute; top:68px; right:5vw; flex-direction:column; align-items:flex-end; padding:17px; background:#101010; border:1px solid var(--line); } .nav-links.open{display:flex}.hero-copy { bottom:9vh; }.hero-side { display:none; }.page-title,.testimonial,.principle{grid-template-columns:1fr;gap:14px}.page-title { padding-top:5vh; }.testimonial,.principle { padding:28px 0; }.principles-grid{grid-template-columns:1fr}.principle-card{min-height:0;padding:27px}.philanthropy-feature{grid-template-columns:1fr}.philanthropy-image{min-height:540px;max-height:640px}.philanthropy-copy{padding:26px}.core-branches{grid-template-columns:1fr}.core-branch.wide{grid-column:auto}.branches{grid-template-columns:1fr;gap:0;padding-top:0}.branches.logo-branches{grid-template-columns:repeat(2,1fr);gap:9px}.branches:before,.division:before{display:none}.division{min-height:0;border-bottom:0}.division:last-child{border-bottom:1px solid var(--line)}.footer {font-size:8px;}.smoke{opacity:.12} }
@media (max-width:700px) { .company-profile-head{grid-template-columns:1fr;gap:26px}.company-logo{max-width:260px}.company-meta{gap:14px;flex-wrap:wrap} }
